汇编语言教程:语言组成
在这个社会发展,科技创新的时代,电脑已经成为了我们生活中的一部分,因为汇编指令系统巨大,因而需构建指令系统体系,其指令数量巨大,格局杂乱,可记忆性差等。指令中最难的是指令所支撑的寻址方法,其实质便是指令中操作数怎么获取。对于处理器而言,便是怎么找到他所需的数据。但对于核算机底层的汇编语言而言,这种寻址方法将涉及很多的核算存储格局,与 杂乱的存储管理方法严密相关,因而难以了解。最终,汇编指令还关系到怎么影响标志位,但处理器标志位非常杂乱,因而对其机制把握就比较困难。
汇编语言教程:语言组成图1
传送指令
包含通用数据传送指令MOV、条件传送指令CMOVcc、仓库操作指令PUSH/PUSHA/PUSHAD/POP/POPA/POPAD、交流指令XCHG/XLAT/BSWAP、地址或段描述符挑选子传送指令LEA/LDS/LES/LFS/LGS/LSS等。
汇编语言教程:语言组成图2
逻辑运算
这部分指令用于执行算术和逻辑运算,包含加法指令ADD/ADC、减法指令SUB/SBB、加一指令INC、减一指令DEC、比较操作指令CMP、乘法指令MUL/IMUL、除法指令DIV/IDIV、符号扩展指令CBW/CWDE/CDQE、十进制调整指令DAA/DAS/AAA/AAS、逻辑运算指令NOT/AND/OR/XOR/TEST等。
汇编语言教程:语言组成图3
移位指令
这部分指令用于将寄存器或内存操作数移动指定的次数。包含逻辑左移指令SHL、逻辑右移指令SHR、算术左移指令SAL、算术右移指令SAR、循环左移指令ROL、循环右移指令ROR等。
汇编语言教程:语言组成图4
位操作
这部分指令包含位测验指令BT、位测验并置位指令BTS、位测验并复位指令BTR、位测验并取反指令BTC、位向前扫描指令BSF、位向后扫描指令BSR等。
控制搬运
这部分包含无条件搬运指令JMP、条件搬运指令Jcc/JCXZ、循环指令LOOP/LOOPE/LOOPNE、过程调用指令CALL、子过程返回指令RET、中断指令INTn、INT3、INTO、IRET等。
这部分指令用于对数据串进行操作,包含串传送指令MOVS、串比较指令CMPS、串扫描指令SCANS、串加载指令LODS、串保存指令STOS,这些指令能够有挑选地使用REP/REPE/REPZ/REPNE和REPNZ的前缀以连续操作。
输入输出
这部分指令用于同外围设备交流数据,包含端口输入指令IN/INS、端口输出指令OUT/OUTS。