用組合語言將兩個asc碼表示的兩位10進製數轉換壓

2022-02-06 17:58:30 字數 2287 閱讀 1354

1樓:可軒

;;設十位數的ascii碼為x,個位數的ascii碼為y,

mov a,#y ;將個位數的ascii碼送a

clr c ;減法運算前清借位標誌

subb a, #30h ;將個位數的ascii碼減去0的accii碼30h,得個位數字

mov r0, a ;將個位數送r0暫存

mov a,#x ;將十位數的ascii碼送a

clr c ;減法運算前清借位標誌

subb a, #30h ;將十位數的ascii碼減去0的accii碼30h,得十位數字

swap a ;將a的高4位與低4位交換,使a的高4位為壓縮bcd碼表示的十位數

anl a,#f0h ;將a的低4位清零(加入這條指令是為了便於閱讀,亦可省略)

orl a, r0 ;將個位數合併到a,使a的低4位為壓縮bcd碼表示的個位數

;;以上程式執行結果,累加器a中儲存的是兩位十進數的壓縮bcd碼。

2樓:做而論道

anl x, #15

anl y, #15

mov a, x

swap a

add a, yend

3樓:

;src->ax

;dec<-al

bcd_p:

push cx

mov cl,4

shl ah,cl

or ah,al

pop cxret

如何將a中的壓縮bcd碼轉換成二進位製數 組合語言

4樓:匿名使用者

單位元組壓縮bcd碼的位元組中,高4位為十位數,低4位為個位數,將累加器a中壓縮bcd碼轉換為二進位製數的方法就是將十位數乘10加個位數就可以了。具體**如下:

bcd2bin:

push acc ;暫存a

anl a,#0fh ;取個位數

mov r0,a ;將個位數暫存r0pop acc ;彈出原數

swap a ;高低4位互換

anl a,#0fh ;保留低4位(十位)mov b,#10 ;被乘數為10

mul ab ;乘法運算

add a,r0 ;結果加個位數ret

5樓:做而論道

mov   b, #16

div   ab

push  b

mov   b, #10

mul   ab

pop   b

add   a, bend

組合語言壓縮bcd碼和非壓縮bcd碼是怎麼回事

6樓:匿名使用者

bcd碼是表示十進位製數的,非壓縮bcd碼是用8位表示的,其實只用低4位,高4位全為0。

例如,十進位製數36,用非壓縮bcd碼表示為:0000 0011 0000 0110 ,這是兩個位元組。

壓縮bcd碼,就把高4位的0省掉了,用乙個位元組表示兩個bcd碼了。

還是,十進位製數36,用壓縮bcd碼表示為:0011 0110 ,就乙個位元組就行了。節省了乙個位元組。

7樓:永恆

非壓縮bcd碼是乙個位元組表示1位的10進製數。如 00000101 00000110b 表示 10進製的56。

壓縮bcd碼是每4位二進位制表示1位的10進製數。如 0101 0110b 表示10進製的56。

兩個4位壓縮bcd碼相加 ,被加數和加數分別存放在43h(千、百位)42h(十、個位)、41h(千、百位)40h(十

8樓:做而論道

兩個4位壓縮bcd碼相加,被加數和加數分別存放在43h(千百)42h(十個)、

41h(千百)40h(十個)中。

編寫加法程式,將和數存放在46h、45h,44h單元中,其中46h單元存放最高位產生的進製。

;mov a, 42h

add a, 40h

da a

mov 44h, a

mov a, 43h

addc a, 41h

da a

mov 45h, a

clr a

addc a, #0

mov 46h, aend

微控制器組合語言兩數比較大小,51微控制器用組合語言怎麼程式設計幾個有符號數的比較大小

微控制器有比較指令cmp的嗎,請回答者再看看書吧。可以用cjne指令,它有比較功能,如cjne a,data,label 當a data時,進製位置一,就可以判斷了。程式如下 clr c 先把進製位清零,以防誤判cjne a,data,no equ 不等則轉到no equ,相等則直接順序執行 執行相...

用組合語言,將一串混亂的字母按從小到大的順序排列。(用過程來實現

dseg segment d db ksdacbeozx len equ d dseg ends assume cs cseg,ds dsegcseg segment start mov ax,dseg mov ds,ax call sort mov cx,len mov si,0 mov ah,0...

怎麼用組合語言實現分別用t0和t1對兩種物料進行檢測,數碼管實時顯示物料個數

t0和t1設定成計數器的形式就可以了。簡單的寫乙個程式,只顯示1位。org 0000h ljmp main org 000bh ljmp t0isr org 001bh ljmp t1isr org 0030h main mov tmod,66h mov th0,0ffh mov tl0,0ffh ...