《微机原理与应用》第3章寻址方式与指令系统构(09年)

《微机原理与应用》第3章寻址方式与指令系统构(09年)

ID:41188088

大小:4.76 MB

页数:210页

时间:2019-08-18

《微机原理与应用》第3章寻址方式与指令系统构(09年)_第1页
《微机原理与应用》第3章寻址方式与指令系统构(09年)_第2页
《微机原理与应用》第3章寻址方式与指令系统构(09年)_第3页
《微机原理与应用》第3章寻址方式与指令系统构(09年)_第4页
《微机原理与应用》第3章寻址方式与指令系统构(09年)_第5页
资源描述:

《《微机原理与应用》第3章寻址方式与指令系统构(09年)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《微机原理与接口技术》主讲易凡wdyifan@163.com武汉大学物理学院电子科学与技术系第三章 寻址方式和指令系统基本概念指令系统微处理器能执行的各种指令的集合。寻址方式(AddressingMode)指令中关于如何求出存放操作数有效地址的方法。有效地址EA(EffectiveAddress)根据寻址方式计算得到的地址。3.1指令码的格式:指令码是一字节或多字节的二进制编码,CPU可以直接执行多字节编码分成操作码和操作数两个字段部分操作码指示该指令执行的操作操作数字段指示操作数的类型和操作数的寻址方式操作码操作数…

2、操作数操作码字段操作数字段操作码说明计算机要执行哪种操作,如传送、运算、移位、跳转等操作,它是指令中不可缺少的组成部分操作数是指令执行的参与者,即各种操作的对象有些指令不需要操作数,通常的指令都有一个或两个操作数,也有个别指令有3个甚至4个操作数3.1指令码的格式:3.28086/8088系统的寻址方式8086/8088指令系统操作数的种类分为两大类:3.1.1操作数的种类数据操作数转移地址操作数3.1.1操作数的种类(续)数据操作数具体数值,也称立即数(im):操作数据在指令中。寄存器(reg):操作数存放在寄存器中

3、。存储器(mem):操作数存放在指定的存储单元中。I/O端口:操作数来自或送到I/O端口。转移地址操作数指令操作的对象不是数据,而是要转移的目标地址。要转移的目标地址可以直接在指令中给出,也可由指定的寄存器或内存单元给出。3.2.2寻址方式(AddressingMode)操作数直接包含在指令中,紧跟在操作码之后,作为指令的一部分,这种操作数称为立即数(im)立即数可以是8位(00H~FFH),也可以是16位(0000H~FFFFH)立即数寻址方式只能作为源操作数,主要用于给寄存器或存储单元赋值。立即数寻址方式(Imme

4、diateaddressing)立即数寻址方式(续)例3.1MOVBL,80HMOVAX,0102H指令执行后的结果为:BL=80H;AX=0102H演示操作数存放在指令指定的寄存器(reg)中指定的寄存器(reg)可以是8位寄存器(reg8):AH、AL、BH、BL、CH、CL、DH、DL也可以是16位寄存器(reg16):AX、BX、CX、DX、SI、DI、SP、BP、CS、DS、SS、ES用寄存器名表示其内容(操作数)寄存器寻址方式(Registeraddressing)例3.2MOVCL,DLMOVAX,BX如

5、果DL=50H,BX=1234H,则执行结果为:CL=50H,AX=1234H演示寄存器寻址方式(续)存储器寻址方式操作数在主存储器中,用主存地址表示程序设计时,8088采用逻辑地址表示主存地址段地址在默认的或用段超越前缀指定的段寄存器中指令中只需给出操作数的偏移地址(有效地址EA)存储器寻址方式又分为直接寻址方式寄存器间接寻址方式寄存器相对寻址方式基址变址寻址方式相对基址变址寻址方式直接寻址方式(Directaddressing)操作数的有效地址(EA)直接在指令中给出,用中括号包含有效地址,表达存储单元的内容直接寻

6、址方式的操作数默认在存储器的数据段,即默认的段寄存器是DS允许使用段超越前缀改变段寄存器。在操作数的前面写上段寄存器名,再加上冒号“:”。例3.3MOVAX,[2000H]EA=2000H如果DS=1492H,则操作数存储单元的物理地址为:14920H+2000H=16920H若[16920]=9078H执行结果为:AX=9078H演示段超越前缀的写法MOVAX,ES:[2000H];AX←ES:[2000H]直接寻址方式(续)直接寻址方式(续)例如:MOVAL,VALUE或MOVAL,[VALUE]在用汇编语言编程时

7、,常用符号地址代替数值地址。VALUE也称为为存放操作数单元的符号地址寄存器间接寻址方式(Registerindirectaddressing)有效地址在指令中指定的寄存器SI、DI、BX或BP中,操作数本身在存储器中。若指定的寄存器为:SI、DI、BX,默认的段寄存器是DS若指定的寄存器是BP,默认的段寄存器是SS书写指令时,用作间址的寄存器必须加上方括弧[],以免与寄存器寻址方式混淆允许使用段超越前缀改变段寄存器例3.4:MOVAX,[SI]如果DS=3000H,SI=2000H物理地址=30000H+2000H=

8、32000H若[32000H]=4050H执行结果为:AX=4050H寄存器间接寻址方式(续)又:MOV[BP],AL如果SS=5000H,BP=1000H物理地址=50000H+1000H=51000H执行结果为:[51000H]=50H演示段超越前缀的情况MOVAX,ES:[BX];AX←ES:[BX]段超越之例:MOVES:

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

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

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