中国高校课件下载中心 》 教学资源 》 大学文库

中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(课件讲稿)第三章 寻址方式

文档信息
资源类别:文库
文档格式:PDF
文档页数:68
文件大小:386.28KB
团购合买:点击进入团购
内容简介
3.1 数据寻址方式 3.2 指令寻址方式 3.3 跨段的有关问题 3.4 实模式与保护模式 3.5 综合举例
刷新页面文档预览

第三章寻址方式 3.1数据寻址方式 3.2指今寻址方式 3.3跨段的有关问题 3.4实模式与保护模式 3.5综合举例

第三章 寻址方式 3.1 数据寻址方式 3.2 指令寻址方式 3.3 跨段的有关问题 3.4 实模式与保护模式 3.5 综合举例 1

什么是寻址方式? 通常,执行一条带有操作数的指令需要指明 两个问题,一是进行什么操作?二是操作数在那 里?我们将寻找数据和指令存放地址的方式称为 寻扯方式。操作数在计算机运行过程中可能存储 的物理位置有指令、CPU、存储器、接口等;不 同的存储位置所采用的寻址方式不同

什么是寻址方式? 通常,执行一条带有操作数的指令需要指明 两个问题,一是进行什么操作?二是操作数在那 里?我们将寻找数据和指令存放地址的方式称为 寻扯方式。操作数在计算机运行过程中可能存储 的物理位置有指令、CPU、存储器、接口等;不 同的存储位置所采用的寻址方式不同。 2

3.1数据寻址方式 数据寻址方式即寻找操作数地址的方式,。 在8086/80286中只能使用16位寻址,而 80386及其后继机型则既可用16位寻址,也 可用32位寻址,无论多少位寻址实质都是 寻找操作数的物理地址。物理地址是由段 地址和偏移地址两部分组成,段地址存放 在相应的段寄存器中,偏移地址存储在相 应的地址寄存器中,偏移地址又称有效地 址

3.1 数据寻址方式 数据寻址方式即寻找操作数地址的方式, 在8086/80286中只能使用16位寻址,而 80386及其后继机型则既可用 及其后继机型则既可用16位寻址,也 可用32位寻址,无论多少位寻址实质都是 寻找操作数的物理地址。物理地址是由段 地址和偏移地址两部分组成,段地址存放 在相应的段寄存器中,偏移地址存储在相 应的地址寄存器中,偏移地址又称有效地 址。 3

有效地址(偏移地址)的组成: 如果一个操作数存放在存储器中,那么有效地址可以 由以下四部分组成。 1.位移量(displacement)是存放在指令中的一个8 位、16位和32位的数,但它不是立即数,而是一个 地址。 2.基址(base)是存放在基址寄存器中的内容。它 是有效地址中的基址部分,通常用来指向数据段中 数组或字符串的首地址。 3.变址(index)是存放在变址寄存器中的内容。它 通常用来访问数组中的某个元素或字符串中的某个 字符。 888

有效地址(偏移地址)的组成: 如果一个操作数存放在存储器中,那么有效地址可以 由以下四部分组成。 1.位移量 (displacement displacement )是存放在指令中的一个 是存放在指令中的一个 8 位、16位和32位的数,但它不是立即数,而是一个 地址。 2.基址 (base )是存放在基址寄存器中的内容 是存放在基址寄存器中的内容 。 它 是有效地址中的基址部分,通常用来指向数据段中 数组或字符串的首地址 。 3.变址(index)是存放在变址寄存器中的内容。它 通常用来访问数组中的某个元素或字符串中的某个 字符。 4

有效地址(偏移地址)的组成: 4.比例因子是386及其后继机型中新增加寻址方 式中的一个术语,其值可为1,2,4或8。在寻 址中,可用变址寄存器的内容乘以比例因子来 取得变址值。这类寻址方式对访问元素长度为 2,4,8字节的数组特别有用。 有效地址的计算方法可以用下式表示: EA=基址+(变址×比例因子)+位移量(X) 这四个成分中,除比例因子是固定值外,其他 三个成分都可正可负,以保证指针移动的灵活 性。 80

有效地址(偏移地址)的组成: 4.比例因子是386及其后继机型中新增加寻址方 式中的一个术语,其值可为1,2,4或8。在寻 址中,可用变址寄存器的内容乘以比例因子来 取得变址值 。这类寻址方式对访问元素长度为 2,4,8字节的数组特别有用。 有效地址的计算方法可以用下式表示: EA = 基址 +(变址×比例因子)+ 位移量(X) 这四个成分中,除比例因子是固定值外,其他 三个成分都可正可负,以保证指针移动的灵活 性 。 5

3.1.116位寻址 16位寻址方式是指操作数的偏移地址 由16位二进制数组成,段地址保存在 DS、ES、SS、CS中,20位物理地址是 由段地址左移4位二进制加上操作数的 偏移地址形成,最大寻址空间为1MB

3.1.1 16位寻址 16位寻址方式是指操作数的偏移地址 由16位二进制数组成,段地址保存在 DS、ES、SS、CS中,20位物理地址是 由段地址左移 4位二进制加上操作数的 偏移地址形成,最大寻址空间为1MB。 6

1.立即寻址 在该寻址方式中,操作数直接存放在指令内,且 紧跟在指令操作码之后,指令码和操作数都存 放在代码段中。 汇编格式:n 操作数位置:指令 功能:指令码下一单元的内容即为操作数n,操 作数存放在指令中。 指令 操作数n

1. 立即寻址 在该寻址方式中,操作数直接存放在指令内,且 紧跟在指令操作码之后,指令码和操作数都存 放在代码段中。 汇编格式:n 操作数位置:指令 功能:指令码下一单元的内容即为操作数n,操 作数存放在指令中。 指令 操作数n 7

立即寻址例题 例3.1M0V AX,2000H 说明:M0V是双操作数指令,功能是实现数据传 送。该指令的目的操作数是AX,源操作数是 2000H,反汇编代码为B80020,其中指令长度 为3个字节,立即数2000H占两个字节,且紧跟 在指令操作码之后存放在代码段之中。 执行前:(AX)=0000H 执行后:(AX)=2000H

立即寻址例题 例3.1 MOV AX 3.1 MOV AX,2000H 说明:MOV是双操作数指令,功能是实现数据传 送。该指令的目的操作数是 该指令的目的操作数是AX,源操作数是 2000H,反汇编代码为B80020,其中指令长度 为3个字节,立即数2000H占两个字节,且紧跟 在指令操作码之后存放在代码段之中。 执行前:(AX)=0000H 执行后:(AX)=2000H。 8

2.直接寻址 在该寻址方式中,指令直接给出了操作数的偏移地址, 操作数存放在存储器内,操作数的偏移地址与操作码 一起存放在指令中,且紧跟在指令码之后。要想存取 操作数必须首先生成物理地址,操作数物理地址是由 段地址和偏移地址EA相加而成,默认段为数据段。 汇编格式:[n]或含有变量的地址表达式 操作数位置:存储器 功能:n或含有变量的地址表达式的值是操作数的偏移 地址EA,且存放在指令的下一个字单元中,但操作数 存放在存储器中。 段基地址 指令 存储器 EA ⊕ 操作数

2. 直接寻址 在该寻址方式中,指令直接给出了操作数的偏移地址, 操作数存放在存储器内,操作数的偏移地址与操作码 一起存放在指令中,且紧跟在指令码之后。要想存取 操作数必须首先生成物理地址,操作数物理地址是由 段地址和偏移地址EA相加而成,默认段为数据段。 汇编格式:[n]或含有变量的地址表达式 操作数位置:存储器 功能:n或含有变量的地址表达式的值是操作数的偏移 地址EA,且存放在指令的下一个字单元中,但操作数 存放在存储器中。 段基地址 EA 指令 存储器 ⊕ 操作数 9 EA

直接寻址例题 例3.2M0VAX,[2000H] 说明:源操作数采用直接寻址方式,指令码下一字单元的内容 2000H为源操作数的EA,操作数存放在存储器中。 执行前:(DS)=3000H, 执行后:(AX)=5050H 例3.3 MOV AX,BUFA 说明:源操作数采用直接寻址方式,指令码下一字单元的内容 为变量BUPA的EA,操作数存放在存储器变量BUFA所指向的存 储单元中。指令功能是将字类型变量BUFA的内容送入AX之中 执行前:假定BUFA在数据段中定义,EA=1000H,(DS) = 2000H,(AX)=1122H,(21000)=1259H, 执行后:(AX)=1259H 10

直接寻址例题 例3.2 MOV AX,[2000H] 说明:源操作数采用直接寻址方式,指令码下一字单元的内容 2000H为源操作数的EA,操作数存放在存储器中。 执行前:(DS)=3000H, 执行后:(AX)=5050H 例3.3 MOV AX,BUFA 说明:源操作数采用直接寻址方式,指令码下一字单元的内容 为变量BUFA的EA,操作数存放在存储器变量BUFA所指向的存 储单元中。指令功能是将字类型变量BUFA的内容送入AX之中。 执行前:假定BUFA在数据段中定义 在数据段中定义,EA=1000H,(DS)= 2000H,(AX)=1122H,(21000)=1259H, 执行后:(AX)=1259H 10 执行后:(AX)=1259H

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档