咖啡综合整理
汇编语言复习资料整理
第二章
这个软件是我在软件城下载的
wwwappctiycom
1、标志位的符号表示、
标志位OFDFIFSFZFAFPFCF溢出(是否)方向(减量增量)中断(允许关闭)符号(负正)零(是否)辅助进位(是否)奇偶(偶奇)进位(是否)标志为1OVDNEINGZRACPECY标志为0NVUPDIPLNZNAPONC
2、寄存器组
(1)通用寄存器数据寄存器EAX(32位)AX(16位)EBX(32位)BX(16位)ECX(32位)CX(16位)EDX(32位)DX(16位)指针或变址寄存器ESP(32位)SP(16位)EBP(32位)BP(16位)EDI(32位)DI(16位)ESI(32位)SI(16位)(2)专用寄存器EIP(32位)IP(16位)指令指针寄存器EFLAGS(32位)FLAGS(16位)标志寄存器ESP32位SP(16位)堆栈指针寄存器
AH(8位)(高位)BH(8位)(高位)CH(8位)(高位)DH(8位)(高位)
AL8位(低位)累加器BL8位(低位)基址变址CL8位(低位)计数器DL8位(低位)数据
堆栈指针寄存器基址指针寄存器目的变址寄存器源变址寄存器
1
f咖啡综合整理
3、段寄存器CS(16位)代码段SS(16位)堆栈段DS(16位)数据段ES(16位)附加段
4、段寄存器和相应存放偏移地址的寄存器之间的默认组合
段CSSSDSESIPSP或BPBX、DI、SI或一个16位数DI(用于串指令)偏移
第三章
2、指令系统
I.数据传送指令(1)通用数据传送指令MOV传送
MOVSX带符号扩展传送用源操作数的符号位来填充目的操作数的高位数据位。例:MOVSXEAXCL把CL寄存器中的8位数,符号扩展为32位数,送到EAX寄存器中。MOVZX带零扩展传送恒用0来填充目的操作数的高位数据位例:MOVZXDXAL把AL寄存器中的8位数,零扩展成16位数,送到DX寄存器中。PUSH进栈
入栈时高位字节先入栈,低位字节后入栈。SP指向栈顶。
2
f咖啡综合整理
POP出栈以“先进后出”方式工作。SP指向栈顶PUSHAPUSHAD所有寄存器进栈PUSHA(16位):进栈次序为:AXCXDXBXSPBPSIDIPUSHAD32位:进栈次序为:EAXECXEDXEBXESPEBPESIEDIPOPAPOPAD所有寄存器出栈POPA16位:出栈次序为:DISIBPSPBXDXCXAXPOPAD32位:出栈次序为:EDIESIEBPESPEBXEDXECXEAXXCHG交换例:XCHGAXBX交换AX与BX中的数据(2)累加器专用传送指令(只限于使用累加器)IN输入例:INAX28HMOVDATA_WORDAX把端口28的内容经过AX传送到存储单元DATA_WORD中。OUT输出例:OUT5AL从AL寄存器输出一个字节到端口5。XLAT换码(3)地址传送指令LEALDSLESLFSLGSLSS①
有效地址送寄存器指针送寄存器和DS指针送r