【单片机】请写一个超级简单的单片机汇编语言程序,万分感谢!!

有两个8位无符号数NA、NB分别存放在内部RAM的40H,41H单元,修改以下汇编语言程序,实现两个16位无符号数的比较:当NA<NB时,将内部RAM的42H单元置为0x... 有两个8位无符号数NA、NB分别存放在内部RAM的40H,41H单元,修改以下汇编语言程序,实现两个16位无符号数的比较:当NA<NB时,将内部RAM的42H单元置为0x88;否则,当NA>=NB时将该单元置0xff。NA、NB分别存放在内部RAM的40H,41H及50H,51H单元。
提示:MCS-51指令系统没有16位比较指令,只能使用8位比较指令,于是应先比较两数的高8位,若NA的高8位小于NB的高8位,则说明NA<NB;将内部RAM的42H单元置为0x88。若NA高8位大于NB的高8位,则说明NA>NB;将42H单元置0xff。若NA的高8位等于NB的高8位,则再比较两者的低8位,方法同上(当NA=NB时,也将42H单元置0xff)。

需要修改的汇编程序如下:

ORG 0000H
AJMP START
ORG 0100H
START:
MOV A ,40H
CJNE A, 41H, LOOP1
AJMP LOOP2
LOOP1:
JC LOOP3
LOOP2:
MOV 42H, #0FFH
AJMP LOOP
LOOP3 :
MOV 42H,#88H
LOOP:
AJMP LOOP
END
展开
 我来答
意法半导体(中国)投资有限公司 2023-06-12
展开全部
MAIN: MOV SP,#50H MOV DPTR,#TAB;读入字模指针 MOV 30H,DPL; 存起来 ;堆栈低8位 MOV 31H,DPH ;堆栈高8位 MOV 32H,30H;再记录指针,留作移动了多少位的判断 用。 MOV 3H,31H ;3H记录字模数据的高位地址 INC 3H;3H高位地址+5,表示数据有5X256列之多。 ROL: MOV R2,#01H;设扫描次数 INI1: MOV DPL,30H;这段是扫描一次32列 MOV DPH,31H MOV R4,#32 MOV R3,#0 LOP1 P1,R3 CLR A MOVC A,@A+DPTR MOV P0,A INC DPTR CLR A MOVC A,@A+DPTR MOV P2,A INC DPTR CAL DELAY INC R3 DJNZ R4,LOP1 DJNZ R2,INI1;这条预留扫描次数用可以调整速度 MOV DPL,3…
做而论道
高能答主

2013-05-06 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3.2万
采纳率:86%
帮助的人:8816万
展开全部
;
ORG 0000H
AJMP START
ORG 0100H
START:
MOV 42H, #88H ;先设NA<NB
MOV A, 40H
CJNE A, 50H, LOOP1 ;NAH-NBH
SJMP NEXT ;相等则再去比较低八位
LOOP1:
JC LOOP ;不够减,就可以结束了
AJMP LOOP3 ;转

NEXT:
MOV A, 41H
CJNE A, 51H, LOOP2 ;NAL-NBL
LOOP2:
JC LOOP ;不够减,就可以结束了
LOOP3:
MOV 42H, #0FFH ;否则就是NA>=NB

LOOP:
AJMP LOOP

END
上海实邦电子科技
2025-08-04 广告
联系方式:13671592388上海实邦电子科技有限公司是一家专业电子产品开发与ODM/OEM/电子制造服务(EMS)企业,具有多年基于消费电子产品、工业自动化产品、机电控制产品的PCBA开发与生产经验,更有多年的单片机开发及工业控制电路设... 点击进入详情页
本回答由上海实邦电子科技提供
zhxiufan
2013-05-06 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38398
国家科技进步奖

向TA提问 私信TA
展开全部
ORG 0000H
AJMP START
ORG 0100H
START:
MOV A ,40H
CJNE A, 50H,LOOP1
AJMP LOOP2
LOOP1:
JC LOOP3
LOOP11:
MOV 42H, #0FFH
AJMP LOOP
LOOP2:
MOV A,41H
CJNE A,51H,LOOP21
LOOP21:
JC LOOP3
SJMP LOOP11
LOOP3 :
MOV 42H,#88H
LOOP:
AJMP LOOP
END
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
seuzhouww
2013-05-06 · TA获得超过1386个赞
知道小有建树答主
回答量:658
采纳率:0%
帮助的人:369万
展开全部
NAH EQU 40H
NAL EQU 41H
NBH EQU 50H
NBL EQU 51H
ORG 0
LJMP START
ORG 100H
START:
MOV NAH,#21 ;测试数据
MOV NAL,#00
MOV NBH,#20
MOV NBL,#00
LCALL CPR16NANB ;主程序调用比较
SJMP $ ;查看输出结果42H
CPR16NANB:
MOV A, NAH
CJNE A, NBH, LOOP11
AJMP LOOP12 ;(相等跳转,判断低8位)
LOOP11:
JC LOOP3 ;(NAH 小于NBH跳转)
AJMP LOOP2 ;(NAH 大于NBH跳转)
LOOP12: MOV A, NAL
CJNE A, NBL, LOOP11
AJMP LOOP2 ;(两者完全相等)
LOOP1:
JC LOOP3
LOOP2:
MOV 42H, #0FFH
AJMP LOOP
LOOP3 :
MOV 42H,#88H
LOOP:
RET
END
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式