社区
单片机/工控
帖子详情
关于$符号的汇编问题
youshiyouyu
2009-08-26 04:46:36
a.....
jmp $+3
c.....
d.....
e.....
f.....
g.....
请问jmp $+3 跳到哪里?
...全文
137
20
打赏
收藏
关于$符号的汇编问题
a..... jmp $+3 c..... d..... e..... f..... g..... 请问jmp $+3 跳到哪里?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Great_Bug
2009-08-27
打赏
举报
回复
当前指令的地址+3.....我前面说的不对
Great_Bug
2009-08-27
打赏
举报
回复
8: jmp $+3
C:0x0068 8001 SJMP C:006B
9: nop
C:0x006A 00 NOP
10: nop
C:0x006B 00 NOP
西山锈码
2009-08-27
打赏
举报
回复
用仿真器设断点调试一下不就明白了吗,看执行这一句后,跳到下面第几行就是了。
youshiyouyu
2009-08-27
打赏
举报
回复
jmp 指令长度是多少? cjne 是多少?
ckc
2009-08-27
打赏
举报
回复
具体跳到哪要看编译出来的结果
这种写法是比较容易出问题的,哪一天不小心在后面加了句或者修改了一句
或者cpu指令集调整甚至编译器换了一个都可能会得到不同的结果
Arnold9009
2009-08-26
打赏
举报
回复
当前pc的值+3
youshiyouyu
2009-08-26
打赏
举报
回复
ls 能举个例子吗?
guetcw
2009-08-26
打赏
举报
回复
要看什么指令集,51的话由于指令长度不确定,就不能确定跳到哪,需要看下面的代码的指令长度
youshiyouyu
2009-08-26
打赏
举报
回复
a.....
cjne x,#0ah , $+3
c.....
d.....
e.....
f.....
g.....
请问这个要是跳的话 跳到那里?
youshiyouyu
2009-08-26
打赏
举报
回复
哦? 是说jmp不会跳那么远? 就是下一行。。。
lbing7
2009-08-26
打赏
举报
回复
想起一个:
JMP在51上是三个字节
$只是JMP首字节的地址
若地址://假设JMP为指令内容,前为地址
0000:J
0001:M
0002:P
0003://此正好为:JMP首地址+3,意为下一条指令的首地址
怎么到这感觉JMP $+3是一句费话了呢?环境是在51上
youshiyouyu
2009-08-26
打赏
举报
回复
ls 谢谢!
lbing7
2009-08-26
打赏
举报
回复
jmp $+3 ;$+0
c..... ;$+1
d..... ;$+2
e..... ;$+3
lbing7
2009-08-26
打赏
举报
回复
$是jmp $+3 这一指令的存放地址
youshiyouyu
2009-08-26
打赏
举报
回复
ls $是多少 我觉得像f。。。
请教了
lbing7
2009-08-26
打赏
举报
回复
e.....
youshiyouyu
2009-08-26
打赏
举报
回复
假如一行就一条指令的话
youshiyouyu
2009-08-26
打赏
举报
回复
加入一行就一条指令的话
youshiyouyu
2009-08-26
打赏
举报
回复
ls 那应该是第几行?
Great_Bug
2009-08-26
打赏
举报
回复
当前地址(下一条指令地址)+3...
反
汇编
初级教程
这套课程是反
汇编
系列课程的基础阶段,后期将陆续推出反
汇编
进阶及反
汇编
课程。整套反
汇编
课程的教学目标是为了让大家能够窥息计算机程序世界的奥妙,为将来成为一名合格的大Hacker打下夯实的基础。 反
汇编
技术在计算机编程领域的应用非常广泛,从程序的性能优化到竞品软件的功能分析,从游戏外挂制作到大型厂商的反外挂体系,从木马病毒反人类到杀毒软件保平安等均需要从业者有深厚的反
汇编
功底。
汇编
语言中的
符号
“$“代表当前地址或标签的值。编程中,“$“可以用于获取当前指令或数据的地址,或者用于表示当前位置的标签。
在
汇编
语言中,程序员可以使用标签来标记特定的地址或代码块。例如,可以使用标签来标记循环的起始点或子程序的入口点。当需要引用这些地址或标签时,可以使用"$"
符号
。在上述代码中,"$"
符号
可以用来引用标签LOOP_START所代表的地址。这样,可以在程序中引用DATA_PTR来获取当前地址的值。它可以用于获取当前指令或数据的地址,引用标签所代表的地址,以及在数据定义中初始化为当前地址。"$"
符号
在不同的上下文中具有不同的含义。"
符号
可以方便地处理地址和标签,提高
汇编
程序的灵活性和可读性。
【
汇编
】
汇编
中$
符号
的含义
“$”是
汇编
语言中的一个预定义
符号
,等价于当前正
汇编
到的段的当前偏移值。“$”可用于表达式,并且可以用于表达式的任意位置。
ARM
汇编
特殊
符号
汇编
符号
引用
特殊
符号
---- 对应指令 ---- 含义 ---- 示例^ ---- MAP ---- 定义结构化内存表 ---- MAP 4096;内存表首地址为4096# ---- FIELD ---- 定义内存表中的数据,结合MAP指令使用 ---- MAP 4096 STACKSVC FIELD 256;定义从4096开始的256字节为SVC的堆栈空间。% ----
16位8086
汇编
与32位80386
汇编
($,$$,AX,EAX,align)
在学校学习了8086与
汇编
后,假期有兴趣看了看于渊的《自己动手写操作系统》,发现了许多“有趣”的不同。记录一下,供大家参考纠正错误。 1.$在
汇编
中有两种意思,在伪指令中指当前指令寄存器的值,在指令中表示当前指令的偏移地址,其实两者都是指令寄存器的值,但是对于指令它也是指令在代码段的偏移地址,于是死循环就可以写为jmp $。$$表示当前节(section)的开始处的地址。这个标识符在8086中我...
单片机/工控
27,375
社区成员
28,770
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章