微机原理里面的$有两重意思。第一表示当前地址,如果$出现在程序段,就表示与$同一行的指令地址,如果$出现在数据段中,则表示数据的地址;第二表示字符串的结束符,需要用引号标示,即“$”,例如 string db "abcde$"。
sp是堆栈指针,是指向堆栈数据区的顶端地址,执行一次PUSH、POP指令,sp就会自动增加或减少,使sp始终指向堆栈顶。
pc是程序指针,它指向的是当前正在执行指令的地址单元,pc的值随着指令的执行而变化,一般不会是最大地址值。
希望我的回答能解决你的疑惑。
SJMP $ 意思即跳转到本指令的起始位置开始执行,这样就变成了循环执行,即原地跳转,一般用来等待中断。
但是本指令也不宜滥用。这是一条死循环指令,如果系统的中断是开放的,那么SJMP $指令实际上是在等待中断,当有中断申请后,CPU 转至执行中断服务程序。
中断返回时,仍然返回到这条死循环指令,继续等待中断,而不是返回到该指令的下一条指令。这是因为执行SJMP $后,PC 仍指向这条指令,中断的断点就是这条指令的首字节地址。
51单片机指令。
功能:短转移(Short Jump)
格式:SJMP rel ;
作用: PC <-PC+2 , PC <-PC+rel短转移指令(-128—+127范围内的转移指令)。
短转移指令的功能是先使程序计数器PC加1两次(即:取出指令码),然后把加2后的地址和rel相加作为目标转移地址。
因此,短转移指令是一条相对转移指令,是一条双字节双周期指令,指令码格式为:80H rel( *** 作码 地址偏移量),这里,80H是SJMP指令的 *** 作码;rel是地址偏移量,在程序中也常采用符号地址,上机运行前才被代真成二进制形式。
扩展资料:
单片机指令系统:
MCS-51共111条指令。
指令分类:
1、按指令所占的字节来分:
(1)单字节指令(49条) 如MOV A,R2,(机器码11101010)
(2)双字节指令(46条) 如MOV A,#0BH,(机器码74H,0BH)
(3)三字节指令(16条) 如MOV 0BH, #0BH ,(机器码75H,0BH,0BH)
2、按指令的执行时间来分:(1个机器周期为12个时钟周期)
(1) 1个机器周期(64条) ,如MOV A,R2 MOV A,#0BH,
(2) 2个机器周期(45条) ,如MOV 0BH, #0BH
(3) 4个机器周期(2条) ,乘、除指令。
指令格式:
一、按 *** 作码和 *** 作数分。
1、 *** 作码:用来规定指令进行什么 *** 作。
如MOV A,#0BH,(机器码74H,0BH)
其中74H为 *** 作码,指明“将立即数送入ACC”这种 *** 作;
2、 *** 作数:则是指令 *** 作的对象,有可能是数据,也可能是地址。
如MOV A,#0BH,其中#0BH为 *** 作数。
有单字节指令、双字节指令、三字节不同长度的指令,格式不同:
(1)单字节指令: *** 作码、 *** 作数同在一个字节中。
(2)双字节指令: *** 作码+ *** 作数。
(3)三字节指令: *** 作码+ *** 作数+ *** 作数。
二、按助记符和 *** 作数分:
*** 作助记符[目的 *** 作数,源 *** 作数]
如MOV A,#0BH,(机器码74H,0BH),其中:
(1)MOV为 *** 作助记符, 指明“内部数据传送”这种 *** 作;
(2)A为目的 *** 作数,指明“数据传送的目的寄存器”是A;
(3) #0BH为源 *** 作数。
参考资料来源:百度百科-单片机指令
参考资料来源:百度百科-SJMP
你说的是AVR单片机。
PORTA = 0x00;---定义PA口为0x00,及PA口上的所有管脚输出为低电平,同样道理,如果些微PORTA=0xFF,则都输入高电平,0xFF及二进制的11111111,如果想让某一位输出高,其他为低,如00000001,则是PA0输出为高电平,PA1——PA7输出为低电平。(说明:每个口线与单片机实际引脚的对应关系请参看技术手册。)
DDRA = 0xFF;----定义引脚的输出输入模式,1为输出,0为输入。当使用输出模式及设置为1时,PORTA的值将影响内部上拉电阻的使用,如果PORTA对应管脚的值为1,则使用内部上拉电阻,否则不采用。 除了这里说的“=”之外,管脚的控制还有其他算符,|= ,&=! ,^=,==。
以下B,C,D端口同理。
以上就是关于微机原理里面的$,单片机里面的sp和pc 有什么区别吗,它们指向的到底是地址最大的那条指令还是最大地址加1全部的内容,包括:微机原理里面的$,单片机里面的sp和pc 有什么区别吗,它们指向的到底是地址最大的那条指令还是最大地址加1、单片机的一条指令: SJMP $ 是啥意思、请问单片机程序中的这些符号是什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)