3讲:8088寻址方式、指令系统

3讲:8088寻址方式、指令系统

ID:36191436

大小:186.50 KB

页数:23页

时间:2019-05-07

3讲:8088寻址方式、指令系统_第1页
3讲:8088寻址方式、指令系统_第2页
3讲:8088寻址方式、指令系统_第3页
3讲:8088寻址方式、指令系统_第4页
3讲:8088寻址方式、指令系统_第5页
资源描述:

《3讲:8088寻址方式、指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三讲8088寻址方式、指令系统第二章8088指令系统6种寻址方式II.6类指令2-18088/8086的寻址方式指令包含:操作码部分(opcode):指示CPU执行什么操作,如:传送、加减。操作数部分(operand):指明参加操作的数或数的地址。1操作数的来源:1.CPU中的REG。如:AX,BX等2.内存(M)中:1)CS段:指令中直接给出操作数。2)DS、SS、ES段:指令中给出操作数的地址寻址方式:指寻找操作数的方式,共有六种。指令格式:助记符目的操作数,源操作数或:助记符操作数具体情况不同,寻址方式方便度不同。2一、

2、立即寻址指令中直接给出操作数(在OPCODE后)存放在CS段中。例:MOVAX,ImMOVAL,06H06HALMOVAX,06H06HAL00AH注:高低字节对应图2-1立即寻址示意图3二、寄存器寻址操作数在CPU的REG例:MOVDS,AXMOVAL,BL注:CS,IP慎用(不做目标操作数)。三、直接寻址指令中给出操作数的16位的EA地址。例:MOVAX,[2000H];EA=2000H物理地址=DS:EA=DSx16+2000H4图2-2直接寻址示意图5四、寄存器间接寻址操作数的16位EA地址在SI、DI、BP、BX四个R

3、EG的其中一个。例:MOVAX,[BP]物理地址=SS:EA=SSx16+BPMOVAX,[SI]物理地址=DS:EA=DSx16+SI注:BP指SS段;其余在DS段。6图2-3寄存器间接寻址示意图7五、变址寻址操作数的EA由REG(SI、DI、BX、BP)加上一个16位的偏移量构成。例:MOVAX,COUNT[SI]COUNT+[SI][COUNT+SI]EA=SI+COUNT物理地址=DS:EA或=SS:EA(SI换成BP)SI、DI、BX对应数据段,BP对应堆栈段8图2-4变址寻址示意图9六、基址加变址寻址操作数的EA由基

4、址REG(BX、BP)和变址REG(SI、DI)及16位偏移量构成。例:MOVAX,MASK[BX][SI]MASK[BX+SI][BX+SI+MASK]EA=BX+SI+MASK物理地址=DS:EA或=SS:EA(BX换成BP)10图2-5基址加变址示意图11寻址方式小结:2种基本方式:操作数来自REG:例MOVAL,BL操作数来自M:例:1)MOVAX,20002)MOVAX,[MASK+BX+SI]操作数在M时:BP意味着操作数在SS段;立即寻址的操作数在CS段;其余不特殊说明在DS段。特殊说明(段超越):MOVAX,ES

5、:[2000H]。源和目的操作数都有寻址方式,缺省指源。12汇编指令对应机器(目标)指令例:MOVDS,AX8ED8(1~7字节)了解指令在CPU内执行过程(图1-11)。例:MOVAL,[2000H]从(CSx16+IP)取OPCODE队列EU执行从(DSx16+2000H)取数ALOPCODEOPRAND132-28088/8086指令系统主要内容:8088指令系统、简单编程。6大类:1.数据传送(Datatransfer)2.算术运算(Arithmetic)3.逻辑运算(Logic)4.串操作(Stringmanipula

6、tion)5.控制转移(Controltransfer)6.处理器控制(Processorcontrol)14一、数据传送指令通用传送地址传送累加器专用传送标志传送(注意数的单双方向,及源、目的数)(一)通用传送1.基本传送15指令格式:MOVOPRD1,OPRD2功能:OPRD2OPRD1OPRD2:源操作数,可以是全部寻址方式.OPRD1:目的操作数,不能是立即数和控制REG(F,IP,CS)。例:mov30h,axOPRD1和OPRD2不能同为M操作数.OPRD1为段REG(DS,CS,ES),则OPRD2不能是立即操作数

7、.不影响F标志位.OPRD1和OPRD2可以是8位或16位.16例:正确指令MOVAL,[2000H]MOV[DI],AXMOVDS,AXMOVDX,5020HMOVBL,20HMOVAX,[BP+SI+4]MOVWORDPTR[SI],4050注:PTR为属性运算符(伪指令),加“BYTE”指字节单元;加“WORD”指字单元;加“DWORD”指双字单元.17例:错误的指令:MOV52,AHMOVCS,AXMOV[DI],[SI]MOVAL,BXMOVDS,1000HMOV[BP],20H例2-1已知DS=3000H,从0100

8、H开始顺序存放了100个字节数据,编程传送到0200H为起始的M区域.18;exm2-1movax,3000hmovds,ax;建立数据段movsi,0100h;建立源数据指针movdi,0200h;建立目的地指针movcx,100;设置计数器nt:moval,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。