51单片机用汇编语言编程的一些问题

作者&投稿:无巩 (若有异议请与网页底部的电邮联系)
(1)程序执行后,R6=01H,R7=52H
(2此子程序的功能是将两个10进制BCD码进行加法计算,结果存放在R6和R7。可以理解为 63+89=152

程序我已仿真过,希望我的回答对你有帮助。可以采纳,谢谢。

51单片机汇编程序的几个问题。。。。。~

六个问题就是120分了,呵呵,开个玩笑
你知道在51中数据传送指令有几条?告诉你,是29条,里面没有mov Rn,Rn这样的指令,为什么呢?因为单片机不允许同时有两个访存工作寄存器组的操作,p1呢,它不是工作寄存器,明白吗?
你知道在51中工作寄存器组有几组?上电复位后单片机用的是哪一组?为什么只能有一组是可用的呢,其它几组干什么去了?工作寄存器组的存储单元呢?单片机是怎么识别当前用的是哪一组?为什么要有好几组工作寄存器呢?
告诉你,是4组,分别是0,、1、2、3;上电复位后单片机用的是第0组;因为汇编指令里只有一个R0、R1、R2、R3、R4、R5、R6、R7,你要是往R0中存数据,只能是一个单元,所以是一组,其它几组呢,让它们闲着,等需要用的时候切过去;4组工作寄存器,每组8个单元,共32个单元,从片内RAM00H开始到1FH,自己算算,32个单元;在SFR(特殊功能寄存器)中有个PSW(程序状态字)的寄存器,它里面有两个位叫RS0、RS1,00、01、10、11组合,明白?上电复位后PSW要被清零的,就是00组合,他就是第0组工作寄存器的识别信号,明白?为什么要有好几组工作寄存器呢?那是为了程序调用的,发生子程序调用,保护主程序的工作状态,你要给子程序重新设一组工作寄存器,当然,你要是用不到工作寄存器,不切换也行,怎么切换呢?这你不会不知道了吧,给psw寄存器送个值把RS0、RS1的二进制数改了不就行了?
够明白的了吧?再要是不知道就看书去,太丢人了

循环移位,逐位判断,然后累加

51单片机编程问题(汇编语言)
答:; ORG 0000H JMP MAIN ORG 000BH JMP TC0S ORG 001BH JMP TC1SMAIN: MOV TMOD, #61H MOV TH1, #0F6H MOV TL1, #0F6H SETB TR1 SETB ET1 SETB ET0 SETB EA CLR P1.7 SJMP $;TC1S: ;...

单片机C51问题 请用汇编语言编写
答:mov r0,#30h mov a,@r0 取出r0内容,也就是你说的地址 movc a,@a+dptr 把你说的地址指向你要的数据地址并取出来。

菜鸟提问,关于51单片机汇编语言
答:51单片机汇编语言, 一般给单个 IO 口赋值, 用 MOV 赋值 会 对其他 位有影响 如给P1.0口一个低电平 MOV P1, #00H 或者 MOV P1, #0FEH 都能 使 P1.0 输出低电平, 但影响 P1.1 ~ P1.7 可以用 位操作指令 如 CLR P1.0 ( SETB P1.0...

单片机 汇编语言 LED程序... 问题求解...
答:给你参考,可按你的要求自行更改。;10.12.29 外部中断1按键按下,P1流水灯(跑马灯),P2鸳鸯戏水灯(交叉点亮)ORG 00H AJMP MAIN ORG 03H AJMP EX0INT ORG 0030H MAIN: MOV SP,#60H SETB EA SETB EX0 SETB IT0 MOV R0,#8 JNB F0,MOV A,#0FEH LED: MOV P1,A MOV P2,#0AAH...

在线等,单片机汇编语言问题,谢谢
答:;改好了,程序如下 ORG 0000H LJMP MAIN ORG 0003H LJMP TZC1 ORG 0013H LJMP TZC2 MAIN: MOV DPTR,#TABLE MOV SP,#07H MOV IE,#85H MOV R0,#1EH MOV R1,#1CH MOV P1,#E2H ;南北绿东西红 LOOP1: LCALL SNG ;显示南北向绿灯剩余时间 LCALL EWR ;显示东西向...

单片机课设求汇编语言!其他的小问都无所谓,急求第5个!
答:显示BCD码怎么显示?比如拨码开关拨到0X0A了,那BCD码应该是 0001,0000. =16那怎么显示呢?显示1,6?(其实也可以。(((0x0a/10)<<4)+0X0A%10)这个就是BCD码了。把这个显示出来就好了;)应该是显示10进制数吧?比如0x0a :1,0这样的吧?这样的花把读到的拨码开关的值分高位,地位分别送...

51单片机 汇编语言的问题
答:RED_INT:;中断子程序 MOV SP,#60H---!!!PUSH PSW PUSH ACC ... ...你在中断程序中,修改了堆栈指针?返回的地址,就被破坏了。--- MOV SP,#60H--应该放在主程序 以后,任何时候,都不要更改 SP。

C51单片机入门编程问题
答:语法这样定的,遵守就行了。2、0xfe不是什么地址,就是个简单的赋值,OutData就是等于0xfe。OutData要是指一个端口的话,最前面是要有宏定义的,比如 define OutData P0 上面表示用OutData这个词代替P0。为什么要么定义,而不直接用P0就好了,你去查一下宏定义的好处就知道为什么会有这种用法了~...

关于汇编语言的问题,我们学习单片机的汇编语言,但是有些语言的意思不...
答:1、MOV R0,#20HLOOP:MOV A,R0MOV @R0,AINC R0CJNE R0,#50H,LOOP2、ORG 0000HLJMP MAINORG 000BHLJMP T0ISRORG 0030HMAIN:MOV TMOD,#01HMOV TH0,#HIGH(65536-50000)MOV TL0,#LOW(65536-50000)SETB TR0SETB ET0SETB EAMOV R2,#5SJMP $T0ISR:CLR TR0MOV TH0,#HIGH(65536-50000)...

急, 单片机汇编语言,题目求答案,最好写在纸上发过来,马上采纳给好评...
答:1:MOV A,#67H是将67H这个数送A MOV A,67H是将寄存器67H里面的值送A 2:MOV TMOD,#10H MOV TH1,#HIGH(65536-1000)MOV TL1,#LOW(65536-1000)SETB TR1 SETB ET1 SETB EA 3:MOV R0,#20H ;R0=20H MOV A,@R0 ;A=50H MOV R1,A ;R1=50H MOV B,@R1 ;B=25H ...