如何在 68hc11 的程序集中创建一个数组?
How to create an array in assembly for 68hc11?
我需要编写一个从 100 美元开始执行的程序,以 800 美元分配一个 200 字节的数组,并用值 200、199、... 1 初始化该数组。
我需要知道如何创建一个循环来递减数组,同时递减要存储在数组中的值。
有什么想法或建议吗?我找不到该处理器的大量示例代码。
ORG 0
LDAA #200
STAA #0
DECA
BNE
如果您在地址 $800 处有内存,只需使用 68HC11 的指令在此处写入和读取数据。您不需要以某种特殊方式声明数组。
只有一个例外 - 如果您的 CPU 运行某个操作系统,它会自行管理 RAM 内存。然后你需要调用一些 OS 函数来分配所需的内存。但是这个过程与汇编编程无关。只需阅读 OS(如果有)的文档。
Vreset equ $FFFE
RAM equ 0
ROM equ 0
ARRAY_SIZE equ 200
org RAM
array rmb ARRAY_SIZE
org ROM
Start ldx #array
ldaa #ARRAY_SIZE
Loop staa ,x
inx
deca
bne Loop
bra *
org Vreset
dw Start
我需要编写一个从 100 美元开始执行的程序,以 800 美元分配一个 200 字节的数组,并用值 200、199、... 1 初始化该数组。
我需要知道如何创建一个循环来递减数组,同时递减要存储在数组中的值。
有什么想法或建议吗?我找不到该处理器的大量示例代码。
ORG 0
LDAA #200
STAA #0
DECA
BNE
如果您在地址 $800 处有内存,只需使用 68HC11 的指令在此处写入和读取数据。您不需要以某种特殊方式声明数组。
只有一个例外 - 如果您的 CPU 运行某个操作系统,它会自行管理 RAM 内存。然后你需要调用一些 OS 函数来分配所需的内存。但是这个过程与汇编编程无关。只需阅读 OS(如果有)的文档。
Vreset equ $FFFE
RAM equ 0
ROM equ 0
ARRAY_SIZE equ 200
org RAM
array rmb ARRAY_SIZE
org ROM
Start ldx #array
ldaa #ARRAY_SIZE
Loop staa ,x
inx
deca
bne Loop
bra *
org Vreset
dw Start