从数据存储器到寄存器

From data memory to registers

有没有办法增加 8051 架构中的内存?

例如:

内存插槽:

mov 0x71, #0x01 mov 0x72, #0x02 mov 0x73, #0x03

有没有办法在for循环中说

mov 0x71, A do something; mov 0x72, A do something;

在 for 循环中?

在 java 中,您只需执行简单的 for(int i = 0; i < variable; i++) 但我不知道如何在 8051 体系结构中执行此操作。

当然,有多种方法可以做到这一点。根据周围的代码,我可能会使用 DJNZ or CJNE 指令。

    ;Load your control variable into B. From a table, GPIO, etc.
    MOV  B,#3H

    ;Build your loop. This is basically a Do While loop.

    ;int i=0, (really a byte since 8 is 8-bit)
    CLR A

    ;Start of the loop, notice this is AFTER the CLR op
FN_LOOP:

    ;Do something...

    ;i++
    INC A

    ;i < variable. Stops when A == B
    CJNE A,B,FN_LOOP

    ;Rest of your code

我建议您也阅读汇编中的寻址模式。这些知识对于阅读汇编指令集文档至关重要。