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...