数字逻辑与计算机组成原理:第7章 指 令 系 统.pptVIP

  • 14
  • 0
  • 约8.75千字
  • 约 45页
  • 2020-12-21 发布于安徽
  • 举报

数字逻辑与计算机组成原理:第7章 指 令 系 统.ppt

7. 基址寻址 (1) 采用专用寄存器作基址寄存器 EA = ( BR ) + A BR 为基址寄存器 OP A 操作数 主存 寻址特征 ALU BR 可扩大寻址范围 有利于多道程序 BR 内容由操作系统或管理程序确定 在程序的执行过程中 BR 内容不变,形式地址 A 可变 7.3 (2) 采用通用寄存器作基址寄存器 操作数 主存 寻址特征 ALU OP R0 A R0 作基址寄存器 由用户指定哪个通用寄存器作为基址寄存器 通用寄存器 R0 Rn-1 R1 … 基址寄存器的内容由操作系统确定 在程序的执行过程中 R0 内容不变,形式地址 A 可变 7.3 8. 变址寻址 EA = ( IX ) +A OP A 操作数 主存 寻址特征 ALU IX 可扩大寻址范围 便于处理数组问题 IX 的内容由用户给定 IX 为变址寄存器(专用) 在程序的执行过程中 IX 内容可变,形式地址 A 不变 通用寄存器也可以作为变址寄存器 7.3 例 设数据块首地址为 D,求 N 个数的平均值 直接寻址 变址寻址 LDA D ADD D + 1 ADD D + 2 … ADD D + ( N -1 ) DIV # N STA ANS LDA # 0 LDX # 0 INX CPX # N BNE M DIV # N STA ANS 共 N + 2 条指令 共 8 条指令 ADD X, D M X 为变址寄存器 D 为形式地址 (X) 和 #N 比较 (X) +1 X 结果不为零则转 7.3 9. 相对寻址 EA = ( PC ) + A A 是相对于当前指令的位移量(可正可负,补码) A 的位数决定操作数的寻址范围 程序浮动 广泛用于转移指令 操作数 寻址特征 ALU OP A 相对距离 A 1000 PC … 主存 1000 A OP 7.3 (1) 相对寻址举例 M 随程序所在存储空间的位置不同而不同 EA = ( M+3 ) – 3 = M – 3 * LDA # 0 LDX # 0 ADD X, D INX CPX # N BNE M DIV # N STA ANS M M+1 M+2 M+3 而指令 BNE 与 指令 ADD X, D 相对位移量不变 – 3 * 指令 BNE 操作数的有效地址为 – 3 * 相对寻址特征 * 7.3 (2) 按字节寻址的相对寻址举例 OP 位移量 2000 H 2008 H 8 JMP * + 8 OP 06 H 2000 H 2008 H 8 设 当前指令地址 PC = 2000H 转移后的目的地址为 2008H 因为 取出 JMP * + 8 后 PC = 2002H 二字节指令 故 JMP * + 8 指令 的第二字节为 2008H - 2002H = 06H 7.3 10. 堆栈寻址 (1) 堆栈的特点 堆栈 硬堆栈 软堆栈 多个寄存器 指定的存储空间 先进后出(一个入出口) 栈顶地址 由 SP 指出 – 1 1FFFH +1 2000 H 进栈 (SP)– 1 SP 出栈 (SP)+ 1 SP 栈顶 栈底 2000 H SP 2000 H … … 1FFF H SP 1FFFH 栈顶 栈底 进栈 出栈 1FFF H 栈顶 2000 H 栈顶 7.3 (2) 堆栈寻址举例 15 200H ACC SP X 栈顶 200H 栈底 主存 15 1FFH ACC SP 15 栈顶 200H 栈底 主存 X 1FFH PUSH A 前 PUSH A 后 POP A 前 POP A 后 Y 1FFH ACC SP X 栈顶 200H 栈底 主存 15 1FFH 15 200H ACC SP 栈顶 200H 栈底 主存 X 15 7.3 (3) SP 的修改与主存编址方法有关 ① 按 字 编址 进栈 出栈 (SP)– 1 SP (SP)+ 1 SP ② 按 字节 编址 存储字长 16 位 进栈 出栈 (SP)– 2 SP (SP)+ 2 SP 存储字长 32 位 进栈 出栈 (SP)– 4 SP (SP)+ 4 SP 7.3 7.4 指令格式举例 一、设计指令格式时应考虑的各种因素 1. 指令系统的 兼容性 (向上兼容) 2. 其他因素 操作类型

文档评论(0)

1亿VIP精品文档

相关文档