摘要:
知识点: REPE/REPZ 指令 CMPSB 指令 一、CMPSB //cmp //sub //SCASB//scasw//scasd cmp byte ptr [edi],al //对标志位的影响相当于sub指令 word,dword //同时还会修改寄存器EDI的值:如果标志DF为0,则 inc EDI;如果DF... 阅读全文
摘要:
知识点: REPNE/REPNZ 指令 SCASW 指令 SCASD 指令 SCAS 指令 一、SCASW 指令 //SCASB cmp word ptr [edi],al //对标志位的影响相当于sub指令 //同时还会修改寄存器EDI的值:如果标志DF为0,则 inc EDI;如果DF为1,则 dec EDI。 二、SCA... 阅读全文
摘要:
知识点: REPNE/REPNZ 指令 SCASB 指令 一、SCASB 指令 cmp byte ptr [edi],al //对标志位的影响相当于sub指令 //同时还会修改寄存器EDI的值:如果标志DF为0,则 inc EDI;如果DF为1,则 dec EDI。 二、REPNE 指令 REPNE SCAS BYTE PTR ES:[EDI]... 阅读全文
摘要:
XOR运算 按位异或^ 一、按位异或^ 运算符^ 1^1=0;0^0=0; //相同则为0 0^1=1;1^0=1; //不相同为1 1101^0110=1011; // asm_XOR.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { uns... 阅读全文
摘要:
知识点: (NOT)按位取反指令 逻辑取反(!) 按位取反(~) SETZ(SETE) 取ZF位值保存 SETNZ(SETNE)将ZF位值取反后保存 一、逻辑取反(!) !111 =0; !0=1; SETZ(SETE) //取ZF标志位值 放到寄存器里 SETNZ(SETNE) 二、按位取反NOT指令 VC中提供运算符为(~) 1... 阅读全文
摘要:
AND运算 逻辑与&& 按位与& 一、AND运算 1&&12=1; 12&&0=0; 0&&1=0; 00401000 /$ 55 PUSH EBP 00401001 |. 8BEC MOV EBP,ESP 00401003 |. 83EC 10 SUB ESP,10 00401006 |. C7... 阅读全文