汇编语言 三个数利用分支结构从大到小排序并能够在masm5环境下直接看到
时间: 2023-11-22 09:54:25 浏览: 69
汇编语言运行环境所需文件(masm5,DOSBox0.74)
下面是一个在 MASM5 环境下能够直接运行的三个数从大到小排序的汇编语言程序:
```
.model small
.stack 100h
.data
a db 3
b db 2
c db 1
.code
main proc
mov ax, @data
mov ds, ax
; 比较 a 和 b
mov al, a
cmp al, b
jge ab
xchg al, b
; 比较 b 和 c
cmp al, c
jge bc
xchg al, c
cmp b, c
jge ab
; 输出结果
mov dl, a
add dl, 30h
mov ah, 2
int 21h
mov dl, ','
mov ah, 2
int 21h
mov dl, b
add dl, 30h
mov ah, 2
int 21h
mov dl, ','
mov ah, 2
int 21h
mov dl, c
add dl, 30h
mov ah, 2
int 21h
mov ah, 4ch
int 21h
ab:
; 比较 a 和 c
cmp al, c
jge ac
xchg al, c
; 输出结果
mov dl, a
add dl, 30h
mov ah, 2
int 21h
mov dl, ','
mov ah, 2
int 21h
mov dl, c
add dl, 30h
mov ah, 2
int 21h
mov dl, ','
mov ah, 2
int 21h
mov dl, b
add dl, 30h
mov ah, 2
int 21h
mov ah, 4ch
int 21h
ac:
; 输出结果
mov dl, c
add dl, 30h
mov ah, 2
int 21h
mov dl, ','
mov ah, 2
int 21h
mov dl, a
add dl, 30h
mov ah, 2
int 21h
mov dl, ','
mov ah, 2
int 21h
mov dl, b
add dl, 30h
mov ah, 2
int 21h
mov ah, 4ch
int 21h
main endp
end main
```
上述程序中,我们将三个数分别存储在变量 `a`、`b` 和 `c` 中,然后依次比较这三个数的大小,并使用 `xchg` 指令交换变量的值,以达到从大到小排序的效果。最后,我们使用 `int 21h` 中断调用来输出排序后的结果。
阅读全文