已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。下述程序执行后:
POP DPH
POP DPL
MOV DPTR,#4000H
RL A
MOV B,A
MOVC A,@A+DPTR
PUSH Acc
MOV A,B
INC A
MOVC A,@A+DPTR
PUSH Acc
RET
ORG 4000H
DB 10H,80H,30H,50H,30H,50H
请问:A=( ),SP=( ),(51H)=( ),(52H)=( ),PC=( )。
已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。下述程序执行后...
A=(50H), SP=(50H), (51H)=(FFH), (52H)=(FFH), PC=(未知) 原因:这只是一个子程序,根本没法找到程序运行地址,除非你写全所有程序。
已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。下列程序执行后...
时,将从 4000h 处,读出 30h、50h;当 a = 2 时,将从 4000h 处,读出 30h、50h。本题目,就是 a=2。读出来了 30h、50h,先后压栈,再执行 ret。ret 指令,就是把堆栈中的两个字节,送到 pc。那么,pc=5030h,就是这么来的。
已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。下列程序执行后...
在前人的基础上修改。POP DPH ; (52H)赋值给DPH,这个关系一直存在,知道程序结束。 SP= 51 H,POP DPL ;(51H)赋值给DPL,SP=50H MOV DPTR,#4000H ;DPTR=#4000H RL A ;A=04H ;16进制左移一位,先化为二进制过程更明显。MOV B,A ;B=04H MOVC A,@A+DPTR ;查...
看看这道单片机题
POP DPH sp指向52H,所以把52里的内容送给DPH,DPH=0FFH,然后sp减1 POP DPL 指向51H,所以把51里的内容送给DPL=0FFH,然后sp减1 MOV DPTR,#4000H 把4000H送给0FFFF地址,也就是片外存储器 RL A 左移A 00000010变为00000100,变为04H MOV B,A 把A送给B寄存器,此时B为04H MOVC A,@A+D...
51单片机的 pc值怎么算?
A=( 50h ),SP=( 50h ),(51H)=( 30h ),(52H)=(50h ),PC=( 5030h )pc总是指向下一条指令的首地址的。但是在返回的时候得看堆栈中的数了。上面程序执行完之后:(A)=50H;sp=50H(因为在程序中,sp减了两次,后来又加了两次,在程序最后ret有在返回的时候减了两次...
有关单片机的几个问题!跪求高手回答
1.是个循环,而且是个死循环。他在单片机中是常要用到的,功能就是只要单片机上电它使程序不停里执行死循环里的内容!2.这个看你的单片机的硬件电路了,你最好也先看懂硬件电路才编程。通常LED的公共端是用三极管选通的!看来你的LED是共阳极接法的,就是8个LED正极共同接到三极管的发射极,集电极接...
关于单片机的一道程序题目
MOVC A,@A+DPTR ;将5+4000H(也就是4005H)的数据送到A,所以A=50H PUSH A ;将A的数据压入52H,(52H)=50H RET ;52H、51H的数据弹出,成为PC地址 最后结果:A=50H、SP=50H、(51H)=30H、(52H)=50H、PC=3050H 天哪,我也晕了,堆栈是压栈+1还是-1忘记了,堆栈...
单片机的一道题 我和答案对不上 不知道是不是我错了 求大神求一下答案...
52H FFH 测试程序 ORG 0000H LJMP 0030H ORG 0030H main:MOV A,#02H MOV SP,#52H MOV 51H,#0FFH MOV 52H,#0FFH POP DPH POP DPL MOV DPTR,#4000H RL A \/\/A = 04H MOV B,A \/\/B = 04H MOVC A,@A+DPTR \/\/A = 30H PUSH ACC \/\/30H 入...
...PC的值是不是等于栈指针SP的值?也就是说(PC)=(DPH)+(DPL)?_百度知...
(SP) = #52H,代表当前栈指针指向的是内部RAM地址为52H的寄存器。程序分析:POP DPH ;(52H)=>(DPH) = #0FFH,(SP)-1,即(SP) = #51H POP DPL ;(51H)=>(DPL) = #0FFH,(SP)-1,即(SP) = #50H MOV DPTR,#4000H ;DPTR重新赋值,所以上两句对DPTR的修改无意义 RL...
单片机8051堆栈问题程序
;已知 (A) = 02H, (SP) = 40H, (41H) = FFH, (42H) = FFH;这是一个子程序,调用时PC由硬件自动入栈,所以调用后SP = 40H+2 = 42H,而42H处值=FFHPOP DPH;出栈,栈数据放到DPH和DPL,这时DPTR = FFFFHPOP DPL ;因为开始SP =42H,出栈后SP = 42H - 2 = 40HMOV DPTR...