3)XLAT换码指令格式:XLAT或XLAT表首址功能:使AL中的值变换为内存表格中的对应值它是一条隐含寻址方式的指令。将数据段内有效地址为(BX)+(AL)的内存字节单元中数据送入AL该指令常用来查表,即将表头地址赋予BX,再将需求的表内位移地址赋予AL,最后运用XLAT指令即可以将该地址处的表值送到AL功能图
3) XLAT换码指令 ➢格式: XLAT 或 XLAT 表首址 ➢功能:使AL中的值变换为内存表格中的对应值。 ➢它是一条隐含寻址方式的指令。 ➢将数据段内有效地址为(BX)+(AL)的内存字节单 元中数据送入AL。 ➢该指令常用来查表,即将表头地址赋予BX,再 将需求的表内位移地址赋予AL,最后运用XLAT 指令即可以将该地址处的表值送到AL。 功能图
XLAT换码指令的功能图数据段BXAL+表BX+ALAL存储器
XLAT换码指令的功能图 数据段 存储器 表 BX + AL BX+AL AL
4)PUSH入栈指令与POP出栈指令>堆栈是一个“后进先出LIFO”(或说“先进后出FILO”)的主存区域,位于堆栈段中;SS段寄存器记录其段基址堆栈的存取操作都发生在栈顶;用堆栈指针寄存器SP指定入栈指令PUSH出栈指令POP
4)PUSH入栈指令与POP出栈指令 ➢ 堆栈是一个“后进先出LIFO”(或说“先进 后出FILO”)的主存区域,位于堆栈段中; SS段寄存器记录其段基址。 ➢ 堆栈的存取操作都发生在栈顶;用堆栈指 针寄存器SP指定。 ★ 入栈指令PUSH ★ 出栈指令POP
入栈指令PUSH>格式:PUSH OPS>功能:修改指针:(SP)-2→SP;将OPS指定的寄存器、段寄存器或存储器中的一个字数据压入堆栈的顶部。例子PUSH指令在使用时应该注意:源操作数只能是16位,而不能是8位的。源操作数不能为立即数
入栈指令PUSH ➢ 格式:PUSH OPS ➢ 功能:修改指针:(SP)-2→SP;将OPS指定 的寄存器、段寄存器或存储器中的一个字数 据压入堆栈的顶部。 ➢ PUSH指令在使用时应该注意: ◼ 源操作数只能是16位,而不能是8位的。 ◼ 源操作数不能为立即数。 例子
PUSH指令的例子例:假设在指令执行前,(SP)=1000H;(AX)-1234H。 试分析PUSH AX指令的执行结果堆栈段34HOFFEHSPAX12HOFFFHSP★1000H存储器
PUSH指令的例子 例:假设在指令执行前,(SP)=1000H;(AX)= 1234H。试分析PUSH AX指令的执行结果。 SP 堆栈段 存储器 1000H 0FFFH SP 0FFEH AX ① ② 12H 34H