- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第三章 8086的寻址方式和指令系统
第三章 8086/8088的寻址方式和指令系统 学习要点: 1.重点掌握数据的八种基本寻址方式和转移地 址的四种寻址方式及I/O接口的两种寻址方式。 2.掌握指令的功能、书写格式及对标志位的影 响、使用注意事项。 3.掌握汇编程序设计所必须的伪指令,并由此 构成汇编程序的完整结构。 3.1 8086/8088的寻址方式 ?所谓寻址方式: 在指令中,用于说明操作数所在地址的方法。寻址方式又可以分成数据的寻址方式(最常用的有8种)和转移地址的寻址方式(4种) 8086/8088的操作数可位于寄存器、存储器或I/O端口中。 3.1.1 隐含寻址: 有些单字节指令其指令码中不用指定操作数的地址,操作数隐含在指令中,这种寻址方式称为隐含寻址。 例如:加法的ASCII调整指令AAA XLAT指令 MOVSB指令等 3.1.2 立即寻址: 操作数直接在指令中,紧跟在操作码之后,作为指令的一部分放在码段中。 例:MOV AL,64H ;AL←64H MOV AX,2058H ;AX←2058H 说明:当执行指令时,直接从指令队列中取得立即数, 而不必执行总线周期,这种方式主要用来给寄 存器赋初值,指令执行速度快。 (如下页图3-1所示) 注意: 立即数只能为整数,且只能做源操作数 操作数就在CPU的内部寄存器(AX、BX、CX、DX、DI、SI、BP、SP)中,寄存器名由指令指出。 例: DEC BL ;将BL的内容减1 MOV DX,AX ;将AX中的值送入DX中 ROL AH,1 ;将AH中的内容循环左移一位 说明:①采用此寻址方式的指令在执行时,操作数就在CPU内部进行,不需要使用总线周期,指令执行速度快。 ②一条指令中可以对源操作数、也可对目的操作数、还可两者都采用寄存器寻址方式。 3.1.4 存储器寻址 1. 直接寻址方式 直接寻址方式最简单,最直观。其含义是操作数的偏移地址(常称有效地址EA)直接包含在指令中,放在操作码之后,即EA=DISP。因此,这种寻址方式的指令执行速度快,主要用于存取位于存储器中的简单变量。 例:MOV AX,[1000H] 又例:MOV BX,ES:[1000H] 则是将ES段的1000H及1001H两单元内容取出送BX。 在汇编语言中,可用符号地址代替数值地址, 如:MOV AX,BUFFER;其中BUFFER为存放操作数的符号地址(或称变量)。 (例:BUFFER DW 3426H) 而数值地址应加括号以表示为存储器。 2. 寄存器间接寻址 利用这种寻址方式时,操作数一定在存储器中,而操作数有效地址由BX、BP、SI和DI中的一个指出,若未用前缀指明,默认关系为: 对BX、SI、DI默认在DS段中 对BP默认在SS段中 此寻址方式有效地址EA的构成为: 2. 寄存器间接寻址 说明 : 通常将BX和BP称为基址寄存器,将SI和DI分别称为源变址寄存器和目的变址寄存器。 以DI和SI寄存器进行的间接寻址称为变址寻址。 以BX寄存器进行的间接寻址称为数据段基址寻址。 以BP寄存器进行的间接寻址称为堆栈段基址寻址。 例:MOV AX,[DI] 设(DS)=3000H,(DI)=2000H 该指令将32000H和32001H两存储单元中的内容送AX 3. 寄存器相对寻址 利用寄存器间接寻址时,允许在指令中指定一个 8位或16位的位移量,这样有效地址EA的构成为: [BX] [BP] 8位位移量 [SI] 16位位移量 [DI] 例: MOV AX,[BP+COUNT] 若(SS)=5000H,(BP)=3000H,COUNT=2040H 图3-3 寄存器相对寻址示意图 4.基址加变址寻址 操作数的有效地址是一个基址寄存器内容加上一个变址寄存器内容,默认的段寄存器关系同上:即若要用BP寄存器,那么默认的段寄存器就是SS;在其它情况下默认的段寄存器均为DS。 则有
文档评论(0)