51單片機(jī)匯編三字節(jié)加法
一個(gè)加數(shù)在片內(nèi)RAM40H、41H、42H單元中,另一個(gè)加數(shù)在內(nèi)RAM43H、44H、45H,其和存放在50H、51H、52H單元中,進(jìn)位位存00H。
求編譯程序,小弟謝過
;------------------------------------------
最佳答案:題目太簡(jiǎn)單,只有三個(gè)字節(jié)參加運(yùn)算,可不用循環(huán)結(jié)構(gòu)。
MOV A, 40H
ADD A, 43H
MOV 50H, A
;
MOV A, 41H
ADDC A, 44H
MOV 51H, A
;
MOV A, 42H
ADDC A, 45H
MOV 52H, A
;
MOV 20H.0, C
;完
;------------------------------------------
;=========================================================
多個(gè)單字節(jié)數(shù)求和。已知有10個(gè)單字節(jié)數(shù),依次存放在內(nèi)部RAM 40H 單元開始的存儲(chǔ)區(qū)中,要求把求和的結(jié)果存入寄存器R2,R3中(高位存R2,低位存R3)
;------------------------------------------
最佳答案:本題參加運(yùn)算的數(shù)據(jù)較多,且地址是連續(xù)的,應(yīng)該使用循環(huán)結(jié)構(gòu),如下即可。
MOV R2, #0
MOV R3, #0
MOV R0, #40H
MOV R1, #10
LOOP:
MOV A, R3
ADD A, @R0
MOV R3, A
MOV A, R2
ADDC A, #0
MOV R2, A
INC R0
DJNZ R1, LOOP
RET
;完
;------------------------------------------
;=========================================================
試編寫程序,將內(nèi)部RAM的20H,21H和22H 3個(gè)連續(xù)單元的內(nèi)容依次存入2FH、2EH和2DH中。
懸賞分:5 - 解決時(shí)間:2009-11-24 12:30
;------------------------------------------
最佳答案:
ORG 0000H
MOV 2FH, 20H
MOV 2EH, 21H
MOV 2DH, 22H
SJMP $
END
呵呵,簡(jiǎn)單的無與倫比。
;------------------------------------------
;=========================================================
設(shè)機(jī)器字長(zhǎng)為8位,請(qǐng)用二進(jìn)制補(bǔ)碼的方法計(jì)算下題,運(yùn)算結(jié)果分別用十六進(jìn)制和十進(jìn)制表示。
這里機(jī)器字長(zhǎng)為8位是什么意思,有什么用?麻煩寫明詳細(xì)過程,謝謝!
45+55
提問者: 0o錒ke - 二級(jí)
;------------------------------------------
最佳答案:先把數(shù)字都變換成8位的二進(jìn)制補(bǔ)碼:
45: 00101101
55: 00110111
然后相加:
00101101
+ 00110111
---------------------
01100100 -> 十進(jìn)制的 +100
結(jié)果就是:
二進(jìn)制:01100100
16進(jìn)制:64H
十進(jìn)制:100