8086汇编语言无符号数排序 要求:1,从键盘输入10个无符号数
时间: 2024-03-20 18:41:24 浏览: 66
好的,以下是一个基于8086汇编语言的无符号数排序程序,可以从键盘输入10个无符号数:
```
ORG 100h
section .data
array db 10 dup(0) ; 存储输入的无符号数
msg1 db 'Enter 10 unsigned numbers: $'
msg2 db 'Sorted numbers: $'
crlf db 0dh, 0ah, '$' ; 换行符
section .text
mov ax, 0
mov ds, ax ; 初始化数据段寄存器
; 输出提示信息
mov ah, 9
mov dx, msg1
int 21h
; 从键盘输入10个无符号数
mov cx, 10
mov si, 0
input_loop:
mov ah, 1
int 21h
sub al, '0' ; 转换为数字值
mov [array+si], al
inc si
loop input_loop
; 对数组进行排序
mov cx, 9
sort_loop:
mov bx, cx
inner_loop:
mov al, [array+bx]
cmp al, [array+bx+1]
jnc skip_swap
mov ah, [array+bx+1]
mov [array+bx], ah
mov [array+bx+1], al
skip_swap:
dec bx
cmp bx, 0
jne inner_loop
loop sort_loop
; 输出排序后的结果
mov ah, 9
mov dx, msg2
int 21h
mov cx, 10
mov si, 0
output_loop:
mov al, [array+si]
add al, '0' ; 转换为ASCII码
mov ah, 2
mov dl, al
int 21h
inc si
loop output_loop
; 换行
mov ah, 9
mov dx, crlf
int 21h
; 程序结束
mov ah, 4ch
int 21h
END
```
请注意,此程序可能需要进行调整以适应您的特定环境和需求。
阅读全文