Wol*_*olf 3 syntax assembly parsing comma
我目前正在开发一个小的汇编程序,我很想知道为什么我在网上找到的几乎所有汇编语法都使用逗号,看起来像这样:
MOV eax, 123
我正在考虑这个问题的原因如下:
我可以在网上找到的一个例外是来自维基百科的这张图片:https://en.wikipedia.org/wiki/File: Hotorola_6800_Assembly_Language.png
现在我不知道逗号是否更现代(x86/arm/etc.汇编程序),但我的问题是:
何时,何地以及为何使用此逗号语法?
如果汇编程序支持符号表达式或者体系结构具有复杂的寻址模式,则显式分隔符将消除歧义.
MASM和TASM支持的语法mov var, 1
为mov [var], 1
(尺寸从上下文推断).
什么mov var +2 -3
意思? mov var+2, -3
还是mov var, +2-3
?(两者都有效).
如果寻址模式具有类似(R1)+2
(例如,对于某种回写)的形式,MOV (R1) +3 +2
则同样适用.
在我看来,逗号使代码更具可读性,我的流程如下:
这让我可以很快地浏览装配,但这只是我个人的意见.最后,这是设计师的号召,英特尔从8008开始使用它,这是4004的芯片继承者,4004是第一个(如果不是第一个)微芯片商用的芯片.
它可能只是卡住了.
处理逗号有点复杂,这是一个需要考虑的特殊情况,但它归结为:这种语法是针对人类还是计算机而设计的?
在像mov (r0), r3
括号这样的表达式中,不需要配对(mov (r0, r3
仍然是明确的),这将更容易解析,但是:
来自XKCD
归档时间: |
|
查看次数: |
182 次 |
最近记录: |