汇编Win32 汇编[26] – 加减指令: INC、DEC、NEG、ADD、ADC、SUB、SBB、CMP ;INC(Increment): 加一 ;DEC(Decrement): 减一 ;NEG(Negate): 求补(求反) ;ADD(Add): 加 ;ADC(Add Carry): 带进位加 ;SUB(Subtract): 减 ;SBB(Subtract With Borrow): 带进位减 ;CMP(Compare): ... 懒人 1022℃ 0评论 0喜欢
汇编Win32 汇编[25] – 符号扩展指令: CBW、CWDE、CDQ、CWD CBW、CWDE、CDQ、CWD: 扩展指令 ;CBW(Convert Byte to Word): 将 AL 扩展为 AX ;CWDE(Convert Word to Extended Double): 将 AX 扩展为 EAX ;CDQ(Convert Doubleword to Quadword): 将 EAX 扩... 懒人 1464℃ 0评论 0喜欢
汇编Win32 汇编[24] – 移位: SHL、SHR SHL、SHR、SAL、SAR: 移位指令 ;SHL(Shift Left): 逻辑左移 ;SHR(Shift Right): 逻辑右移 ;SAL(Shift Arithmetic Left): 算术左移 ;SAR(Shift Arithmetic Right): 算术右移 ;其中的 SHL ... 懒人 1070℃ 0评论 0喜欢
汇编Win32 汇编[23] – 位测试与位扫描指令: BT、BTC、BTR、BTS、BSF、BSR BT、BTS、BTR、BTC: 位测试指令 ;BT(Bit Test): 位测试 ;BTS(Bit Test and Set): 位测试并置位 ;BTR(Bit Test and Reset): 位测试并复位 ;BTC(Bit Test and Complement): 位测试并取反 ... 懒人 1630℃ 0评论 0喜欢
汇编补码(为什么按位取反再加一):告诉你一个其实很简单的问题 首先,阅读这篇文章的你,肯定是一个在网上已经纠结了很久的读者,因为你查阅了所有你能查到的资料,然后他们都会很耐心的告诉你,补码:就是按位取反,然后加一。准确无误,毫无破绽。但是,你搜遍了所有俯拾即是而且准确无误的答案,却仍然选择来看这篇毫不起眼的文章,原因只有一个,只因为你还没有得到你想要的东西。 因为你想要的,不是1+1=2,而是,1+1为什么等于2。当然... 懒人 1831℃ 0评论 0喜欢
汇编汇编语言各种指令的解释与用法 【数据传输指令】;一、通用数据传送指令;1、传送指令MOV(move);指令的汇编格式:MOVDST,SRC;指令的基本功能:(DST)<-(SRC)将;指令支持的寻址方式:目的操作数和源操作数不能同时;指令的特殊要求:目的操作数DST和源操作数SRC;目的操作数DST不能是CS,也不能用立即数方式;2、进栈指令PUSH(pushontothest;出... 懒人 1079℃ 0评论 0喜欢
汇编Win32 汇编[11]: 数据对齐相关的伪指令(ALIGN、EVEN、ORG) 32 位的寄存器容量是 4 字节, 如果内存中的数据都按 4*n 字节对齐, 肯定会加快吞吐速度; 但事实并非如此, 不同大小的数据可能会让寄存器别别扭扭地去处理, 从而降低了运行速度! 如果使用对齐, 就会浪费掉一些内存空间; 其实这是一个需要权衡 “速度” 与 “内存” 得失的问题. 准备使用的测试文件: ... 懒人 1123℃ 0评论 0喜欢
汇编Win32 汇编[21] – 传送指令: MOV、LEA 汇编指令的一般性要求: 1、两个操作数的尺寸必须一致; 2、操作数不能同为内存. MOV(Move): 最常用的数据传送指令 ;该指令不影响 EFlags ;指令格式: (其中的 r、m、i 分别表示: 寄存器、内存、立即数) MOV r/m, r/m/i ; Test21_1.asm .386 .model flat, stdcall ... 懒人 1087℃ 0评论 0喜欢