这种指令直观易懂,后续指令的地址可任意填写 可直接寻址的地址范围与地址字段的位数有关。 例如:指令字长32位,操作码占8位,4个地址段各占6位, 则指令的直接寻址范围为:26=64 如果地址字段均指示主存的地址,则完成一条四地址指令, 共需访问四次存储器(取指令一次,取两个操作数两次,存结 果一次)。 因为程序中大部分指令都是顺序执行的,当采用指令计数器 后,A4地址可以省去。 计算机组成原理
计算机组成原理 16 • 这种指令直观易懂,后续指令的地址可任意填写。 • 可直接寻址的地址范围与地址字段的位数有关。 例如:指令字长32位,操作码占8位,4个地址段各占6位, 则指令的直接寻址范围为: 2 6 = 64 • 如果地址字段均指示主存的地址,则完成一条四地址指令, 共需访问四次存储器(取指令一次,取两个操作数两次,存结 果一次)。 • 因为程序中大部分指令都是顺序执行的,当采用指令计数器 后,A4地址可以省去
(2)三地址指令 指令格式:oPA1A2A3 ·三地址指令中各项含义与四地址指令相同。由于采用了指 令计数器(又称程序计数器,简称PC),省去了A地址; 用三地址指令编写的程序,其指令在内存中必须依次存放, 才能利用程序计数器自动增量的办法顺序执行。若程序要转 向时,必须用转移指令改变程序的执行顺序。 ·如果指令字长不变(32位),操作码仍为8位,故三地址指令 直接寻址范围可达:28=256 若地址字段均为主存地址,则完成一条三地址指令也需四 次访问存储器。 计算机组成原理 17
计算机组成原理 17 (2) 三地址指令 指令格式: OP A1 A2 A3 • 三地址指令中各项含义与四地址指令相同。由于采用了指 令计数器 (又称程序计数器,简称PC),省去了A4地址; • 用三地址指令编写的程序,其指令在内存中必须依次存放, 才能利用程序计数器自动增量的办法顺序执行。若程序要转 向时,必须用转移指令改变程序的执行顺序。 • 如果指令字长不变(32位),操作码仍为8位,故三地址指令 直接寻址范 围可达:2 8=256 • 若地址字段均为主存地址,则完成一条三地址指令也需四 次访问存储器
(3)二地址指令 指令格式: OP OP:操作码; A1:既作第一操作数地址,又作目的地址; A2:第二操作数地址。 操作:(A1)OP(A2)→A1 有的机器也表示(A1)OP(A2)→A2,A2既作第一操作 数地址,又作目的地址; ·在不改变字长和操作码位数的前提下,二地址指令可直接 访问的主存地址数为:212=4K 计算机组成原理 18
计算机组成原理 18 OP:操作码; A1:既作第一操作数地址,又作目的地址; A2:第二操作数地址。 操作:(A1) OP(A2) → A1 (3) 二地址指令 指令格式: OP A1 A2 • 有的机器也表示(A1)OP(A2) → A2, A2既作第一操作 数地址,又作目的地址; • 在不改变字长和操作码位数的前提下,二地址指令可直接 访问的主存地址数为: 2 12=4K
使用二地址指令编写的程序,其指令在内存中也要依次存 放,才能用程序计数器自动增量使之顺序执行。若程序发生 转向时,也必须用转移指令改变程序的执行顺序。 当二地址指令执行之后,A1中的内容被修改了 有的机器规定A2为目的地址,这时则是A2的内容被修改了。 若地址字段均为主存地址,则完成一条二地址指令也需四 次访问存储器。 计算机组成原理 19
计算机组成原理 19 • 使用二地址指令编写的程序,其指令在内存中也要依次存 放,才能用程序计数器自动增量使之顺序执行。若程序发生 转向时,也必须用转移指令改变程序的执行顺序。 • 当二地址指令执行之后,A1中的内容被修改了。 有的机器规定A2为目的地址,这时则是A2的内容被修改了。 • 若地址字段均为主存地址,则完成一条二地址指令也需四 次访问存储器
(4)一地址指令 指令中只给出一个操作数地址,另一个操作数地址和目的地 址则是隐含的。这个隐含的地址就是运算器的累加寄存器AC 指令格式: OP 操作:(AC)OP(A)→AC 在不改变字长和操作码位数的前提下,二地址指令可直接访 问的主存地址数为:24=16M 完成一条指令只需两次访存; 计算机组成原理
计算机组成原理 20 指令中只给出一个操作数地址,另一个操作数地址和目的地 址则是隐含的。这个隐含的地址就是运算器的累加寄存器AC。 (4) 一地址指令 指令格式: OP A 操作:(AC)OP(A)→ AC • 在不改变字长和操作码位数的前提下,二地址指令可直接访 问的主存地址数为: 2 24 = 16M • 完成一条指令只需两次访存;