emu8086输入十个有符号数并排列
时间: 2024-02-13 15:01:53 浏览: 84
好的,以下是使用emu8086汇编语言编写的输入十个有符号数并排列的程序:
```
;将十个有符号数输入到数组中并排序
.model small
.stack 100h
.data
array db 10, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?
msg1 db "Enter a signed number: $"
msg2 db 10, 13, "Sorted array: $"
.code
main proc
mov ax, @data
mov ds, ax
;输入十个有符号数到数组中
mov cx, 10
mov si, 0
input_loop:
mov ah, 09h
lea dx, msg1
int 21h
;读取有符号数并存储到数组中
mov ah, 01h
int 21h
sub al, 30h ;将字符转换为数字
mov [array+si], al ;将数字存储到数组中
inc si
;如果已经输入了十个数,则跳出循环
loop input_loop
;将数组中的数排序
mov cx, 10
sort_loop:
mov di, 0
inner_loop:
mov al, [array+di]
cmp al, [array+di+1]
jg swap
inc di
loop inner_loop
loop sort_loop
jmp display_array
swap:
xchg al, [array+di+1]
mov [array+di], al
inc di
loop inner_loop
loop sort_loop
display_array:
;显示排序后的数组
mov ah, 09h
lea dx, msg2
int 21h
mov cx, 10
mov si, 0
display_loop:
mov al, [array+si]
add al, 30h ;将数字转换为字符
mov ah, 02h
mov dl, al
int 21h
inc si
loop display_loop
mov ah, 4ch
int 21h
main endp
end main
```
这个程序使用了排序算法来对输入的十个有符号数进行排序。它将每个有符号数转换为数字并存储到数组中,然后使用冒泡排序算法对数组进行排序,并最终显示排序后的数组。
阅读全文