例6.9 根据当前计算机的时间和日期,显示上午(AM)或下午(PM),以及所在的季节。
解:
DATA1 | SEGMENT | |||
MSG | DB "Time: " | |||
AmPm | DB "AM", 13, 10 | |||
DB "Season: $" | ||||
winter | DB "Winter$" | |||
spring | DB "Spring$" | |||
summer | DB "Summer$" | |||
autumn | DB "Autumn$" | |||
DATA1 | ENDS | |||
CODE1 | SEGMENT | |||
… | ||||
MOV AH, 2CH | ;取当前系统时间 | |||
INT 21H | ||||
.IF CH >= 12 | ;下午时间 | |||
MOV AmPm, 'P' | ;为显示PM作安排 | |||
.ENDIF | ||||
MOV DX, OFFSET MSG | ||||
MOV AH, 09H | ||||
INT 21H | ;显示字符串MSG,直到'$'结束 | |||
MOV AH, 2AH | ||||
INT 21H | ;取当前系统日期 | |||
.IF (DH == 12) || (DH < 3) | ;判断是否为12月,1月和2月 | |||
MOV DX, OFFSET winter | ||||
.ELSEIF (DH >= 3) && (DH < 6) | ;判断是否为3、4和5月 | |||
MOV DX, OFFSET spring | ||||
.ELSEIF (DH >= 6) && (DH < 9) | ;判断是否为6、7和8月 | |||
MOV DX, OFFSET summer | ||||
.ELSE | ;9、10和11月 | |||
MOV DX, OFFSET autumn | ||||
.ENDIF | ||||
MOV AH, 09H | ;显示季度名称 | |||
INT 21H | ||||
… | ||||
END |