获取系统时间并显示源程序outtime.asm
DATA SEGMENT
MESSGE DB OAH,'GET TIME OK!!!!',OAH,ODH,'S'
DATA ENDS
STACK SEGMECT PARA STACK 'STACK'
DB 100 DUP(?)
STACK ENDS
GODE SEGMENT PARA
MAIN PROC FAR
ASSUME CS:CODE, DS:DATA, SS:STACK
START: MOV AX,DATA
MOV DS,AX
MOV AH,2CH;
INT 21H
MOV BL,3;
PUSH DX;
PUSH CX;
CYCLE: POP AX;
MOV DH,AL;
MOV AL,AH;
MOV AH,0;
MOV BH,10
MOV BH,10
DIV BH;
CALL OUTTIME;
MOV dl,':'
MOV AH,02h
INT 21h;
MOV AL,DH;
MOV AH,0;
MOV BH,10
DIV BH;
CALL OUTTIME;
MOV dl,''
MOV ah,02h;
DEC BL
CMP BL,1
JNBE CYCLE;
MOV DX,OFFSET MESSGE
MOV AH,9
INT 21H;
JMP START;
MOV AH,4CH
INT 21H
MAIN ENDP
OUTTIME PROC NEAR
MOV BH,AL;
MOV CH,AH;
MOV CL,3
NEXT: ADD BH,30H;
MOV DL,BH
MOV AH,02H
INT 21H;
MOV BH,CH;
DEC CL
CMP CL,1
JNBE NEXT;
RET
OUTTIME ENDP
CODE ENDS
END START
2.实验步骤
(1)首先确认磁盘上有汇编工具MASM,该汇编工具保存于D盘根目录的MASM文件夹,如无该工具,请自行复制建立。
(2)利用编辑工具输入源程序。在WINDOWS环境下,通过点击“开始”菜单→“程序”→“附件”→“记事本”,打开记事本的编辑窗口。 (3)将上述提供的源程序清单逐行输入。
(4)将输入的源程序另存为:outtime.asm文件。点击记事本左上角的“文件”菜单→点击“另存为”窗口,在“保存在”栏目处选择保存文件的位置。“文件名”栏目处输入:outtime.asm,在“保存类型”栏目处选择“所有文件”。操作无误后点击“保存”按钮。
(5)点击“开始”菜单→“程序”→“附件”→“命令提示符”,打开MS-DOS窗口。在光标处输入D:后回车,将当前目录转向D盘根目录。
(6)将MASM目录定为当前目录,键入命令:cd masm 并回车。
(7)对源程序进行汇编,键人命令:masm outtime.masm并回车,然后按提示操作。目标程序名取默认值,即为:outtime.obj。
(8)链接目标程序。键入命令:link outtime.obj并回车,然后按提示操作。可执行文件名默认值,即为;outtime.exe。
(9)运行可执行文件。键入命令:outtime.exe并回车,可在屏幕上看到运行结果。
(10)按TRCL+C键结束程序运行。
(11)退出操作系统命令界面。键入命令:exit按回车即可。
(二)通过系统调用测试操作系统的版本号
1. 参考源程序(本例功能:测试系统版本是否为 5.XX)
;PVE.ASM
DATA SEGMENT
MESSGE DB 0AH,0DH,'NOT DOS 5.XX VERSION',0AH,0DH,'$'
MESSGEL DB 0AH,0DH,'DOS 5.XX VERSION OK!!!',0AH,0DH,'$'
DATA ENDS
STACK SEGMENT PARA STACK 'STACK'
DB 100 DUP(?)
STACK ENDS
CODE SEGMENT PARA
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AH,30H
INT 21H
CMP AL,5
JE VEROK
MOV AH,09H
MOV DX,OFFSET MESSGE
INT 21H
MOV AH,4CH
INT 21H
VEROK: MOV DX,OFFSE MESSGEL
MOV AH,09
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START