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