楼主的提问,遇着不知情者,实在无从回答起吧....
我猜这是上一题的延续,一个GetMd的子程序,输入月份1-12,回转是适当月天数,是不?
不考虑闰年的情况下,可以有多种写法,下面是其中一种,
使用方法:
mov ax,月份 ;
1-12
call GetMd
;
输出 :cf=1,ax=-1,失败,因为输入ax=0或 ax>12
;
输出 :cf=0 ax=该月天数(不考虑闰年,2月=28)
;
jnc 成功则跳到...
;
或jc 失败则跳到...
...
...
mov ax,2 ;例子,2
call GetMd ; 例子,cf=0,且ax=28
..
..
..
GETMD proc near
jmp short MyMd
monthday db 31,28,31,30,31,30,31,31,30,31,30,31
MyMd:
push ds
push bx
push cs
pop ds
lea bx,monthday
dec ax
cmp ax,11
ja MdErr
xlatb
clc
jmp short MdOk
MdErr:
mov ax,-1
stc
MdOk:
pop bx
pop ds
ret
GETMD endp