一个懒人专用文章归档神器,如果你不能成为压路机的一部分,那么你就只能成为道路的一部分 Bala~bala~

 分类:汇编

寄存器各flag理解

寄存器各flag理解
第0位 CF(carry flag):记录有无进位,主要是记录超过寄存器字长的虚拟一位,当虚拟位是1的话,CF = 1;虚拟位为0的的话,CF = 0;这里有一个问题我郁闷了两天翻《计组》中的运算才搞明白,虽然机器码都是二进制码,但是存储的方式是补码,负数补码是2^(n+1) + x,【n:整数位数, x:真值】所以说位数比单纯的取反加1多一位,所以计算得出...

懒人 1539℃ 0评论 0喜欢

嵌入汇编[8] – 8 位寄存器、16 位寄存器与 32 位寄存器

嵌入汇编[8] – 8 位寄存器、16 位寄存器与 32 位寄存器
王爽老师书上说, CPU 内部主要就是寄存器. 现在我们在 32 位的系统下工作, 当然主要使用的是 32 位寄存器; 那它和 8 位、16 位的寄存器又有什么关系呢? EAX 是 32 位的, 也就是 4 个字节大小; 它的低两位就是 AX; AX 是 16 位的, 又分 2 个字节; 它的高字节是 AH、低字节是 AL; AH 与 AL 是 8 位的....

懒人 1263℃ 0评论 0喜欢

嵌入汇编[3] – 第一个 Delphi 与汇编的例子

嵌入汇编[3] – 第一个 Delphi 与汇编的例子
前面知道了一个汇编的赋值指令(MOV), 再了解一个加法指令(ADD), 就可以做个例子了. 譬如: ADD AX,BX; 这相当于 Delphi 中的 AX := AX + BX; 另外提前来个列表 – Delphi 可以用汇编管理以下寄存器: 32 位寄存器: EAX EBX ECX EDX ESP EBP ESI EDI 16 位寄存器: ...

懒人 1016℃ 0评论 0喜欢