装配中的变量增加8080?

时间:2013-11-19 17:28:57

标签: assembly intel-8080

我现在正在为英特尔8080开发一个程序,但我并没有真正了解我们可以为变量保留的空间。也就是说,我们说test DB 80。我可以稍后以某种方式减少或增加变量test,或者我是否必须重新声明它?

2 个答案:

答案 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 ;这会增加另一个字节的代码。