储器操作数。例321LEABX,BLOCK;将BLOCK的有效地址传送到BX中16位LEAEAX,EBX;将EBX内容有效地址传送到EAX中32位2格式LDSES,FS,GS,SSREG,MEM功能:根据源操作数指定的偏移地址,在数据段中取出段地址和偏移地址分别送指定的段寄存器和指定的通用寄存器。例322LESBX,SI;将32位地址指针分别送ES和BXLSSEAX,EDI;将48位地址指针分别送SS和EAX
323例323DATA1DDbuff
LDSBX,DATA1;将buff的32位地址指针分别送DS和BX
地址传送指令对标志位无影响。四、标志寄存器传送指令1格式:LAHFSAHF功能:LAHF将标志寄存器中低8位送AH中。SAHF将AH中内容送标志寄存器中低8位。2格式:PUSHFPOPF功能:PUSHF将标志寄存器低16位内容压入堆栈,SP←SP2。POPF将当前栈顶一个字传送到标志寄存器低16位中,SP←SP2。3格式:PUSHFDPOPFD功能:PUSHFD将标志寄存器32位内容压入堆栈SP←SP4。POPFD将当前栈顶一个双字传送到32位标志寄存器中,SP←SP4。上述SAHF,POPF,POPFD均影响相应的标志寄存器内容。五、查表指令格式:XLAT功能:将寄存器AL中的内容转换成存储器表格中的对应值。实现直接查表
f功能。XLAT指令规定:BX寄存器存放表的首地址,AL寄存器中存放表内偏移量,执行XLAT指令,以段寄存器DS的内容为段基址,有效地址为BX和AL内容之和,取出表中一个字节内容送AL中。324例324内存中有一起始地址为TABLE的编码表,试编程将表中顺序号为4的存储单元内容送寄存器AL。MODELSMALLDATATABLEDB11H,22H,33H,44H,55H某编码表CODESTARTUPMOVAL,4;AL←4MOVBX,OFFSETTABLE;BX←TABLE表首地址XLAT;结果在AL中,AL55HEXITEND查表指令不影响标志位。六、符号扩展指令1格式:CBW功能:将AL中8位带符号数,进行带符号扩展为16位,送AX中。带符号扩展是指对正数高位扩展为全“0”,对负数高位扩展为全“1”。325AL55H经CBW扩展后AX0055H例325ALA5H经CBW扩展后AXFFA5H2格式:CWD功能:将AX中16位带符号数,进行带符号扩展为32位,送DX和AX中。高16位送DX中,低16位送AX中。3格式:CWDE功能:将AX中16位带符号数,进行带符号扩展为32位,送EAX中。4格式:CDQ功能:将EAX中32位带符号数,进行带符号扩展为64位,送EDX和EAX中。低32位送EAX中,高32位送EDX中。符号扩展指令对标志位无影响。332算术运算指令80x86指令包括加、减、乘、除四种基本算术运算操作及十进制算术运算调整指令。二进制加、减法指令,带符号操作数采用补码表示时r