我现在正在为英特尔8080开发一个程序,但我并没有真正了解我们可以为变量保留的空间。也就是说,我们说test DB 80
。我可以稍后以某种方式减少或增加变量test
,或者我是否必须重新声明它?
答案 0 :(得分:2)
INR M
指令递增HL寄存器指向的存储器地址的字节内容。所以你基本上可以:
LXI H, test
INR M
答案 1 :(得分:1)
假设“test”是一个字节,你可以这样做:
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寄存器和7个字节的代码空间。增加的“test”值保留在序列末尾的A中。
或者,如上所述:
测试:ds 1 lxi H,测试;使用名为“test”的内存位置地址加载HL in m;增加地址为HL的内存位置。 ;此代码使用四个字节的代码空间并寄存器H和L. ;如果要加载带有“test”内容的A,请执行: mov a,m ;这会增加另一个字节的代码。