用8086汇编语言写一个排序10个有符号2位数数字并输出
时间: 2024-05-14 11:19:23 浏览: 123
下面是用8086汇编语言实现的冒泡排序算法,可以对10个有符号2位数数字进行排序并输出结果:
```
.MODEL SMALL
.STACK 100H
.DATA
nums DB 12H, 8H, -2H, 0H, -5H, 10H, -3H, 6H, 4H, -9H
n DB 10
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
; 冒泡排序算法
MOV CX, n
DEC CX
OUTER_LOOP:
MOV BX, CX
INNER_LOOP:
MOV AL, nums[BX-1]
CMP AL, nums[BX]
JLE SKIP_SWAP
XCHG AL, nums[BX]
MOV nums[BX-1], AL
SKIP_SWAP:
DEC BX
JNZ INNER_LOOP
DEC CX
JNZ OUTER_LOOP
; 输出排序后的结果
MOV AH, 09H
LEA DX, nums
INT 21H
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
```
代码中,我们先定义了10个有符号2位数数字,并且将它们存储在一个名为`nums`的数组中。然后,使用冒泡排序算法对这些数字进行排序。最后,使用`INT 21H`中断来输出排序后的结果。
请注意,这段代码仅适用于 DOS 环境下的 8086 汇编语言编程。
阅读全文