传送指令的功能是什么?其源操作数可以有哪些?目标操作数可以有哪些
1个回答
关注
展开全部
最基本的数据传送
一、通用数据传送指令
1. MOV指令
格式:MOV 目的操作数,源操作数
功能:将源操作数传送到目的操作数空间,源操作数不变。
使用要求:
① 源操作数和目的操作数不能同为存储器操作数,所有双操作数指令都应遵循这一语法要求。
② 立即数只能作为源操作数,不能作目的操作数。
③ CS不能作为目的操作数。
④ 不允许两个段寄存器之间直接传送信息。
⑤ 立即数不能直接送给段寄存器。
⑥ 目的操作数和源操作数的类型要匹配。
2. 入栈指令PUSH和出栈指令POP
格式:PUSH 源操作数
POP 目的操作数
功能:PUSH将源操作数压入椎栈的栈顶;POP指令将栈顶的内容弹出送到目的操作数。
执行PUSH指令时,系统先将(SP)-2→SP,再将字操作数存储到SP指示的栈顶单元中。执行POP指令时,系统先将SP所指的栈顶的字操作数送至目标空间,再将(SP)+2→SP,指示当前栈顶单元。
3. 交换指令XCHG
格式:XCHG 目的操作数,源操作数
功能:将目的操作数和源操作数的内容相互交换。
4. 换码指令XLAT
格式:XLAT
功能:将一种代码转换成另一种代码。
XLAT指令通常用于字符和ASCII码转换。执行时,将表格的首地址预先存入到BX中,将表中数据距表首地址的位移量存到AL中,然后将根据BX和AL的内容找到的数送到AL中,即[BX+AL]→AL。
二、累加器专用传送指令
1. 输入指令IN
格式:IN 累加器,端口地址
功能:从I/O端口读入信息到累加器。
2. 输出指令OUT
格式:OUT 端口地址,累加器
功能:将累加器中信息输出到I/O端口。
三、地址传送指令
1. 取有效地址指令LEA
格式:LEA 目的操作数,源操作数
功能:将源操作数的有效地址送到目的操作数中。
2. 地址指针送寄存器和DS指令 LDS
格式:LDS 目的操作数,源操作数
功能:将源操作数指定的存储单元中的4个字节(双字)的地址指针(通常为段地址和偏移地址)传送到DS和目的操作数,高两字节送DS,低两字节送目的操作数。
四、标志传送指令:专用于对标志寄存器操作。
1. LAHF,将标志寄存器低8位送AH。
2. SAHF,将(")
咨询记录 · 回答于2024-01-11
传送指令的功能是什么?其源操作数可以有哪些?目标操作数可以有哪些
最基本的数据传送
一、通用数据传送指令
1. MOV指令
格式:MOV 目的操作数,源操作数
功能:将源操作数传送到目的操作数空间,源操作数不变。
使用要求:
① 源操作数和目的操作数不能同为存储器操作数,所有双操作数指令都应遵循这一语法要求。
② 立即数只能作为源操作数,不能作目的操作数。
③ CS不能作为目的操作数。
④ 不允许两个段寄存器之间直接传送信息。
⑤ 立即数不能直接送给段寄存器。
⑥ 目的操作数和源操作数的类型要匹配。
2. 入栈指令PUSH和出栈指令POP
格式:PUSH 源操作数
POP 目的操作数
功能:PUSH将源操作数压入椎栈的栈顶;POP指令将栈顶的内容弹出送到目的操作数。
执行PUSH指令时,系统先将(SP)-2→SP,再将字操作数存储到SP指示的栈顶单元中。执行POP指令时,系统先将SP所指的栈顶的字操作数送至目标空间,再将(SP)+2→SP,指示当前栈顶单元。
3. 交换指令XCHG
格式:XCHG 目的操作数,源操作数
功能:将目的操作数和源操作数的内容相互交换。
4. 换码指令XLAT
格式:XLAT
功能:将一种代码转换成另一种代码。
XLAT指令通常用于字符和ASCII码转换。执行时,将表格的首地址预先存入到BX中,将表中数据距表首地址的位移量存到AL中,然后将根据BX和AL的内容找到的数送到AL中,即[BX+AL]→AL。
二、累加器专用传送指令
1. 输入指令IN
格式:IN 累加器,端口地址
功能:从I/O端口读入信息到累加器。
2. 输出指令OUT
格式:OUT 端口地址,累加器
功能:将累加器中信息输出到I/O端口。
三、地址传送指令
1. 取有效地址指令LEA
格式:LEA 目的操作数,源操作数
功能:将源操作数的有效地址送到目的操作数中。
2. 地址指针送寄存器和DS指令 LDS
格式:LDS 目的操作数,源操作数
功能:将源操作数指定的存储单元中的4个字节(双字)的地址指针(通常为段地址和偏移地址)传送到DS和目的操作数,高两字节送DS,低两字节送目的操作数。
将(AH)送标志寄存器低8位。 3.PUSHF,将标志寄存器的内容压入堆栈。 4.POPF,弹出栈顶的内容送标志寄存器。