Assembly 为8080增加汇编中的变量?
我现在正在为英特尔8080开发一个程序,我真的不知道我们能为变量预留多少空间。也就是说,我们做Assembly 为8080增加汇编中的变量?,assembly,intel-8080,Assembly,Intel 8080,我现在正在为英特尔8080开发一个程序,我真的不知道我们能为变量预留多少空间。也就是说,我们做测试db80。例如,我可以稍后以某种方式递减或递增变量test,还是必须重新声明它?INR M指令递增HL寄存器指向的内存地址的字节内容。所以你基本上可以: LXI H, test INR M INR M指令增加HL寄存器指向的内存地址的字节内容。所以你基本上可以: LXI H, test INR M 假设“test”是一个字节,您可以这样做: test:ds 1:它留出一个字节用于存储数据,并将其
测试db80
。例如,我可以稍后以某种方式递减或递增变量test
,还是必须重新声明它?INR M
指令递增HL寄存器指向的内存地址的字节内容。所以你基本上可以:
LXI H, test
INR M
INR M
指令增加HL寄存器指向的内存地址的字节内容。所以你基本上可以:
LXI H, test
INR M
假设“test”是一个字节,您可以这样做:
test:ds 1:它留出一个字节用于存储数据,并将其命名为“test”
);此代码使用A寄存器和七个字节的代码空间。“test”的增量值在序列末尾保留在A中
或者,如上所述:
测试:ds 1
lxi-H,试验;用名为“test”的内存位置的地址加载HL
印度卢比m;递增地址为HL的内存位置。
; 此代码使用四个字节的代码空间和寄存器H和L
; 如果要加载包含“测试”内容的,请执行:
莫夫a,m
; 它添加了另一个字节的代码。假设“test”是一个字节,您可以执行以下操作:
test:ds 1:它留出一个字节用于存储数据,并将其命名为“test”
);此代码使用A寄存器和七个字节的代码空间。“test”的增量值在序列末尾保留在A中
或者,如上所述:
测试:ds 1
lxi-H,试验;用名为“test”的内存位置的地址加载HL
印度卢比m;递增地址为HL的内存位置。
; 此代码使用四个字节的代码空间和寄存器H和L
; 如果要加载包含“测试”内容的,请执行:
莫夫a,m
; 这又增加了一个字节的代码。否。请看
LXI H,test
和INR M
得到了什么(很久以前就有了)。否。看看什么LXI H,test
和INR M
让你得到了什么(很久以前就得到了)。谢谢你,但之后我如何使用它来输出呢?假设RST 1打印A的内容。如果我执行“LXI H,test/INR M/MOV A,H/RST 1”,则不会打印任何内容,尽管模拟器显示A的内容不是空值。那么,如何打印变量呢?1)需要mova,M来获得内存内容,而不是H。2)需要将A增加48(或左移6位)来获得可打印的字符。谢谢。我是否仅限于使用LXI H,以便以后使用INR处理它,或者我还可以将其他寄存器指向它,比如LXI C,?如果是这样,我如何指向内存,如果M表示HL所指向的区域?谢谢,但是在那之后我如何使用它来输出?假设RST 1打印A的内容。如果我执行“LXI H,test/INR M/MOV A,H/RST 1”,则不会打印任何内容,尽管模拟器显示A的内容不是空值。那么,如何打印变量呢?1)需要mova,M来获得内存内容,而不是H。2)需要将A增加48(或左移6位)来获得可打印的字符。谢谢。我是否仅限于使用LXI H,以便以后使用INR处理它,或者我还可以将其他寄存器指向它,比如LXI C,?如果是,我如何指向内存,如果M表示区域HL指向?