組合語言氣泡排序法

2021-05-18 01:08:37 字數 976 閱讀 1853

dat  equ  50h    ;

排序資料首位址

n    data 10     ;

資料個數

mppx: mov  r4,#n       ;

第一輪冒泡操作中的比較次數

srt1: clr  f0          ;

在第一輪冒泡操作前,初始化交換標誌

dec  r4               

mov  a,r4        ;

取上一輪冒泡操作中比較次數

mov  r2,a        ;

控制本輪次數

jz   srt4        ;

比較次數為零,排序結束

mov  r0,#dat     ;

取資料區首位址

srt2: mov  a,@r0       ;

讀取乙個資料

mov  r3,a        ;

暫存inc  r0          ;

指向後乙個資料

mov  a,@r0       ;

讀取clr  c

subb a,r3        ;

和前乙個數比較

jnc  srt3        ;

不小於前乙個資料,符合增序要求

setb f0          ;

小於前乙個資料,設定交換標誌

mov  a,r3        ;

交換兩個資料(冒泡)

xch  a,@r0

dec  r0          ;

指向前乙個資料

xch  a,@r0      

inc  r0          ;

恢復指標,指向後乙個資料

srt3: djnz r2,srt2     ;

處理完這一輪

jb   f0,srt1     ;

本輪若有交換操作,則需進行下一輪操作

srt4: ret

組合語言 冒泡法排序

開啟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 dat...

組合語言 氣泡排序

在資料區,給出了學生人數及組合語言課程的成績,請將成績排序並儲存在原資料區。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...