微机原理及应用 通用数据传送指令 通用数据传送指令主要由以下几部分组成: ☆最基本的传送指令 堆栈操作指令 数据交换指令 查表换码指令 字位扩展指令 特点 该类指令的执行对标志位不产生影响 返回
微机原理及应用 6 通用数据传送指令 6 通用数据传送指令主要由以下几部分组成: 最基本的传送指令 堆栈操作指令 数据交换指令 查表换码指令 字位扩展指令 返 回 特点: 该类指令的执行对标志位不产生影响
微机原理及应用 最基本的传送指令 指令格式:Mov目的操作数,源操作数 指令功能:实现CPU内部寄存器之间的数据传 送、寄存器和内存之间的数据传送,以及把 个立即数送给CPU的内部寄存器或者内存单元
微机原理及应用 7 最基本的传送指令 7 指令格式:MOV 目的操作数,源操作数 指令功能:实现CPU内部寄存器之间的数据传 送、寄存器和内存之间的数据传送,以及把一 个立即数送给CPU的内部寄存器或者内存单元
微机原理及应用 8 MO指令示例 MOV ES. DX DX中16位数据送ES MOV AX,[BX];BX和BX+1所指的两个内存单元的内容送AX MOV[D,Ax;累加器的内容送D和D+所指的两个单元 MOV CX,[1000H];将10001001两单元的内容送CX MOV DX,5040H;立即数5040H送DX MOV WORD PTR[S,6070H;立即数6070送S和S+所指 的两个单元;这里的PTR是一个汇编操作符,与前 面的WORD一起,意思是从SI地址中取一个字 而不是一个字节
微机原理及应用 8 MOV指令示例 8 MOV ES, DX ; DX中16位数据送ES MOV AX, [BX] ; BX和BX+1所指的两个内存单元的内容送AX MOV [DI], AX ; 累加器的内容送DI和DI+1所指的两个单元 MOV CX, [1000H] ; 将1000H和1001H两单元的内容送CX MOV DX, 5040H ; 立即数5040H送DX MOV WORD PTR[SI], 6070H ; 立即数6070送SI和SI+1所指 的两个单元; 这里的PTR是一个汇编操作符,与前 面的 WORD一起,意思是从SI地址中取一个字; 而不是一个字节
微机原理及应用 9 一般数据传送指令 注意 两操作数字长必须相同 两操作数不允许同时为存储器操作数 两操作数不允许同时为段寄存器 在源操作数是立即数时,目标操作数不能是段寄存器 IP和CS不作为目标操作数, FLAGS一般也不作为操作数 在指令中出现
微机原理及应用 9 9 一般数据传送指令 注意: • 两操作数字长必须相同 • 两操作数不允许同时为存储器操作数 • 两操作数不允许同时为段寄存器 • 在源操作数是立即数时,目标操作数不能是段寄存器 • IP和CS不作为目标操作数,FLAGS一般也不作为操作数 在指令中出现
微机原理及应用 10 堆栈操作指令 指令格式:PUSH源操作数/POP目的操作数 实现功能:完成对寄存器的值的保存和恢复 。注意事项:使用堆栈操作指令时,应预置堆栈 段寄存器SS、堆栈指示器SP的值,使SP指向 当前堆栈段的栈顶。在执行PUSH指令时,堆 栈指示器SP自动减2;然后,将一个字以源操 作数传送至栈顶。POP指令是将SP指出的当前 堆栈段的栈顶的一个操作数,传送到目的操作 数中,然后,SP自动加2,指向新的栈顶。 示例
微机原理及应用 10 堆栈操作指令 10 • 指令格式:PUSH 源操作数/POP 目的操作数 • 实现功能:完成对寄存器的值的保存和恢复 • 注意事项:使用堆栈操作指令时,应预置堆栈 段寄存器SS、堆栈指示器SP的值,使SP指向 当前堆栈段的栈顶。在执行PUSH指令时,堆 栈指示器SP自动减2;然后,将一个字以源操 作数传送至栈顶。POP指令是将SP指出的当前 堆栈段的栈顶的一个操作数,传送到目的操作 数中,然后,SP自动加2,指向新的栈顶。 示 例