色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 匯編冒泡排序(51)(需調試器付初值)

          匯編冒泡排序(51)(需調試器付初值)

          作者: 時間:2016-11-18 來源:網絡 收藏
          ;此程序屬于冒泡排序算法,不能用查找表(只能在調試時用內存表中設置處置進行仿真實驗)(因為查找表是數據是存放在rom中的,所以說是無法去修改的,無能為力,因此只能通過調試來實現)

          NumEQU31H;定義臨時次數變量(也可理解為總數據變量)

          本文引用地址:http://cafeforensic.com/article/201611/315819.htm

          ORG0000H

          LCALLSTART;跳轉到排序算法

          SJMP$;如果排序完成,在此循環(huán)

          START:MOVR0,#50H;把地址0050h付給R0中

          MOVNum,#4;所有數據個數放在Num中

          CLRF0;用戶可以使用的標志位清零(交換數據標志)

          DECNum;減1

          MOVA,@R0;把其中的數送到A中

          LOOP:MOVR2,A;把低字節(jié)地址中的數付給R2

          INCR0;地址加一

          CLRC;進位標志位清零

          MOVA,@R0;把高字節(jié)地址中的數付給A

          SUBBA,R2;帶進位相減指令

          JNCLOOP1;如果沒有借位,則高字節(jié)中比低字節(jié)中數據大,不用排,跳轉到loop1

          ;如果借位,下面是交換數據代碼

          SETBF0;用戶可以使用的標志位置1

          MOVA,R2

          XCHA,@R0;把低字節(jié)數送到高字節(jié)地址中

          DECR0;地址減1,到低字節(jié)地址中

          XCHA,@R0;把高字節(jié)中的數送到低字節(jié)地址中

          INCR0;在把地址重新加一

          LOOP1:MOVA,@R0

          DJNZNum,LOOP;重新進入下次循環(huán)(跳出時,實現一次冒泡)

          JBF0,START;循環(huán)進行冒泡,如果交換標志一直為0,則排序完成,結束

          RET

          END



          關鍵詞: 匯編冒泡排序初

          評論


          技術專區(qū)

          關閉