此帖出自DSP 与 ARM 处理器论坛
最新回复
引用别人的一段回答:
1.关于NOP指令:
代码数据为0x90,如果在数据区出现了0x90,不能算数的。
反汇编C程序的代码区,当出现需要使用空指令的时候,往往是为了对齐,比方说CPU对4字节的倍数的地址访问比较快,那么在经常用JMP到达的地址,编译器为了优化,常常会将其放在4X的倍数处,那么前面空出来几个字节,就全是Nop了。
2.关于程序的编译执行:
Nop是空执行,即不做任何事,仅仅后移CPU的CS:EIP指针,如果一个程序专门NOP,那么它其实是什么都不做,完全没有意义。这样的程序,你用C语言是几乎编写不出来的,除非在C语言中嵌入汇编代码,但是这样,已经不是C语言编程了。
详情
回复
发表于 2013-12-27 10:08
| ||
|
||
| |
|
|
| |
个人签名上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
|
|
此帖出自DSP 与 ARM 处理器论坛
| ||
|
||
曾经的版主且威望大于2000,或对EEWORLD论坛有突出贡献的坛友
论坛威望大于30000或网友提名:坛子里公认的技术导师
EEWorld Datasheet 技术支持