我对汇编语言非常陌生,这基本上是我第一次使用它。我试图理解这段代码的工作方式,如预执行映射内存和后执行映射内存。我知道格式化在汇编中很重要,我已经在asmIDE中格式化了代码,但是当我在这里粘贴它时它就搞砸了。万一你们想要知道它编译和调试,我能够得到
作为预执行调试,但我不确定它是如何工作的......我需要一些清晰度。
也可以有人澄清这些关键词:dw,$和no $之间的区别,staa,swi,std?谢谢。我正在为Dragon12微控制器写这个。 org $1000 ;start at ram
Val1 dw $1234
Val2 db 16
Val3 dw 1234
Val4 equ $06
org $1020
Res0 ds 1
Res1 ds 1
Res2 ds 2
Res3 ds 1
Res4 ds 2
org $2000 ;start at rom
ldaa Val2
staa Res0
ldab #Val4
stab Res1
ldd Val3
stab Res2
ldaa $1001
std Res2
staa Val3+1
swi
end
答案 0 :(得分:0)
$是一个前缀,表示后续数字是十六进制形式。否则,该数字为十进制形式。
dw“define word”是一个定义两个字节的内存块的指令。 dw后面的数字是程序启动时该内存的初始值。
db“define byte”是与dw类似的指令,但指定单个字节。
我不知道“龙”汇编语言,但这些是许多汇编程序的非常常见的指令。实际的汇编指令虽然特定于cpu。我猜猜staa,swi,std是什么意思,但不会。你应该可以很容易地查找它们。