汇编
StarLish0715
以后,没有结果的事,就不开始了。
展开
-
汇编语言入门教程
原文链接:http://www.ruanyifeng.com/blog/2018/01/assembly-language-primer.html学习编程其实就是学高级语言,即那些为人类设计的计算机语言。 <!-- /div --> <!-- ...转载 2018-07-05 17:06:04 · 222 阅读 · 0 评论 -
汇编语言入门:转移指令(一)
汇编,条件转移指令怎么超出-128~+127的转移条件转移指令本身只能跳转-127~+128之间的地址,但如果需要超出这一范围该怎么做,麻烦举一个例子在力所能及的范围内,写一个标号,跳到此处后,再写一个转移指令,转移到目的地,即可。https://blog.csdn.net/abc_12366/article/details/79685102本章主要介绍jmp指令操作符offsetof...转载 2019-02-24 17:25:53 · 812 阅读 · 0 评论 -
汇编语言之转移指令和原理
https://blog.csdn.net/u011068702/article/details/529857371、引言可以修改IP,或同时修改CS和IP的指令统称为转移指令。概括地讲,转移指令就是可以控制CPU执行内存中某处代码的指令。8086CPU的转移行为有以下几类:1. 同时修改CS和IP时,称为段间转移,比如:jmp 100:2a7。2. 只修改IP时,称为段内转移,比如:...转载 2019-02-24 17:23:18 · 703 阅读 · 0 评论 -
N EQU ($-M)/2 是什么意思
−M表示从变量M对应的单元到当前单元间的字节数,而M是字变量,每个元素占2个字节,所以共有(-M表示从变量M对应的单元到当前单元间的字节数,而M是字变量,每个元素占2个字节,所以共有(−M表示从变量M对应的单元到当前单元间的字节数,而M是字变量,每个元素占2个字节,所以共有(-M)/2个元素。汇编语言 cn equ (−dat)/2是什么意思一般是用来求dat中定义的字节数,而此时的dat肯定是...转载 2019-02-23 14:19:52 · 2699 阅读 · 0 评论 -
汇编 db,dw,dd的区别
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...转载 2018-10-18 15:22:41 · 38276 阅读 · 0 评论 -
单片机的几种寻址方式
寻址就是寻找指令中操作数或操作数所在的地址。所谓寻址方式,就是如何找到存放操作数的地址,把操作数提取出来的方法。通常指源操作数的寻址方式。MCS-51系列单片机寻址方式共有七种:寄存器寻址、直接寻址、立即数寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址。1、寄存器寻址寄存器寻址是指操作数存放在某一寄存器中,指令中给出寄存器名,就能得到操作数。寄存器可以使用寄存器组R0~R7中某一个或其它寄...转载 2018-10-11 18:30:50 · 21024 阅读 · 5 评论 -
汇编教程8:hello world
刚才我已经写了一篇Radasm使用教程,为的就是让大家学起来不会遇到一点困难,不要让大家在玩第一个”hello World“就死机了,打击了兴趣、那就麻烦了!今天我就要带大家走进汇编的”hello World“了,我个人觉得我写的是比较慢的,讲的有点细,写了7篇了才写到进入”hello World“,其实我本意是把主力放win32上的,所以我会加快进度了。我可以想象你是绝对不会满足于到deb...转载 2018-10-11 16:35:55 · 695 阅读 · 0 评论 -
HEW中有效的编程技术--笔记
有效的编程技术1.为增进 ROM 的效率和执行速度,可用 1 字节大小来代表的数据,应被声明为字符/无符号字符 (char/unsigned char) 类型。2.为增进目标的效率和执行速度,任何具有正数值的变量应被声明为无符号。3.禁止冗余类型转换、通过确保在相同大小的数据项目之间执行操作,可增进 ROM 的效率和执行速度。4.使用 const 限定符、保持值不变的初始化数据应被...转载 2018-08-21 09:16:01 · 581 阅读 · 0 评论 -
(深入理解计算机系统) bss段,data段、text段、堆(heap)和栈(stack)
https://www.cnblogs.com/yanghong-hnu/p/4705755.html转载 2018-08-20 15:37:48 · 843 阅读 · 0 评论 -
如何把变量或者数组定义到SDRAM及任意位置
我们开发软件的时候,经常会遇到到一个问题,就是内存不够,这个时候就纠结了,怎么办,有两种方法,第一种是扩展内存,外加SRAM或者SDRAM;第二种应该就是优化代码,也就是通常所说的把数组大小减一减,代码量缩一缩,变量啥的能少就少。两种方法都不错,但是我觉得一般情况下采用第二种方法最终会以功能减弱为代价完成的,这是以我的水平来看的,因为我觉得要在不影响功能的情况下进行比较大的缩减,确实比较困难,这需...转载 2018-08-20 15:30:17 · 3004 阅读 · 0 评论 -
arm中R0-R15寄存器的作用
根据“ARM-thumb 过程调用标准”: r0-r3 用作传入函数参数,传出函数返回值。在子程序调用之间,可以将 r0-r3 用于任何用途。 被调用函数在返回之前不必恢复 r0-r3。如果调用函数需要再次使用 r0-r3 的内容,则它必须保留这些内容。 r4-r11 被用来存放函数的局部变量。如果被调用函数使用了这些寄存器,它在返回之前必须恢复这些寄存器的值。...转载 2018-08-20 12:02:25 · 1072 阅读 · 0 评论 -
微机原理与汇编语言中的指令JMP、CALL的区别
汇编语言中,JMP是无条件转移指令,CALL是子程序调用指令。指令JMP、CALL的区别在于,JMP指令控制程序直接跳转到目标地址执行程序,程序总是顺序执行,指令本身无堆栈操作过程。CALL指令跳转到指定目标地址执行子程序,执行完子程序后,会返回CALL指令的下一条指令处执行程序,执行CALL指令有堆栈操作过程。举例如下:JMP NEAR NEXT;跳转到NEXT执行程序…NEXT: ;...转载 2019-02-24 23:13:13 · 10773 阅读 · 0 评论