什麼是十進調整指令,十進位制調整指令計算

2021-03-03 21:37:18 字數 2131 閱讀 7435

1樓:匿名使用者

bcd碼轉換指令;bai

比如說du:

81d+91d=172d

而:zhi

81h+91h=112h

這裡為了將81h+91h結果與81d+91d一致dao,經過da有:

da(112h)=112h+60h=172h雖然一個是

專16進位制一個是10進位制但172在形式上是相屬等的。

mov r5,#81h

mov a, #91h

add a, r5

da a

首先81h+91h=112h,此時ac=0,cy=1,a=12h,所以da a後a=12h+60h=72h,ac=0,cy=1,結果為172h,當然運算應該理解為81d+91d=172d。

組合語言中為什麼要有十進位制調整指令,原因是什麼?

2樓:做而論道

cpu 的運算指令,是按照二進位制數進行計算的。

參加運算數字,如果,你用的是 bcd 碼,那麼,運算結果,也就變成了一般的二進位制數。

難道,你不想把它們,再變成 bcd 碼?

關於微控制器彙編的十進位制調整指令。

3樓:做而論道

是不是做加法,凡是遇到上述情況都得修正?--是bcd碼的加法,就必須修正。

那為什麼我看到的某些加法運算沒有修正啊?--那就不是bcd碼的加法。

一般時,是用四位二進位制數,表示一位16進位制數(0~16),即0000~1111。

bcd碼,是用四位二進位制數,表示一位十進位制數 (0~9),即0000~1001。

如果是bcd碼的加法,就必須修正,否則就可能出現16進位制數,這個結果就不是bcd碼了。

4樓:藏在水中的人

由於bcd碼在微控制器中是以16進位制的形式儲存的,我們觀測到的值和微控制器實際儲存的值是不一樣的,例如bcd碼10,我們看到的值是10,但是微控制器實際儲存的值16,微控制器的運算也都是以16進位制的形式進行的,因此用微控制器進行bcd的運算都需要修正。不是bcd碼的運算,就不需要修正了。例如兩個正常的十進位制數 15+17=32;15對應的16進位制數是0fh,17對應的16進位制數是11h

相加寫成

mov a,#0fh

add a, #11h

結果為20h對應是進位制數為32

也可以寫成

mov a,#15d

add a, #17d ;結果一樣

5樓:匿名使用者

微控制器彙編的十進位制調整指令, 是為了讓程式設計簡單化, 可以直接以 十進位制 運算, 如

15+56=

mov a, #15h ; a = 15h ( 注意 要以 十六進位制 寫成 15h)

add a, #56h ; a = 15h+56h = 6bh

da a ; a = 6bh + 06h = 71h c = 0 進位標誌

68+75=

mov a, #68h

add a, #75h ; a = 68h+75h = ddh

da a ; a = ddh + 66h = 43h c = 1 = 143

; 注 十進位制調整指令 必須跟在加法指令後面

; 否則會出錯。

6樓:山魚

如果是bcd碼,就必須修正,這樣得到的結果才是bcd碼

7樓:匿名使用者

只有bcd碼相加才用

8樓:筱悠

要具體看程式的要求的,有的程式不是用的bcd碼的話就不用這樣的。。。多看看多想想就清楚了

十進位制調整指令計算

9樓:匿名使用者

執行完aam指令後

ah暫存器的值等於al暫存器的值

除以(/)值0ah

類似c**ah=al/0xa;

al暫存器的值等於al暫存器的值 模除以(%求餘數)值0ahal=al%0xa; 或 ah%=0xa;

執行aam的過程就是上面..

微控制器中十進位制調整指令DAA是什麼意思

bcd碼轉換指令 比如說 81d 91d 172d 而 81h 91h 112h 這裡為了將81h 91h結果與81d 91d一致,經過da有 da 112h 112h 60h 172h雖然一個是16進位制一個是10進位制但172在形式上是相等的。mov r5,81h mov a,91h add a...

十進位制向二進位制進行轉換時,十進位制數十相當於二進位制多少

謝邀,首先你直接把相應的十進位制數寫成與2的多少次方有關的式子,對於10這個數,10 8 2,注意,這裡的8和2都是2的冪次方,所以10 1x2 3 0x2 2 1x2 1 0x2 0,所以10的二進位制數為1010,如果這裡要求二進位制數必須是6位數,則在1010前面加0即可,即001010。對於...

十進位制數和十六進位制數怎麼轉換,十進位制 數字 和十六進位制 字母表示的 如何轉換

16進位制數的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方 所以,在第n n從0開始 位上,如果是是數 x x 大於等於0,並且x小於等於 15,即 f 表示的大小為 x 16的n次方。進位制轉換表 例 2af5換算成10進位制 用豎式計算 第0位 5 16 0...