微机原理与接口技术实验(未来编辑)
题目:通过比较法完成8位二进制数转换成十进制数并在屏幕显示。例如,编写一个程序使之在屏幕上显示“25+9=34”。
程序代码:
.486
DATA SEGMENT USE1
SUM DB ?,?
NESG DB '25+9='
DB 0,0,'$'
L1 DB 9
L2 DB 25
DATA ENDS
CODE SEGMENT USE1
ASSUME CS:CODE,DS:DATA
BEG: MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET SUM
MOV AH,L1
MOV AL,L2
ADD AH,AL
MOV [BX],AH
CALL CHANG
MOV AH,9
MOV DX,OFFSET MESG
INT 21H
MOV AH,4CH
INT 21H
CHANG PROC
LAST: CMP BYTE PTR [BX],10
JC NEXT
SUB BYTE PTR [BX],10
INC BYTE PTR [BX+7]
JMP LAST
NEXT: MOV AH,SUM
ADD [BX+8],AH
ADD BYTE PTR [BX+7],30H
ADD BYTE PTR [BX+8],30H
RET
CHANG ENDP
CODE ENDS
END BEG
程序运行的结果如图: