数据库系统概论

Similar documents
Microsoft PowerPoint - 微原-第3章2.ppt [兼容模式]

Microsoft PowerPoint - Ch3-8086CPU指令系统(2)-寻址.pptx

幻灯片 1

Microsoft PowerPoint - 05-第五讲-寻址方式.pptx

主要内容 指令系统的一般概念 指令操作方式操作码的含义指令对操作数的要求指令执行的结果 寻址方式 指令说明 2015 年 3 月 16 日星期一 8 时 2 分 37 秒 2

数据库系统概论

Microsoft PowerPoint - 微原-第3章3.ppt [兼容模式]

Microsoft PowerPoint - Ch3-8086CPUæ„⁄令系ç»�(3)-æŁ°æ“®ä¼€é•†æ„⁄令

数据库系统概论

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20

untitled

微机第02章1(指令寻址)

指令系统 可分成如下 6 类 : 数据传送指令 算术运算指令 逻辑运算和移位指令 串操作指令 程序控制指令 处理器控制指令 2015 年 3 月 26 日星期四 8 时 41 分 27 秒 2

Microsoft PowerPoint - CH2_1.ppt [兼容模式]

Microsoft PowerPoint - CH2_1.ppt [兼容模式]

DPJJX1.DOC

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63>

幻灯片 1

第4章 80X86指令系统

本次习题课中提到的 课本, 均指机械工业出版社的 Intel 微处理器 ( 原书第八版 ) 中文版, 使用其他版本课本的同学需要自己对应

数据库系统概论

第5章:汇编语言程序设计


习 题 一

2006年国家公务员招录考试行测真题(A)

L15 MIPS Assembly

66 微型计算机原理与接口技术 ( 第二版 ) 2. 指令格式计算机中的汇编指令由操作码字段和操作数字段两部分组成 (1) 操作码字段 操作码表示计算机要执行的某种指令功能, 由它来规定指令的操作类型, 说明计算机要执行的具体操作, 例如传送 运算 移位 跳转等操作 同时还指出操作数的类型 操作数的

PowerPoint Presentation

(Microsoft Word - \246D\252k\267\247\255n_\275\306\277\357_.docx)

主要内容 : 汇编语言源程序的结构汇编语言语句格式伪指令语句功能调用汇编语言程序设计方法宏汇编和条件汇编 2015 年 3 月 30 日星期一 7 时 58 分 57 秒 2

(2) Function 0BH: Function 0CH: (pixel, picture element) Function 0DH: Function 0FH: Function 13H:

