文档详情

第三章2 80x86指令系统.ppt

发布:2017-06-19约2.27万字共102页下载文档
文本预览下载声明
3.3 8086/8088 指令系统 可以分为以下六类(四类): 传送指令 算术运算指令 逻辑运算和移位指令 运算类 串操作指令 转移指令 处理器控制指令 (一)传送指令 包括:通用传送指令和专用传送指令两类 通用传送指令: (1) MOV 指令 例: MOV AL, BL ; MOV [DI], AX ; MOV CX, DS:[1000H] ; MOV BL, 40 ; MOV WORD PTR[SI],01H; WORD PTR 字长度标记;BYTE PTR 字节长度标记 DWORD PTR 双字长度标记 (伪指令) 标志:所有通用传送指令都不影响标志位。 例(错):下述各条指令都是错误的,其中,W1为数据段中的变量: MOV ES, 1234H ; 立即数不能直接送入段寄存器 MOV 1AH, CL ; 立即数不能作为目的操作数。不要将1AH错看成AH MOV CS,BX ; CS不能作为目的操作数 MOV W1,[BX] ; 两个内存操作数之间不能传送 MOV ES, DS ; 两个段寄存器之间不能传送 MOV AX, BL ; 两个操作数的位数(类型)不相同 练习1 用MOV指令实现两内存字节单元内容的交换 2035H 2045H 用直接寻址方式实现 MOV BL, DS:[2035] ; MOV CL, DS:[2045H] ; MOV DS:[2045H], BL ; MOV DS:[2035H],CL ; HLT 用寄存器间接寻址方式实现 MOV SI , 2035H; MOV DI, 2045H; MOV AH, [SI]; MOV AL, [DI]; MOV DS:[2035H],AL; MOV DS:[2045H],AH; 练习2 把数据块BLOCK1移到BLOCK2 2040H 2060H 把2040H地址开始的10个字节数据移到2060地址开始的10个字节单元处。 ANSWER START: MOV SI, 2040H ; MOV DI, 2060H ; MOV CX, 0AH; LOOP1: MOV BL, [SI+09H]; MOV [DI+09H],BL ; DEC SI ; DEC DI ; DEC CX ; JNZ LOOP1; HLT ; 练习3 把2040H地址开始的10个字节单元的内容与2060H地址开始的10个字节单元内容互换。 (2)PUSH指令和POP指令(P95) 堆栈的图示: 压入:格式 PUSH SRC (SS) 先修改指针: SP SP-2 后压入:(SP+1,SP) SRC (SP) 弹出:格式 POP DST 栈顶 先弹出:DST (SP+1,SP) 压 弹 后修改指针:SP SP+2 入
显示全部
相似文档