微机原理课程设计报告书

. . . .

DIS 081CH DIS 071EH DIS 0720H DIS 0822H DIS 0924H DIS 0A26H

POP BX POP AX POP DX DISS MACRO X,Y MOV AH,02H XOR BH,BH

MOV DX,X

INT 10H

MOV DX,OFFSET Y

MOV AH,09H

.. .. ..

;用宏显示字符串

. . . .

INT 21H ENDM

PUSH AX PUSH BX PUSH DX

DISS 0F1AH,FU1 DISS 1227H,FU2 DISS 1439H,FU3 DISS 163FH,FU4 DISS 1842H,FU5 DISS 0004H,FU6 POP DX POP BX POP AX

CALL GO LOAD:

CALL IOSET CALL HALT .. .. .. ;赋值程序调用 ;等待开始信号程序调用

;光标置屏中央程序调用 . . . .

MOV DX,0

MOV CX,0 ;1/100秒与秒初值赋0 AGAIN:

CALL TIME ;延时程序调用 MOV AL,DL ;1/100秒值加1 ADD AL,1

DAA JC NEXT1 MOV DL,AL ;1/100 JMP DISPY NEXT1:

MOV DL,0 MOV AL,DH ADD AL,1 DAA

MOV DH,AL CMP AL,60H JE NEXT4 MOV DH,AL

JNE DISPY NEXT4: MOV DH,0

.. .. .. ;BCD码调整

;1/100秒等于100时清零 秒值存DL

; 1/100秒不等于100时显示 1/100秒值回零 ;秒值加1 ;秒值存DH ;秒值与60比较

;秒值为60时,向分值进一 ;秒值不为60时显示 ;秒值回零

; . . . .

MOV AL,CH ADD AL,1 DAA MOV CH,AL CMP CH,60H

JNE DISPY MOV CH,0 DISPY:

MOV BX,OFFSET BUFFER MOV AL,CH CALL TRAN INC BX INC BX MOV AL,DH

CALL TRAN INC BX INC BX

MOV AL,DL CALL TRAN

MOV [BX],AL PUSH BX

.. .. .. ;分值不为60时显示 ;分值回零

BCD码转ASCII码 ;秒值BCD码转ASCII码 ;1/100秒值BCD码转ASCII码

;显示程序;分值 . . . .

PUSH CX PUSH DX CALL IOSET

MOV DX,OFFSET BUFFER ;时间显示 MOV AH,09H INT 21H POP DX POP CX POP BX

MOV AH,0BH INT 21H AND AL,AL

JZ AGAIN MOV AH,08H INT 21H

CMP AL,'R' JNE NEXT2 MOV DL,0 MOV DH,0 JMP AGAIN

NEXT2: CMP AL,'E' JNE AGAIN .. .. .. ;判断是否有键盘输入;无键入则转计时程序 ;键入控制符 ;判断是否为复位信号 ;键入为复位信号则复位后继续计时;判断是否为结束信号

;若为非结束信号则计时继续

;若为非复位信号则判断是否为结束信号

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4