汇编语言
文章平均质量分 58
lllle00
这个作者很懒,什么都没留下…
展开
-
逻辑运算指令(汇编)
文章目录0x01 逻辑指令简介0x02 与或非指令0x03 移位指令一、左移二、右移0x01 逻辑指令简介 和 C 语言类似,逻辑运算可以有常见的与或非、移位的相关指令。0x02 与或非指令 and 指令,即为与指令。 or 指令,即为或指令。 xor 指令,即为异或指令。 not 指令,即为非指令。 test 指令,将两个操作数相与,其结果并不保存(and 指令保存结果),并根据结果是否为 0 修改 ZF 标志位。0x03 移位指令 在汇编中移位命令有很原创 2021-06-03 13:31:22 · 2175 阅读 · 0 评论 -
算术运算(汇编)
文章目录0x01 常见的算术运算指令0x02 加法0x03 减法0x04 neg 求补0x05 乘法0x06 除法0x07 参考0x01 常见的算术运算指令 我们常见的算术运算指令有: add (加法)、adc(带进位加法)、inc(加一)、dec(减一)、sub(减法)、sbb(带借位减法)、neg(求补)、cmp(比较)、mul(无符号数乘法)、imul(带符号数乘法)、div(无符号数除法)、idiv(带符号数除法)、cbw(字节转换为字)、cwd(字转换为双字)。 下面介绍其中原创 2021-06-02 18:15:36 · 1310 阅读 · 0 评论 -
标志寄存器操作
文章目录0x01 常见操作指令0x02 标志寄存器一、ZF标志二、PF标志三、SF标志四、CF标志五、OF标志六、DF标志位和串传送指令0x01 常见操作指令 在 CISC 中对于标志寄存器存在一些指令对标志寄存器操作,常见的有:LAHF、SAHF、PUSHF、POPF。LAHF: 指令可以将标志寄存器的低八位送入 AH 中,即将标志寄存器中的SF、ZF、AF、PF、CF 这五个标志位传送到 AH 的对应位置上。标志位寄存器位置如下[外链图片转存失败,源站可能有防盗链机制,建议将图片保存原创 2021-06-02 16:10:58 · 1238 阅读 · 0 评论 -
传送指令小记(汇编)
文章目录0x01 常用指令0x02 mov 指令0x03 push/pop0x04 lea 指令0x01 常用指令 在传送指令中常用的有 mov、push、pop、lea 这四个指令0x02 mov 指令 mov 指令是最常见的传送指令,基本格式为:mov dst src ;dst 表示传送内容的目标 ,src 表示传送内容的来源;dst 可以是寄存器、存储器;src 可以是寄存器、存储器、立即数;段寄存不可以直接使用 mov 指令传送如:mov ds 5、mov ds eax;原创 2021-06-02 15:16:18 · 470 阅读 · 0 评论 -
汇编指令集简介
文章目录0x01 寄存器0x02 指令简介0x03 指令集0x01 寄存器 寄存器不严谨的可以分为通用寄存器和专用寄存器。 以 32 位寄存器为例: 通用寄存器有:eax、ebx、ecx、edx,它们可以在所有地方使用。这四个并不是完全就是 “ 通用 ” ,它们还有各自的习惯用法。 源变址寄存器和目标变址寄存器有:esi、edi。esi 的作用是存放要处理的数据的内存地址,edi 的作用是存放处理后的数据的内存地址。 栈相关的寄存器有:SS、ebp、esp。其中 esp原创 2021-06-02 12:18:42 · 714 阅读 · 0 评论 -
ADC 加法(x86)
什么是 ADC 加法: ADC 加法就是指带进位加法,指将源操作数和进位标志位的值都与目的操作数相加具体例子: 我们将 8 位的 0xff 和 0xff 相加,可以利用一下汇编进行计算mov dl, 0 ;将高位寄存器 dl 置零mov al, 0FFh ;将 0xff 移入8位寄存器al中add al, 0FFh ;使 AL = FEhadc dl, 0 ;将进位标志位 cf 和 0 和寄存器 dl 相加得到 0x01fe...原创 2021-02-26 16:01:09 · 1369 阅读 · 0 评论 -
16位地址寻址能力为64KB (汇编语言)
课本原话:问题: 为什么是是 64KB, 8 bit 为一个 Byte ,不是应该为 128 KB 吗?解答: 一开始我以为是指段+偏移地址后得出的结论,实际上课本讲的是偏移地址为16位,则很明显,偏移地址的寻址可以寻到 2162^{16}216 个地址,即 64 K 个地址,计算机的存储单位为 Byte ,所以 16 位地址的寻址能力为 64 KB (我是这么理解的)...原创 2020-10-09 12:24:52 · 4544 阅读 · 0 评论