回覆列表
  • 1 # 你永遠追不上的巨人

    MOV R0, TH1 MOV R1, TL1 CALL HEX2BCD ;呼叫子程式把R0 R1中的數字,轉換成BCD碼,送到R2 R3 R4;-------下面,把萬千百十個位,分別存入R4 R3 R2 R1 R0 MOV A, R4 MOV B, #16 DIV AB ;除以16,目的是分離出高、低四位 MOV R1, A ;存放十位 MOV R0, B ;存放個位; MOV A, R2 MOV R4, A ;存放萬位; MOV A, R3 MOV B, #16 DIV AB MOV R3, A MOV R2, B SJMP $ ;到此,完成了題目要求;------------------------------------------------------------------;兩個位元組的二進位制數轉換成BCD碼的程式如下:;功能:16位二進位制數變換成為 BCD 碼;;入口:R0 R1 中是 16 位二進位制數,其中R0中是高 8 位;;出口:R2 R3 R4 中是 BCD 碼,其中R2中是萬位,R3中是千、百位,R4中是十、個位。HEX2BCD: CLR A MOV R2, A ;先清零 MOV R3, A MOV R4, A MOV R5, #16 ;共轉換十六位數LOOP: CLR C MOV A, R1 ;從待轉換數的高階移出一位到Cy RLC A MOV R1, A MOV A, R0 RLC A MOV R0, A MOV A, R4 ;送到BCD碼的低端 ADDC A, R4 ;帶進位加。自身相加,相當於左移一位 DA A ;十進位制調整,變成BCD碼 MOV R4, A MOV A, R3 ADDC A, R3 DA A MOV R3, A MOV A, R2 ADDC A, R2 MOV R2, A DJNZ R5, LOOP ;共轉換十六位數 RET

  • 中秋節和大豐收的關聯?
  • 你在旅行途中發生的最囧的事情是什麼?