微机原理:第3章 指令系统-1.ppt
文本预览下载声明
指令操作数符号说明: ac:累加器 reg :通用寄存器(8位或16位或32位) reg8 、reg16、reg32 :8位、16位、32位寄存器 Seg:段寄存器 mem :存储器( 8位或16位或32位) mem8 、mem16、mem32 : 8位、16位、32位存储器 imm :立即数( 8位或16位或32位) imm8、imm16、imm32 :8位、16位、32位立即数 一、指令格式 指令格式: [标号:] 操作码 [操作数,…] [;注释] 其中: 标号:确定汇编语句的位置,提供跳转、循环的目标。 操作码:汇编语句操作。 操作数:操作数据项,数目因操作码而异。 注释:程序注解。 如:START:MOV AX,DATA MOV DS,AX ;设置DS (一)数据传送类指令 用于实现存储器与寄存器 、寄存器与寄存器、累加器与I/O端口之间字节、字或双字的传送,也可将立即数传送到存储器或寄存器 不影响标志位:CF、SF、ZF、OF、AF、PF ? 传送指令MOV 格式: MOV 目标,源 ;目标 源 立即数、寄存器、存储器 寄存器、存储器 立即数 寄存器 存储器 寄存器 段寄存器 传送指令MOV示意图 注意: 1.立即数和CS不能是目标操作数 例MOV 10H,AL 错 MOV CS,AX 错 2.存储器之间,段寄存器之间不能传送 例 MOV DS,SS 错 MOV [BX],[SI] 错 3.立即数不能送段寄存器 例 MOV AX,1000H MOV DS,AX 4.源和目标操作数类型要一致 MOV AX,BL 错 5.立即数送存储器要说明 MOV BYTE PTR [SI],100 MOV WORD PTR[SI], 100 指令格式:MOV OP1, OP2 reg/Sreg,reg reg, Sreg reg/Sreg, mem mem, reg/Sreg reg, imm mem, imm 例如:用如下指令可给数据段寄存器DS赋初值 MOV AX,DATA MOV DS, AX ?堆栈操作指令 数据进栈指令:先修改指针,后源内容入栈 PUSH 源 ;(SP)-2 SP ; 源 ((SP)) 数据出栈指令:先将指针内容送到目标,后修改指针 POP 目标 ; ((SP)) 目标 ;(SP)+ 2 SP 设:(SS)=2000H,(SP)=0010H (AX)=3344H,(BX)=5678H 写出指令完成如下功能: 通过堆栈将AX,BX的内容交换 PUSH AX PUSH BX POP AX POP BX SP SS 2000H 000BH 000CH 000DH000EH 000FH 0010H (SP)-2 (SP)-2 2000H:000BH 33H 44H 56H 78H 33H 44H 56H 78H AX BX 设:(SS)=2000H,(SP)=0010H (AX)=3344H,(BX)=5678H 写出指令完成如下功能: 通过堆栈将AX,BX的内容交换 PUSH AX PUSH BX POP AX POP BX (SP)+2 SS 2000H 000BH 000CH 000DH000EH 000
显示全部