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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用移位減法做4位16進(jìn)制數(shù)除以4位16進(jìn)制數(shù)運(yùn)算

          用移位減法做4位16進(jìn)制數(shù)除以4位16進(jìn)制數(shù)運(yùn)算

          作者: 時間:2013-04-03 來源:網(wǎng)絡(luò) 收藏
          ;只能
          ORG 0000H
          JMP A1
          ORG 002BH
          A1: MOV R0,#0FFH;被除數(shù)
          MOV R1,#0FFH;被除數(shù)
          MOV R2,#0;余數(shù)
          MOV R3,#0;余數(shù)
          MOV R4,#0;商
          MOV R5,#0;商
          MOV R6,#03H;除數(shù)
          MOV R7,#0E8H;除數(shù)
          MOV 30H,#16
          A2: MOV A,R1;先把移低字節(jié)移到高字節(jié)位
          RLC A;
          MOV R1,A;
          MOV A,R0;先處理高字節(jié)和接收低字節(jié)傳上來的位字節(jié)
          RLC A;
          MOV R0,A;
          MOV A,R3;把移出來的數(shù)處理
          RLC A;
          MOV R3,A;
          MOV A,R2;把移出來的數(shù)處理
          RLC A;
          MOV R2,A;
          A4:
          MOV A,R3;先減低字節(jié)8位
          CLR C;清C
          SUBB A,R7;A=A-C-R7
          MOV 32H,A;臨時保存余數(shù)
          MOV A,R2;再減高8位
          SUBB A,R6;不能清C低八位可能有借位
          JC A3;判斷大小大則保存余數(shù)到R2,R3
          MOV R3,32H;保存低八位余數(shù)
          MOV R2,A;保存高八位余數(shù)
          ;由于除數(shù)為4位16進(jìn)制數(shù)所以余數(shù)有可能超過2位16進(jìn)制數(shù)要用2個寄存器
          A3: CPL C;商處理
          MOV A,R5;先把存到低字節(jié)位
          RLC A;
          MOV R5,A;
          MOV A,R4;通過低字節(jié)存到高字節(jié)
          RLC A;
          MOV R4,A;
          DJNZ 30H,A2;判斷是否完成
          JMP $
          END
          ;思路--除數(shù)為4位16進(jìn)制數(shù)就得要用2個寄存器
          ;
          ; R2 R3 R6 R7 R4 R5
          ;1、 00000000>00000001-00000011>11101000小于0,商值為00000000>00000000B
          ;2、 00000000>00000011-00000011>11101000小于0,商值為00000000>00000000B
          ;3、 00000000>00000111-00000011>11101000小于0,商值為00000000>00000000B
          ;4、 00000000>00001111-00000011>11101000小于0,商值為00000000>00000000B
          ;5、 00000000>00011111-00000011>11101000小于0,商值為00000000>00000000B
          ;6、 00000000>00111111-00000011>11101000小于0,商值為00000000>00000000B
          ;7、 00000000>01111111-00000011>11101000小于0,商值為00000000>00000000B
          ;8、 00000000>11111111-00000011>11101000小于0,商值為00000000>00000000B
          ;9、 00000001>11111111-00000011>11101000小于0,商值為00000000>00000000B
          ;10、00000011>11111111-00000011>11101000大于0,商值為00000000>00000001B;余數(shù)00010111B賦值給R3,00000000B賦值給R2
          ;11、00000000>00101111-00000011>11101000小于0,商值為00000000>00000010B
          ;12、00000000>01011111-00000011>11101000小于0,商值為00000000>00000100B
          ;13、00000000>10111111-00000011>11101000小于0,商值為00000000>00001000B
          ;14、00000001>01111111-00000011>11101000小于0,商值為00000000>00010000B
          ;15、00000010>11111111-00000011>11101000小于0,商值為00000000>00100000B
          ;16、00000100>11111111-00000011>11101000大于0,商值為00000000>01000001B,余數(shù)00010111B賦值給R3,00000010B賦值給R2
          ;至此算法完成


          評論


          技術(shù)專區(qū)

          關(guān)閉