第三章寻址方式 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