📄 sy5.asm
字号:
DATA SEGMENT
DATA1 DB 0D9H,07H,8BH,0C5H,0EBH,04H,9DH,0F9H ;将要比较的数存入数据区DATA1
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA SI,DATA1
MOV BH,[SI] ;将要比较的第一个数赋给BH
MOV BL,[SI] ;将要比较的第一个数赋给BL
MOV CX,07H
MAX: CMP BH,[SI+1] ;用BH中的数依次比较数据区DATA1中的数
JA NEXT1
XCHG BH,[SI+1] ;如果BH中的数小于数据区DATA1中的数则交换两者
NEXT1: INC SI
LOOP MAX
MOV CX,08H
MIN: CMP BL,[SI] ;用BL中的数依次比较数据区DATA1中的数
JB NEXT2
XCHG BL,[SI] ;如果BL中的数大于数据区DATA1中的数则交换两者
NEXT2: DEC SI
LOOP MIN
MOV DH,BH ;将最大值赋给DH
CALL LIST ;显示最大值
MOV DH,BL ;将最小值赋给DH
CALL LIST ;显示最小值
MOV AH,4CH
INT 21H
LIST PROC ;将DH中的数用十六进制显示
MOV CH,2
MOV CL,4
NEXT3: ROL DH,CL
MOV DL,DH
AND DL,0FH
ADD DL,30H
CMP DL,39H
JBE PRINT
ADD DL,07H
PRINT: MOV AH,2H
INT 21H
DEC CH
JNZ NEXT3
MOV DL,0DH
MOV AH,02H
INT 21H
MOV DL,0AH
MOV AH,02H
INT 21H
RET
LIST ENDP
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -