組合語言 冒泡法排序

2021-10-11 20:50:48 字數 1171 閱讀 6246

開啟doxbos

更改masm檔案為123(任意),在資料夾中建立檔案123.asm。

在doxbos程式中 輸入mount c d:\123

輸入c:

開啟123.asm編寫程式

data segment

buf dw 30,-44,82,57,19,123,60,-86,-97,-100

n=($-buf)/2

data ends

stack segment stack

dw 200 dup(0)

stack ends

code segment

assume ds:data,cs:code,ss:stack

start:mov ax,data

mov ds,ax

mov cx,n

dec cx

next1:mov dx,cx ;外迴圈從此條開始

mov bx,0;bx為基位址

next2:mov ax,buf[bx]

;內迴圈從此條指令開始

cmp ax,buf[bx+2]

;相鄰兩數比較

jle l ;前乙個數不大於後乙個數則不交換

xchg ax,buf[bx+2]

;否則,交換兩數

mov buf[bx],ax

l: add bx,2 ;bx+2

dec cx ;cx--

jne next2 ;內迴圈結束?

mov cx,dx

loop next1 ;外迴圈結束?

mov ah,4ch ;就是結束本程式

int 21h ;返回 dos 作業系統

執行123.exe

編寫不易,感謝支援。

組合語言氣泡排序法

dat equ 50h 排序資料首位址 n data 10 資料個數 mppx mov r4,n 第一輪冒泡操作中的比較次數 srt1 clr f0 在第一輪冒泡操作前,初始化交換標誌 dec r4 mov a,r4 取上一輪冒泡操作中比較次數 mov r2,a 控制本輪次數 jz srt4 比較次...

組合語言 氣泡排序

在資料區,給出了學生人數及組合語言課程的成績,請將成績排序並儲存在原資料區。assume cs cseg,ds dseg,ss sseg sseg segment stack dw 10h dup sseg ends dseg segment dw 123,5,9,11,33,6,9,76,100,...

組合語言實現氣泡排序

氣泡排序 author jrh 2011.7.10 assume ds data data segment a dw 1,4,2,5,7,9,6,3 data ends code segment start mov ax,data mov ds,ax mov cx,8 dec cx lop1 pus...