📄 4.asm
字号:
.MODEL small
.DATA
x db 2,5,3,8,9,0,2,7,1,3
result1 db "the max is:","$"
result2 db "the min is:","$"
.CODE
MAIN PROC FAR
mov ax,@DATA
mov ds,ax
MOV CX,9 ;设置比较次数cx设为10-1
MOV SI,0 ;设置指针初值
MOV BH,0 ;清BH值
MOV BL,0
MOV BH,x[SI] ;把指针所指的数赋给BH
MOV BL,x[SI] ;结果是 mov bl,[si+0008]
NEXT: CMP CX,0 ;CX中的值与0比较
JE EXIT ;相等就跳到EXIT标签去
INC SI ;调整指针 si=0001
DEC CX ;CX中值减1
mov ah,x[si] ;将二进制转化为ASCII码并输出
add ah,30h
mov dl,ah
mov ah,2
int 21h
MOV AL,x[SI] ;把下一个值临时存到AL中
CMP AL,BH ;比较AL与BH中的值 cmp 05,02
JG MAX ;大于就跳到MAX去
CMP AL,BL ;比较AL与BL中的值
JL MIN ;小于就跳到MIN去
JMP NEXT
MAX: MOV BH,AL ;设置AL中的值到BH中成为最大值
JMP NEXT
MIN: MOV BL,AL ;设置AL中的值到BL中成为最小值
JMP NEXT
EXIT:
CALL CRLF ;调用CRLF子程序来输出回车和换行
lea dx,result1 ;输出最大数
mov ah,9
int 21h
add bh,30h
mov dl,bh
mov ah,2
int 21h
CALL CRLF
lea dx,result2 ;输出最小数
mov ah,9
int 21h
add bl,30h
mov dl,bl
mov ah,2
int 21h
MOV ah,4CH
INT 21H
MAIN ENDP ;结束主程序
CRLF PROC NEAR ;子程序:用来打印回车和换行
mov dl,0dh ;回车
mov ah,2
int 21h
mov dl,0ah ;换行
mov ah,2
int 21h
RET ;返回
CRLF ENDP
END MAIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -