8085微处理器寄存器代码
使用16位地址,8085可以访问216=64K个存储位置。由于单个十六进制数字可以用4位表示,因此在8085中,内存地址可以用四个十六进制数字表示。类似地,为方便起见,我们可以使用二进制表示法将所有8085 CPU寄存器表示为A、B、C等。8085内部只使用0和1来指定这些寄存器。因此,3位足以表示一个寄存器。下表显示了8085寄存器的3位寄存器代码。
使用3位寄存器代码,最多可以指定八个寄存器,因为23=8。另一方面,8085只有七个寄存器。因此请注意,寄存器代码110不指定任何寄存器。
寄存器 | 寄存器代码 |
---|---|
B | 000 |
C | 001 |
D | 010 |
E | 011 |
H | 100 |
L | 101 |
M | 110 |
A | 111 |
图 - 8085寄存器的三位寄存器代码
使用这些二进制代码,形成助记符对应的十六进制代码。例如
MOV E, H的操作码 - 为了表示MOV,我们有2位0 1,其余6位用于表示两个寄存器(目标和源),每个寄存器3位。即
01 r1代码 r2代码
所以MOV E, H的十六进制代码为0 1 0 1 1 1 0 0 => 5CHMOV A, B的操作码 - 为了表示MOV,我们有2位0 1,其余6位用于表示两个寄存器(目标和源),每个寄存器3位。即
01 r1代码 r2代码
所以MOV A, B的十六进制代码为0 1 1 1 1 0 0 0 => 78HMOV E, M的操作码 - 为了表示MOV,我们有2位0 1,其余6位用于表示两个寄存器(目标和源),每个寄存器3位。即
01 r1代码 r2代码
所以MOV E, M的十六进制代码为0 1 0 1 1 1 1 0 => 5EHMVI E, data的操作码 - 为了表示MVI,我们有2位0 0,其余6位用于表示一个目标寄存器和另一个6位组合来表示它是与内存相关的操作,用于从内存读取数据。即
00 r1代码 1 1 0
所以MVI E, data的十六进制代码为0 0 0 1 1 1 1 0 => 1EH