<!--go-->
这个功能可以简化一些运算,比如逻辑上要给一个数字乘以2然后输出,在有些时候都不需要运算,只需要将这些数字输出完后,再在后面填上一个NOP,让等待填装的接收区在数字后因此自动填上一个0,就可以实现乘2进位的目的。
还有一个重要的作用,就是通过NOP指令可以产生一定的延迟功能。
虽然没有输出,但是NOP指令同样是需要占用计算机的执行时间的,加上循环次数,就可以在相应次数的指令执行时间,让程序实际上实现“暂停”的功能。
计算机在执行程序的时候,经常是在共用缓冲区内存储数据,这个缓冲区常常需要清空操作,等待总线恢复成无数据运行的状态,巧用NOP指令,就能够实现这样的功能。
然而就是这么有用的一条指令,被有心人发现了新“用处”。
在操作系统当中,指令的输入与返回,是通过堆栈来进行的。
堆栈大体来讲好像一个仓库,仓库分作了几个区域,每个区域用来存放一堆“门牌号”,这样的门牌号,在单片机系统里叫做“寄存器”,程序调用时,工作方式就是挨着读取这些门牌号,将这些地址对应的寄存器中内容读入到栈中,最后将计算结果存放到返回地址当中去。
这时候就有人想到使坏了,因为堆栈的内容填充是从低地址向高地址进行的,最高的位置就是结果地址。
Loading...
未加载完,尝试【刷新】or【关闭小说模式】or【关闭广告屏蔽】。
尝试更换【Firefox浏览器】or【Chrome谷歌浏览器】打开多多收藏!
移动流量偶尔打不开,可以切换电信、联通、Wifi。
收藏网址:www.yuesekanshu.com
(>人<;)