社区
汇编语言
帖子详情
我刚接触汇编,有点问题 。求教
leew1229
2011-01-12 08:31:25
汇编中 nop 有什么用,dump和他比较,会发生抢资源的情况么
现在接触的是8086 ,感觉单片机好控制多了。
dos就是简单啊,没那么多错误,出错了可以很快发现。
...全文
117
5
打赏
收藏
我刚接触汇编,有点问题 。求教
汇编中 nop 有什么用,dump和他比较,会发生抢资源的情况么 现在接触的是8086 ,感觉单片机好控制多了。 dos就是简单啊,没那么多错误,出错了可以很快发现。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
紫影
2011-01-13
打赏
举报
回复
清除由上一个算术逻辑指令设置的flag位...我还以为nop啥用都没呢,
znxllyuan
2011-01-13
打赏
举报
回复
http://topic.csdn.net/u/20110105/15/874882dc-03a6-4700-9bb3-dadb311549d2.html
nop指令的作用是什么,我就想起来一条,就是通过nop指令的填充(nop指令一个字节),使指令按字对齐,从而减少取指令时的内存访问次数。(一般用来内存地址偶数对齐,比如有一条指令,占3字节,这时候使用nop指令,cpu 就可以从第四个字节处读取指令了。) baidu了一下,发现有许多答案:
1)通过nop指令产生一定的延迟,但是对于快速的CPU来说效果不明显,可以使用rep前缀,多延迟几个时钟;-->具体应该说是占用了3个时钟脉冲!
2)i/o传输时,也会用一下 nop,等待缓冲区清空,总线恢复;
3)清除由上一个算术逻辑指令设置的flag位;
4)破解:)对于原程序中验证部分使用nop来填充,使验证失效;
5)有一个朋友说的比较厉害--在航天飞机控制程序中防止程序跳飞!
解释如下:在空间放射性环境下,放射性子粒很容易使内存位元改变(呵呵,有点基因突变的感觉),这样如果改变的是jump,call指令的存贮位置的话,就会导致程序跳转到一个不可以预置的位置,对于关键系统来说的确是灾难性的。所以就在被调用程序之前填充nop指令,这样即使跳转到稍前或者稍后的位置,也不会造成影响。
这样我想起"C tarp and fitfall"中举的那个导弹软件中的致命错误:因为导弹是以0.1s为单位进行记时的,但是由于浮点数没有办法精确的表示0.1,造成了舍尾误差,这个误差在导弹开启3天的之后逐渐的积累,结果误差了一秒。
renxu350
2011-01-13
打赏
举报
回复
NOP 的机器码是 90H,表示CPU不进行任何操作,继续向下一条指令执行,,,,,
紫影
2011-01-13
打赏
举报
回复
dump不知道,不过据我理解nop应该是数据"00",即不运行的代码...不知是否正确,
反
汇编
初级教程
这套课程是反
汇编
系列课程的基础阶段,后期将陆续推出反
汇编
进阶及反
汇编
课程。整套反
汇编
课程的教学目标是为了让大家能够窥息计算机程序世界的奥妙,为将来成为一名合格的大Hacker打下夯实的基础。 反
汇编
技术在计算机编程领域的应用非常广泛,从程序的性能优化到竞品软件的功能分析,从游戏外挂制作到大型厂商的反外挂体系,从木马病毒反人类到杀毒软件保平安等均需要从业者有深厚的反
汇编
功底。
Linux
汇编
语言开发指南
http://www.ibm.com/developerworks/cn/linux/l-assembly/index.html一、简介 作 为最基本的编程语言之一,
汇编
语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能。就拿 Linux 内核来讲,虽然绝大部分代码是用 C 语言编写的,但仍然不可避免地在某些关键地方使用了
汇编
代码
Linux
汇编
语言开发指南
http://blog.chinaunix.net/space.php?uid=25299072&do=blog&id=2943093一、简介 作为最基本的编程语言之一,
汇编
语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能。就拿 Linux 内核来讲,虽然绝大部分代码是用 C 语言编写的,但仍然不可避免地在某些关键地方使用了
汇编
代码,其中主
Linux下的AT&T语法(即GNU as
汇编
语法)入门
http://blogold.chinaunix.net/u3/105209/showart_2085748.html学习这么长时间,一直在C语言这一层面上钻研和打拼,日积月累,很多关于C的疑惑在书本和资料中都难以找到答案。程序员是追求完美的一个种群,其头 脑中哪怕是存在一点点的思维黑洞都会让其坐卧不宁。不久前在itput论坛上偶得《Computer Systems A Programmer's
初识计算机工作过程
这周在网易云课堂上学习了《Linux内核分析》——计算机是是如何工作的。本周学习内容有存储计算机工作模型、x86会变基础以及通过反编译一段简单的C语言的源代码,初步
接触
了计算机的工作过程。这里通过反
汇编
一个简单的C程序,分析
汇编
代码理解计算机是如何工作的。 先贴上一张对一个简单的C语言程序反
汇编
后的
汇编
代码的图片: 这段
汇编
代码是反编译后去除了以 ".“ 开头的行后的
汇编
代...
汇编语言
21,459
社区成员
41,601
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章