用8086语言实现键入一组数据N ,利用冒泡排序法对数组进行从大到小的排序,并输出结果。要求:读出数据段中存放的数组A;换行显示排序后的数组A。
时间: 2024-03-06 12:46:43 浏览: 61
好的,我会尽力回答你的问题。
以下是用8086语言实现键入一组数据N ,利用冒泡排序法对数组进行从大到小的排序,并输出结果的程序:
```
.model small
.stack 100h
.data
array db 10, 20, 30, 40, 50 ;定义一个数组A
n dw 5 ;数组A的元素个数
temp db ? ;用于交换元素的临时变量
.code
mov ax, @data
mov ds, ax
;冒泡排序
mov cx, n
dec cx
outer_loop:
mov si, 0
inner_loop:
mov al, array[si]
cmp al, array[si+1]
jng no_swap
mov temp, al
mov al, array[si+1]
mov array[si], al
mov al, temp
mov array[si+1], al
no_swap:
inc si
loop inner_loop
loop outer_loop
;输出排序后的数组A
mov ah, 9h
mov dx, offset array
int 21h
mov ah, 4ch
int 21h
end
```
这段程序首先定义了一个数组A和数组元素个数n,然后利用冒泡排序法对数组进行从大到小的排序,最后输出排序后的数组A。
由于你没有提供具体的输入数据,这里我就直接使用了程序中定义的数组A和元素个数n进行排序和输出。如果你要输入自己的数据,则需要使用int 21h中断来读取键盘输入的数据,具体方法可以参考8086汇编语言的相关教程。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)