LDA / STA命令中的<或>是什么意思?

格雷格

我了解6502指令集的基础知识,但是遇到了这段代码,这使我感到困惑。

在我拥有的6502手册中找不到这些参考。

<和>表示什么?

CLBASE  = $100
BPTR    = $25
ARM .BYT $1,$2  

LDA #<ARM
STA BPTR
LDA #>ARM
STA BPTR+1
LDA #>CLBASE
尼克·韦斯特盖特

前缀#<指定操作数的低字节,而#>指定操作数的高字节。

例如

LDA #>CLBASE ;This will be #$01
LDA #<CLBASE ;This will be #$00

大多数汇编程序(例如ACME)都支持跨6502派生设备的汇编程序约定这是WDC的W65C816S 8/16位微处理器数据表中的相关部分

| Operand     | One Byte Result | Two Byte Result |
|-------------|-----------------|-----------------|
| #$01020304  | 04              | 0403            |
| #<$01020304 | 04              | 0403            |
| #>$01020304 | 03              | 0302            |
| #^$01020304 | 02              | 0201            |

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章