三地址指令和零地址指令的区别

三地址指令和零地址指令的区别

1. 三地址指令:

三地址指令是机器指令的一种格式。它有一个操作码和三个地址字段。一个地址字段用于目的地,两个地址字段用于源。

三地址指令和零地址指令的区别

例子:

X = (A + B) x (C + D)

解决方案:

添加 R1,AB R1 <- M[A] + M[B]
添加 R2, C, D R2 <- M[C] + M[D]
MUL X, R1, R2 M[X] <- R1 x R2
Java

2. 零地址指令:

零地址指令是机器指令的一种格式。它有一个操作码,没有地址字段。

三地址指令和零地址指令的区别

例子:

X = (A + B) x (C + D)

解决方案:

负载 A AC <- M[A]
推送服务条款 <- 一个
按 B TOS <- B
添加服务 <- (A + B)C TOS <- CD TOS <- D
添加 TOS <- (C + D)
MUL TOS <- (C + D) x (A + B)
POP X M[X] <- TOS
Java

三地址指令和零地址指令的区别:

三地址指令 零地址指令
三地址指令有四个字段。 零地址指令只有一个字段。
三地址指令有一个操作码字段和三个地址字段。 零地址指令有一个操作码字段,没有地址字段。
三地址指令的指令长度很长。 零地址指令的指令较短。
访问处理器内部的位置比访问内存要慢。 零地址指令比内存更快地访问处理器内部的位置。
目的地和来源有不同的地址字段。 目的地和源没有共同的地址字段。
在三地址格式中,目的地址不能包含操作数。 在 0 地址格式中,没有用于操作数的字段。
在 3 地址格式中,指令数量较少。 在 0 地址格式中,指令数量更多。
一条指令可能需要三个内存访问。 零地址指令不需要三个内存访问。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册