li 侉 2. 在 下 列 加 点 字 的 正 确 读 音 旁 打 : (1) 我 看 见 路 边 有 一 条 蛇 A.sh 佴 B.sh 佶 C.sh 侑 D.sh 侉 (2) 外 面 的 泥 土 冻 得 很 硬 A.y 侏 n 倮 B.y 侃 n 倮 C.y 佾 n 倮 D.y 佻 n 倮 (3

MSP430ϵÁе¥Æ¬»úµÄÖ¸Áîϵͳ.pps [¼æÈÝģʽ]

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

提纲. 1 实验准备. 2 从实模式进入保护模式. 3 小结 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, / 11


<4D F736F F D C4EAC6D5CDA8B8DFB5C8D1A7D0A3D5D0C9FAC8ABB9FACDB3D2BBBFBCCAD4CEC4BFC6D7DBBACDCAD4BEEDBCB0B4F0B0B82DD6D8C7ECBEED2E646F63>

Computer Architecture & Organization

組譯與連結(Ver6

第四章 8086汇编语言程序设计

乌鲁木齐城市交通改善项目Ⅱ


<4D F736F F D C4EAB9FABCD2B9ABCEF1D4B1D0D0D5FEC4DCC1A6B2E2D1E9A3A841C0E0A3A92E646F63>

,,,,,,,,,,,,, :,, ;,,,,, ( ),,,, : ( ) ; ( ) ; ( ) ( ) ; ( ) ( A ) ; ( ) ( ),,,,,,, 80

共同构成 16 位数据存储单元的地址 当 CPL=1 时, 将堆栈指针 SP 的 16 位地址 与指令中的 7 位地址相加, 形成 16 位的数据存储器地址 (2) 当 SP=0100h, 偏移地址为 50h 时, 寻址 0150h 单元 ; 当 DP=2, 偏移地址为 50h 时, 寻址 0150

微處理機期末專題

<4D F736F F F696E74202D D D6B8C1EECFB5CDB DC6E4CBFBD6B8C1EE2E BBCE6C8DDC4A3CABD5D>

Microsoft Word - 98地球科學專科題庫ok.doc

Microsoft Word - 作业2008.doc

<4D F736F F F696E74202D DB5DAB0CBBDB22DBBE3B1E0D3EFD1D4B3CCD0F22E >

3.3.2 算术运算指令 数据类型 : 无符号和有符号整数 无符号数又分成 : 无符号二进制数 ; 无符号压缩十进制 :1 字节表示 2 个十进制数 ; 无符号非压缩十进制 :1 字节表示 1 个十进制数 有符号数 : 有符号二进制数 用补码表示 2015 年 3 月 26 日星期四 11 时 3

A. 城 市 化 是 我 国 发 展 的 必 由 之 路 B. 单 纯 发 展 大 城 市 不 利 于 城 市 化 的 推 进 C: 要 实 现 城 市 化, 就 必 须 让 城 市 充 分 吸 纳 农 村 人 口 D: 大 城 市 对 外 地 农 村 人 口 的 吸 引 力 明 显 低 于 中 小

第0章 硬件部分试题分析和解题方法

bingdian001.com


Ch2.1

Microsoft Word - 新1-3.doc

!!"#! " # $%%&#! ()*+ %& %,&,, &!!# # # #! "# ## # #! $# # #! %#! &# -,.$# /! 0(1 $%%& %&23%2!!!!!!!!!!!!!! %,% 4&%.&.22!!! &! 2%% 2,% %.32!,%%%,,! 56



. v dx v d () () l s dl s d (_) d () v s v s () a dv a d (_) ( ) ( ) x- = v- = = v 0 = m/s a = = m/s 2 a- = ( ) x- v- a- Page 2 of 20

微机系统与接口--第2章 ppt

1 2 9

<4D F736F F D20C7B0CBC4D5C2D7F7D2B5CCE22E646F6378>

Microsoft Word - 1 page0.doc

一、填空题

微机原理--汇编、连接和调试

Microsoft PowerPoint sun-arm isa2.ppt [Compatibility Mode]

專題最終版.doc

欧洲标准胀紧套

PowerPoint Presentation

Are You suprised ?

礼仪玉和葬玉

<4D F736F F D20D1A7C9FACAD6B2E1B8C4D7EED6D5A3A8B4F8B1EDB8F1BCD3D2B3C2EBB0E6A3A9372E3239>

桂林市劳动和社会保障局关于

第三章 維修及管理

Microsoft Word 年度选拔硕博连读研究生的通知.doc

上 海 农 商 银 行 理 财 产 品 风 险 揭 示 书 理 财 资 金, 则 客 户 面 临 产 品 期 限 延 期 调 整 等 风 险 8. 信 息 传 递 风 险 : 上 海 农 商 银 行 将 按 照 本 说 明 书 有 关 信 息 公 告 的 约 定, 进 行 产 品 信 息 披 露 客

(譯本)

关于建立境内违法互联网站黑名单管理制度的通知

<4D F736F F D20D0C5CFA2BBAFB7A2D5B9D6D8B5E3D7A8CFEEB9E6BBAE2E646F63>

? 這 全 都 是 市 政 府 提 供 給 我 的 資 料 低 底 盤 公 車 計 畫 96 年 預 算 新 台 幣 4,500 萬 元 97 年 預 算 新 台 幣 1 億 6,500 萬 元 98 年 預 算 新 台 幣 3 億 2,300 萬 元, 共 有 307 台 低 底 盤 公 車,99

Microsoft PowerPoint - os_4.ppt

(1) (%) (1%) (1%) (1%) (1%) (1%) (1%) - 2 -

! "! "! # $ # # %#!# $# &# # ()*+, )-.) /# () () 0# 1,2.34, 4*.5)-*36-13)7,) ,9,.).6.(+ :# 13).+;*7 )-,7,<*7,-*=,>,7?#

中国证券监督管理委员会公告

《微型计算机原理》

数 学 高 分 的 展 望 一 管 理 类 联 考 分 析 第 一 篇 大 纲 解 析 篇 编 写 : 孙 华 明 1 综 合 能 力 考 试 时 间 :014 年 1 月 4 日 上 午 8:30~11:30 分 值 分 配 : 数 学 :75 分 逻 辑 :60 分 作 文 :65 分 ; 总

Microsoft Word - 新正文1.doc


学习MSP430单片机推荐参考书

CH559指令周期.doc

Ps22Pdf

微型计算机原理及应用试题 机电96


Microsoft PowerPoint - C15_LECTURE_NOTE_04.ppt

untitled

Microsoft PowerPoint - C15_LECTURE_NOTE_04.ppt

Transcription:

所谓寻址方式, 就是指令中用于说明操 作数所在地或者所在地地址的方法 8088/8086 的寻址方式分为两类 : 关于寻找数据的寻址方式 关于寻找转移地址的寻址方式

下面讲关于数据的寻址方式时, 均以数 据传送指令 MOV 为例讲解 MOV 指令格式如下 : MOV DST, SRC 助记符 目的操作数 指令完成的功能 : (DST) 源操作数 (SRC)

一. 关于寻找数据的寻址方式 ( 共 8 种 ) 数据的寻址方式就是告诉 CPU 存 / 取数据的地方 1. 立即寻址 操作数直接存放在指令中, 紧跟在操作码之后, 作为指令的一部分, 存放在代码段里, 这种操作数称为立即数 立即寻址主要用来给 REG 或 M 赋初值 注意 : 只能用于源操作数字段, 不能用于目的操作数字段 如 :MOV 12H, AL ( 语法错误 )

例 :MOV AX,1234H A X A H A L (AX)=1234H B8H 34H 12H 存储器 CS 段 操作码

2. 寄存器寻址 数据放在指令规定的寄存器中, 对 16 位数据, REG 可以是 AX BX CX DX SI DI SP BP 以及段寄存器, 而对于 8 位数据, REG 可以是 AH AL BH BL CH CL DH DL 在程序设计中, 一般存放数据时, 寄存器选择通用寄存器, 而存放结果时尽可能的使用 AX 累加器, 因为使用 AX 累加器要比用其它寄存器存放结果, 指令执行时间要短一些 寄存器寻址既可以作 DST, 也可以作 SRC

例 :MOV AX, BX A X B X 若 (AX)=1234H,(BX)=5678H, 则 CPU 执行上条指令后,(AX)=5678H, 而 (BX) 不变 又如 :MOV CX, DL ( 语法错误 ) 错误原因 : 类型不一致

3. 存储器寻址 这类寻址方式, 操作数在存储器中, 而存储器单元的地址由以下五种寻址方式的任何一种均可以找到 但在指令中给出的只是要寻找的操作数所在单元的段内偏移地址, 而操作数所在单元的段地址除非指令中用段超越前缀特别指明, 否则是默认的

1 直接寻址 指令中直接给出了要寻找操作数所在单元的 16 位偏移地址 指令中直接给出的操作数所在单元的 16 位偏移地址默认在数据段 也可以通过增加段超越前缀来改变操作数所在的段地址 操作数所在单元的物理地址 : PA= ( 段寄存器 ) 16 + 指令中给出的偏移地址

例 1:MOV AX,[2000H] 若 DS 为 3000H, 则 : DS + 3 0 0 0 0 H 2 0 0 0 H PA=3 2 0 0 0 H A X A H A L 32000H 32001H A1H 00H 20H 存储器 CS 段 操作码 数据段

存储器 3.6 8086/8088 的寻址方式 例 2:MOV [2000H],AL 若 DS 为 3000H, 则 : DS + 3 0 0 0 0 H 2 0 0 0 H PA=3 2 0 0 0 H A L 32000H 00H 20H CS 段 操作码 数据段

存储器 3.6 8086/8088 的寻址方式 例 3:MOV ES:[2000H],AL 若 ES 为 2050H, 则 : ES + 2 0 5 0 0 H 2 0 0 0 H PA=2 2 5 0 0 H A L 22500H 00H 20H 前缀码操作码 CS 段附加数据段

在实际的汇编语言程序设计中, 如果程序比较复杂, 而用到的存放数据的单元又很多, 那么在直接寻址方式当中, 用户就要记住存放数据的每个单元的地址, 同时还要记住该地址单元存放的数据的意义, 这样对设计程序带来了很大的困难 所以在实际的汇编语言程序设计中, 常常采用给存放数据的单元, 定义一个符号地址名, 即变量名 / 变量

变量名一但定义了, 就具有了 : 该单元的段地址该单元的偏移地址类型长度 五个属性 大小 这样, 在程序设计中就可以用这个变量名代替原来的存储器单元的实际地址

例 4: 若 (DS)=1500H,TABLE 为在 DS 段定义的一个字变量, 且偏移地址为 0004H 则 CPU 执行 MOV AX,TABLE 指令完成的操作如下 : DS + 1 5 0 0 0 H 0 0 0 4 H PA=1 5 0 0 4 H A H A L 15004H 15005H 存储器 TABLE 数据段

例 5: 若 VAR1 为字变量, VAR2 和 VAR3 为字节变量, 判断下列指令的书写格式是否正确, 正确的说出 SRC 和 DST 的寻址方式, 不正确说出错误原因 MOV AX, VAR1 SRC 为直接寻址 DST 为寄存器寻址 MOV AX, VAR2 类型不一致 MOV VAR2, VAR3 两存储器单元之间不能直接传送数据 MOV [0200H],12H 类型不明确

例 6: 将例 5 中语法不正确的语句改对 MOV AX, VAR2 类型不一致改 :MOV AL, VAR2 MOV VAR2, VAR3 两存储器单元之间不改 :MOV AL,VAR3 能直接传送数据 MOV VAR2,AL MOV [0200H],12H 类型不明确改 :MOV BYTE PTR [0200H],12H 或者 :MOV WORD PTR [0200H],12H 注 :PTR 为临时属性修改符

2 寄存器间接寻址 这种寻址方式, 要寻找的操作数在某存储器单元中, 该存储器单元地址的段内 16 位偏移地址在指令中以 BX SI DI 某一个寄存器给出 其段地址默认在 DS 段 EA= BX SI DI

例 1:MOV AX, [BX] 其 SRC 为寄存器间接寻址 ; DST 为寄存器寻址 ; 指令完成的功能为 : AX (DS:(BX)) 若 :DS=3000H, BX=1050H 则 :SRC 所在单元的物理地址为 : PA=(DS) 16+(BX) =30000H+1050H =31050H

DS: 3 0 0 0 0 H + BX: 1 0 5 0 H PA: 3 1 0 5 0 H A H A X A L 31050H 31051H 8BH 07H 存储器 CS 段 操作码 数据段

例 2:MOV ES:[SI], AL 指令完成的功能为 : (ES:(SI)) (AL) 若 :ES=4000H, SI=1234H,(AL)=23H 则 :DST 所在单元的物理地址为 : PA=(ES) 16+(SI) =40000H+1234H =41234H 指令执行后 (41234H)=23H.

例 3: 判断下列指令的书写格式是否正确, 正确的说出 SRC 和 DST 的寻址方式, 不正确说出错误原因, 并改正 1 MOV [BX], [SI] 两存储器单元之间不 改正 :MOV AL, [SI] MOV [BX], AL 能直接传送数据 ; 类型也 不明确

2 MOV [DI],12H 类型不明确 改正 :MOV WORD PTR [DI], 12H 3 MOV [SI],CX DST 为寄存器间接寻址 SRC 为寄存器寻址

3 寄存器相对寻址 要寻找的操作数在某存储器单元之中, 该单元 的有效地址的一部分在 8 位个 DISP 16 位 BX BP SI DI 中, 另一部分为一 其中,DISP 相对位移量

BX BP SI DI EA= + 8 位 DISP 16 位 DISP 在 DISP 为常数时, 操作数所在单元的段地址以寄存器为准, 若寄存器为 BX SI DI, 操作数默认在 DS 段中 若寄存器为 BP, 操作数默认在 SS 段中 在 DISP 为变量时, 操作数所在单元的段地址以变量为准, 变量在哪个段定义的, 就取该段的段地址

例 1:MOV AX, [BX]+05H 其中,SRC 也可以写成 : [BX+05H] 05H[BX] 05H+[BX] 若 :DS=2000H, BX=0008H, 存放操作数单元的物理地址为 : PA=(DS) 16+(BX)+05H =20000H+0008H+05H =2000DH

AX + 2 0 0 0 0 H 0 0 0 8 H 0 0 0 5 H 2 0 0 0 D H A H A L 2000DH 2000EH 8BH 47H 05H 操作码 数据段 CS 段 存储器

例 2:MOV AX, [BP] 若 :SS=1050H, BP=0050H, 存放操作数的存储单元的物理地址为 : PA=(SS) 16+(BP)+00H =10500H+0050H+00H =10550H

+ 1 0 5 0 0 H 0 0 5 0 H 1 0 5 5 0 H 相对偏移量 DISP 为 0, 这里特别指出,BP 寄存器无间接寻址, 只不过再相对寻址时,DISP 为 0 A H A L 10550H 10551H 操作码 SS 段 CS 段 存储器

例 3: 若 (DS)=1500H,TABLE 为在 DS 段定义的一个字变量, 且偏移地址为 0004H,(BP)=0003H MOV AX,TABLE [BP] SRC 的寻址方式为寄存器相对寻址 指令完成的操作为 : (AX) (DS: OFFSET TABLE+(BP))

4 基址变址寻址 要寻找的操作数在某存储器单元之中, 该单元 有效地址的一部分在中 BX BP BX EA= + BP 中, 另一部分在 SI DI SI DI 该单元的段地址以基址寄存器为准, 若基址寄存器为 BX, 则段地址默认在 DS 中, 若基址寄存器为 BP, 则段地址默认在 SS 中

例 1:MOV AX, [BX][SI] (AX) (DS:(BX+SI)) 例 2:MOV AX, [BP][SI] (AX) (SS:(BX+SI)) 例 3:MOV [BP][DI], AL (SS:(BX+DI)) (AL)

5 基址 变址相对寻址 它是基址变址寻址的扩充, 操作数仍在存储器中, 存储器单元的有效地址为 : BX 8 位 DISP EA= + SI + BP DI 16 位 DISP 同样, 如果用 BX 作为基地址, 操作数默认在 DS 段中 ; 如果用 BP 作为基地址, 则在 SS 段中 在 DISP 为变量时, 操作数所在单元的段地址以变量为准, 变量在哪个段定义的, 就取该段的段地址

例 1: MOV AX, [BX][DI]04 (AX) (DS:(BX+DI+04H)) 例 2:MOV AX, [BP][DI]04 (AX) (SS:(BX+DI+04H)) 例 3:MOV DS:[BP][DI]+04H, AL (DS:(BX+DI+04H)) (AL)

8. 隐含寻址 有些指令的指令码中不包含指明操作数地址的部分, 而其操作码本身隐含的指明了操作数地址 如 : 乘除法指令 字符串操作类指令等

例 1. 若 (BX)=0158H, (DI)=10A5H, (DS)=2100H, DISP=1B57H, (BP)=0100H, (SS)=1100H, 段寄存器按默认段寄存器, 则相对于各种寻址方式的 EA 的求法如下 : 直接寻址 : EA=1B57H PA=21000H+1B57H=22B57H

例 1. 若 (BX)=0158H, (DI)=10A5H, (DS)=2100H, DISP=1B57H, (BP)=0100H, (SS)=1100H, 段寄存器按默认段寄存器, 则相对于各种寻址方式的 EA 的求法如下 : 寄存器间接寻址 ( 设寄存器为 BX): EA=0158H PA=21000H+0158H=21158H

例 1. 若 (BX)=0158H, (DI)=10A5H, (DS)=2100H, DISP=1B57H, (BP)=0100H, (SS)=1100H, 段寄存器按默认段寄存器, 则相对于各种寻址方式的 EA 的求法如下 : 寄存器相对寻址 ( 以 BP 为例 ): EA=0100H+1B57H=1C57H PA=11000H+1C57H =12C57H

例 1. 若 (BX)=0158H, (DI)=10A5H, (DS)=2100H, DISP=1B57H, (BP)=0100H, (SS)=1100H, 段寄存器按默认段寄存器, 则相对于各种寻址方式的 EA 的求法如下 : 基址变址寻址 (BX DI): EA=0158H+10A5H=11FDH PA=21000H+11FDH=221FDH

例 1. 若 (BX)=0158H, (DI)=10A5H, (DS)=2100H, DISP=1B57H, (BP)=0100H, (SS)=1100H, 段寄存器按默认段寄存器, 则相对于各种寻址方式的 EA 的求法如下 : 基址变址相对寻址 (BP DI): EA=0100H+10A5H+1B57H=2CFCH PA=11000H+2CFCH=13CFCH

例 2: 判断下列指令的书写格式是否正确, 正确的说出 SRC 和 DST 的寻址方式, 不正确说出错误原因 MOV AX, [BX][SI] SRC 为基址变址寻址 DST 为寄存器寻址 MOV AX, BL 类型不一致 MOV [BP], [DI+01H] 两存储器单元之间不能直接传送数据 MOV [BX][DI]+02H,12H 类型不明确

作业 :P61-P62 1. 2. 3. 4. 5. 6. 7.(1) (3) 8.(2) 9. 10. 11.

二. 说明转移地址的寻址方式 寻找的操作数作地址用, 给 IP 或给 CS:IP, 从而实现程序的转移 如果程序转移后只有 IP 发生了改变, 则称为段内转移或者称为近程转移 ( 也称为 NEAR 型转移 ) 如果程序转移后 CS IP 均发生了改变, 则称为段间转移或者称为远程转移 ( 也称为 FAR 型转移 )

8086 指令系统中的转移指令有两大类 : 无条件转移指令 : 有 JMP CALL RET IRET 条件转移指令 : 如 JZ JC JCXZ LOOP 等 段内转移地址的寻址方式 ( 只有 IP 发生改变 ) 1. 段内直接寻址 ( 也叫段内相对寻址 ) 这种寻址方式中, 指令中直接写出了转移目的地的符号地址 (NEAR 型标号名 )

操作码 8 为 DISP XXH 当前 IP -128??H +127 JMP SHORT L1 L1: 间隔的字节数称为相对位移量 DISP 转移目的地的 IP= 当前 (IP)+8 位 DISP

16 位 DISP XXH 操作码??H -32768 当前 IP??H +32767 L1: JMP L1 ;JMP NEAR PTR L1 间隔的字节数称为相对位移量 DISP 转移目的地的 IP= 当前 (IP)+16 位 DISP

指令中指明的 8bit/16bit 的相对位移量 DISP 是相对于当前 IP 来计算的, 有正 负转移, 向地址增加的方向转移, 为正转移,DISP 用原码表示 ; 向地址减小的方向转移, 为负转移,DISP 用补码表示 转移目的地物理地址的求法 : PA=(CS) 16+ 当前 (IP)+DISP 注 :8086 指令系统当中的所有条件转移指令只能在段内转移, 且转移范围以当前 IP 为基准, 不能超出 -128 +127 之间, 其寻址方式为段内相对寻址

2. 段内间接寻址 这种寻址方式中, 转移地址的段内偏移地址要么存放在一个 16bit 的寄存器中, 要么放在存储器的一个字单元之中 这个寄存器或字单元的地址, 由前面讲过的数据的寻址方式指明 只不过寻址所得到的不是数据, 而是偏移地址

例 : 若 (DS)=2000H,(BX)=0100H,(SI)=0002H, (20100H)=1200H,(20102H)=1250H, 则 CPU 执行 : JMP BX 指令后,(IP)=0100H JMP WORD PTR [BX] 指令后,(IP)=1200H JMP WORD PTR [BX][SI] 指令后,(IP)=1250H

段间转移地址的寻址方式 (CS IP 均发生改变 ) 只适合于无条件转移指令 1. 段间直接寻址 指令语句书写时直接写出转移目的地的符号地址 (FAR 型标号名 ) 书写格式为 : JMP FAR PTR 标号名

XXH 操作码 SEG ADDR **H **H OFFSET ADDR ;????:****H??H??H JMP FAR PTR ADDR ADDR: 代码段 2 代码段 1

存储器 3.6 8086/8088 的寻址方式 如 :JMP FAR PTP ADDR CS + 4 0 0 0 H IP3 0 0 0 H 4 3 0 0 0 H 操作码 OFFSET 低字节 OFFSET 高字节 SEG 低字节 SEG 高字节 00 30 00 40 IP CS ADDR OP CODE

2. 段间间接寻址 这种寻址方式和段内间接寻址方式相似, 但不可能有寄存器间接寻址了, 因为要得到的转移地址是 32bit(16bit SEG 地址和 16bit EA 地址 ) 因此转移目的地的地址只能间接的存放在一个双字的存储器单元当中 这个双字存储器单元可以用五种存储器寻址方式的任一种寻找到 找到的这个双字单元 ( 连续的 4 个字节单元 ) 存放的就是转移地址如下图所示 :

存放转移地址的首址 低字节 高字节 低字节 高字节 存储器 转移 OFFSET IP 转移 SEG 地址 CS

如 :JMP DWORD PTR [BX][DI] 若 (DS)=3000H,(BX)=1000H, (DI)=2000H, 则 : DS: 3 0 0 0 BX: 1 0 0 0 DI: + 2 0 0 0 3 3 0 0 0 H CS: 8 0 0 0 IP: + 2 0 0 0 8 2 0 0 0 H 33000H 82000H 05H 00H 20H 00H 80H OP CODE IP CS

小 结 一. 8086 寻址方式 寻找数据 寻找地址 立即数寻址直接寻址寄存器寻址寄存器间接寻址存储器寻址寄存器相对寻址基址变址寻址隐含寻址基址变址且相对寻址段内直接寻址 ( 相对寻址 ) 间接寻址直接寻址段间间接寻址

小 结 二. 8086 指令系统当中的所有条件转移指令只能在段内转移, 且转移范围以当前 IP 为基准, 不能超出 -128 +127 之间, 其寻址方式为段内相对寻址 作业 : 12. 13.