标签归档:汇编

计算农历的函数汇编原码(1)/zz/

;>>>>>>>>>>>农历计算函数原代码<<<<<<<<<<<<<<<<<
;=============检测阳历对应年份是否闰年==========
;       输入:年份
;       输出:eax = 1 是闰年,否则 eax = 0
_IsLeapYear proto dwYear:dword
;=============取阳历对应年月的天数==============
;       输入:年份,月份
;       输出:eax = 天数
_GetMonthDays proto dwYear:dword,dwMonth:dword
;=============取阳历对应星期几==================
;       输入:年份,月份,日
;       输出:eax=星期,星期日=0,星期一=1…
_GetWeekDay proto dwYear:dword,dwMonth:dword,dwDay:dword
;=============取对应阳历月的节气日==============
;       输入:年份,月份
;       输出:al =第一节气日,ah =第二节气日
_sTermOff proto dwYear:dword,dwMonth:dword
;=============取对应阳历日期的节气序号==========
;       输入:年份,月份,日
;       输出:eax=节气序号,小寒=1,大寒=2…
_GetHolDay proto dwYear:dword,dwMonth:dword,dwDay:dword
;=103f============取两个阳历日期之间的天数==========
;       输入:年份1,月份1,日1,年份2,月份2,日2(第一个为被减数)
;       输出:天数

继续阅读

计算农历的函数汇编原码(2)/zz/

;===============================================
HgnMs           dq      31556925.9747   ;每回归年秒数
OneDay          dd      86400           ;每天秒数
sTermInfo       dw      0,0,51,212,505,974,1619,2465,3485,4679,5992,7405,8847,10285,\
11651,12913,14022,14958,15703,16258,16635,16856,16956,16974
_sTermOff       proc    dwYear:dword,dwMonth:dword
local   @Temp1:dword,@Temp2
local   @Rag1:word,@Rag2:word

继续阅读

汇编版Hello

DATAS SEGMENT ;数据段开始
STRING DB ‘hello Wowrld!’,’$’ ;定义一个字符串,以$为结束标志
DATAS ENDS ; 数据段结束

CODES SEGMENT ;代码段开始
ASSUME CS:CODES,DS:DATAS ;通知汇编程序,源程序中定义的组由对应的段寄存器进行段的寻址
START:
MOV AX,DATAS ;实现段址DATAS加载到DS
MOV DS,AX
LEA DX,STRING ;取STRING的偏移地址存到DX中
MOV AH,9 ;调用9号功能号输出字符串
INT 21H

MOV AH,4CH ;实现返回MS-DOS
INT 21H
CODES ENDS ;代码段结束
END START ;源程序模块结束

汇编版Hello

DATAS SEGMENT ;数据段开始
STRING DB ‘hello Wowrld!’,’$’ ;定义一个字符串,以$为结束标志
DATAS ENDS ; 数据段结束

CODES SEGMENT ;代码段开始
ASSUME CS:CODES,DS:DATAS ;通知汇编程序,源程序中定义的组由对应的段寄存器进行段的寻址
START:
MOV AX,DATAS ;实现段址DATAS加载到DS
MOV DS,AX
LEA DX,STRING ;取STRING的偏移地址存到DX中
MOV AH,9 ;调用9号功能号输出字符串
INT 21H

MOV AH,4CH ;实现返回MS-DOS
INT 21H
CODES ENDS ;代码段结束
END START ;源程序模块结束