汇编语言
arch li
这个作者很懒,什么都没留下…
展开
-
汇编语言(3) 条件处理
布尔指令和比较指令and指令:除了两个以逻辑与是1其余的都是0将字符转换为大写:01100001=61h('a')01000001=41('A')把任何一个字符与二进制数1101 1111进行and九科得到大写or指令:除了两个零逻辑或是0其余的都是1or al,al下表给出了零标志位和符号标志位对al内容的说明:零标志位符号标志位AL中的值清零清零大...原创 2019-08-13 14:40:21 · 699 阅读 · 0 评论 -
汇编学习(1)
TYPE运算符:返回该变量的字节数。例如:.datavar1 BYTE ?TYPE var1 的值为1,以此类推WORD 是2…————————————————————————————————————————————————————————LENGTHOF运算符:计算数组中元素的个数,只针对数组的第一行————————————————————————————————————————...原创 2019-08-09 14:00:06 · 126 阅读 · 0 评论 -
汇编语言(4)整数运算
移位和循环移位指令移位和循环移位指令如下表:SHL左移SHR右移SAL算术左移SAR算术右移ROL循环左移ROR循环右移RCL带进位的循环左移RCR带进位的循环右移SHLD双精度左移SHRD双精度右移移位操作数的位有两种方法,一种是逻辑移位,另一种是算术移位。逻辑移位:空出来的位用0填充算术移位:...原创 2019-08-14 23:15:52 · 1231 阅读 · 0 评论 -
汇编语言(2)--过程
堆栈操作ESP:堆栈指针寄存器。总是指向栈顶。入栈操作:运行时堆栈在内存中是向下生长的,即从高地址向低地址扩展。出栈操作:ESP之下的堆栈域在逻辑上是空白的,当前程序下一次执行任何数值入栈操作指令都可以覆盖这个区域。堆栈应用:当寄存器用于多个目的时,堆栈可以作为寄存器的一个方便的临时保存区。在寄存器被修改后,还可以恢复其初始值。执行call指令时,cpu在堆栈中保存当前过程的返回地址...原创 2019-08-11 13:38:55 · 210 阅读 · 0 评论 -
汇编语言(5)--高级过程
堆栈帧堆栈帧:是一块堆栈保留区域,用于存放被传递的实际参数,子程序的返回值,局部变量以及被保存的寄存器。堆栈帧的创建步骤:被传递的实际参数。如果有,则压入堆栈。当子程序被调用时,是该程序的返回值压入堆栈。子程序开始执行时,EBP被压入堆栈。设置EBP等于ESP。从这时开始,EBP就变成了该子程序所有参数的引用基址。如果有局部变量,修改ESP以便在堆栈中为这些变量预留空间如果需要保...原创 2019-08-29 18:36:17 · 148 阅读 · 0 评论