问题描述:
在 BUF 和 BUF+1、BUF+2 单元分别放有一个无符号字节型数,编程序将其
中最大数存入 MAX 单元,并在屏幕上显示。
汇编代码,已调试
DATA SEGMENT
BUF DB 73H,34H,56H ;BCD码
MAX DB ?
MSG1 DB 'the largest unsigned integer is:$'
DATA ENDS
STACK1 SEGMENT PARA STACK
DW 20H DUP(0)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK1
START:
MOV AX,DATA
MOV DS,AX
MOV AL,BUF
CMP AL,BUF+1
JA SWAPAB
MOV AL,BUF+1
SWAPAB: CMP AL,BUF+2
JA SWAPAC
MOV AL,BUF+2
SWAPAC: MOV MAX,AL
LEA DX,MSG1
MOV AH,09H
INT 21H ;输出提示信息
PUSH AX
MOV BL,AL
MOV BH,00H
MOV CL,4 ;设置移位
SHR BL,CL
ADD BL,30H ;获取7的ASCII码
MOV DL,BL
MOV AH,02H
INT 21H ;输出7
POP AX
AND AL,0FH
ADD AL,30H ;获取3的ASCII码
MOV DL,AL
MOV AH,02H
INT 21H ;输出3
MOV AH,4CH
INT 21H
CODE ENDS
END START
结果展示