❶ 0鍒99鍙澧炲噺璁℃暟鍣ㄧ殑鍗旷墖链虹郴缁熴傛眰姹囩紪璇瑷绋嫔簭銆傚湪绾跨瓑銆傜壒镐ャ
Count EQU30H
KEY1 BITP3.6
KEY2 BITP3.7
ORG0
START: MOVCount,#00H
NEXT: MOVA,Count
MOVB,#10
DIVAB
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP2,#02H
MOVP0,A
LCALLDELAY
MOVA,B
MOVCA,@A+DPTR
MOVP2,#01H
MOVP0,A
LCALLDELAY
WT: JBKEY1,WT1
LCALLDELY10MS
JBKEY1,WT1
JNBKEY1,$
INCCount
MOVA,Count
CJNEA,#100,NEXT
MOVCount,#0
LJMPNEXT
WT1:
JBKEY2,WT2
LCALLDELY10MS
JBKEY2,WT2
JNBKEY2,$
MOVA,Count
JZWT11
DECCount
LJMPNEXT
WT11:
MOVCount,#99
WT2:
LJMPNEXT
DELAY:
MOVR3,#6
DELAY1:
MOVR4,#250
DJNZR4,$
DJNZR3,DELAY1
RET
DELY10MS: MOVR6,#20
D1: MOVR7,#248
DJNZR7,$
DJNZR6,D1
RET
TABLE: DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
❷ 51单片机汇编程序,将存放在内部RAM起始地址为30H和40H的两个3字节无符号数相加...
;启动入口
ORG 0000H ;复歼手位启谨橘动
LJMP START ;
ORG 0100H ;
;
;主控程氏晌嫌序
START: MOV A,30H
ADD A,40H
MOV 70H,A
MOV A,31H
ADDC A,41H
MOV 71H,A
MOV A,32H
ADDC A,42H
MOV 72H,A
ADDC A,#0
MOV 73H,A
JMP $
END ;
❸ 如何编写单片机中4字节十六进制数的加法程序
加法很简单的,根据你小学时候的加法原理就可以很容易算了,也就是低位相加,高位和高位厅碰相加,再加上低位的进位就OK了
例如:ff ff ff ff+ff ff ff ff=
最低字节相加=1FE 其中1就是进位扮雹谈了,结果就是低位=FE第一个字节相加=1FE再就上进位1=1FF第二个字节=FF再把进位加到第三个字节........
最终的结果就是肆模=1 FF FF FF FE
所以4 字节相加要5 个字节来保存结果
❹ 单片机 八位二进制数相加的程序 汇编语言
嘿嘿 八位二进制数相加的程序 应该设计成一个子程序ADD8:
程序入口迅姿芦为2个: 累加器A(存放被加数)
寄存器R5(存放加数)
程序出口1个: ( R3)(R4)=加法的和(高8 位)、(低8 位)亩带
楼上的老兄设计的八位二进册唯制数相加的程序,是存在错误的,没有考虑进位(即2个数相加超过256的情况)
ADD8: ADD A,R5
MOV R4,A
ADDC A,#0
MOV R3,A
RET
呵呵 满意 就选满意回答
❺ 姹傚崟鐗囨満缂栧啓鍙屽瓧鑺傛棤绗﹀彿鏁板姞娉曞瓙绋嫔簭銆傛潵涓楂樻坠钖э紒
鍢垮樋
1 璁捐′竴涓鍙屽瓧鑺傛棤绗﹀彿鏁板姞娉曞瓙绋嫔簭锛岄栧厛瑕佽捐′竴涓瀛愮▼搴忓叆鍙o细
鍗 锛圧2)(R3)=瑁呭弻瀛楄妭镞犵﹀彿鏁扮殑琚锷犳暟
锛圧4)(R5)=瑁呭弻瀛楄妭镞犵﹀彿鏁扮殑锷犳暟
2 璁捐′竴涓鍙屽瓧鑺傛棤绗﹀彿鏁板姞娉曞瓙绋嫔簭鍑哄彛锛
( 32H )( 31H )( 30H)=瑁呭拰
3 鍒╃敤锷犳硶鎸囦护 姹傚弻瀛楄妭镞犵﹀彿鏁扮殑鍜屻
4 璧蜂竴涓瀛愮▼搴忓悕锛
ADD16锛 MOV A,R3 ;鍙栦绠瀛楄妭琚锷犳暟
ADD A,R5 锛涗笌浣庡瓧鑺傚姞鏁扮浉锷
MOV 30H,A 锛涗绠瀛楄妭鍜岄30H 鍗曞厓
MOV A,R2 锛涘彇楂桦瓧鑺傝锷犳暟
ADDC A,R4 锛涗笌楂桦瓧鑺傚姞鏁扮浉锷
MOV 31H,A 锛涢珮瀛楄妭鍜岄31H鍗曞厓
CLR A 锛涙竻闆
ADDC A,#0 锛涘姞涓婅繘浣
MOV 32H,A 锛涙湁杩涗綅鍒欓32H鍗曞厓淇濆瓨
RET 锛涘瓙绋嫔簭杩斿洖
婊℃剰 灏辩粰淇哄姞鍒嗗柦