org 0000h ajmp main org 0030h main: mov r3,#19d;記錄循環次數 start: mov r5,r3;設置比較次數 mov r2,#20h;設置起始地址 goon: mov a,@r2;a中放要比較的底地址數 inc r2 mov r0,@r2;r0中放要比較的高地址 cjnz: a,r0,loop;兩數如果相等,跳到接著比較 ajmp next loop: jc next ;r0大于a(即低地址放的是較小數,高低址放的是較大數,跳入記著比較) xch a,r0 mov @r2,r0 dec r2 mov @r2,a inc r2 next:djnz r5,goon;檢查是否比較完了 djnz r3,start;檢查是否完成可升學排列 over: ajmp over
其基本思想是冒泡法,先是挨個比較,比較一遍后就不最大的數放在了最高地址,然后再循環比較n-1(既第二次是比較19-1=18次)次,直到結束 |