1

我现在正在为 Intel 8080 开发一个程序,但我真的不明白我们可以为变量保留的空间是如何工作的。即,假设我们这样做test DB 80。例如,我以后可以以某种方式减少或增加变量test,还是必须重新声明它?

4

2 回答 2

3

INR M指令递增 HL 寄存器指向的内存地址的字节内容。所以你基本上可以:

LXI H, test
INR M
于 2013-11-19T17:35:22.223 回答
1

假设“测试”是一个字节,你可以这样做:

test: ds 1 :这会留出一个字节用于存储数据并将其命名为“test”

  lda test  ; move the value from the memory location called "test" into "a"
  inr a     ; increment A
  sta test  ; store the value from A into the memory location called "test"

; 此代码使用 A 寄存器和七个字节的代码空间。“test”的增量值在序列末尾保留在 A 中。

或者,如上所述:

测试:ds 1 lxi H,测试;用称为“test” inr m 的内存位置的地址加载 HL ;增加地址在 HL 中的内存位置。; 该代码使用四个字节的代码空间和寄存器 H 和 L ;如果你想用“test”的内容加载A,执行: mov a,m ; 这增加了另一个代码字节。

于 2014-10-05T08:24:15.923 回答