首页 > 解决方案 > LDA/STA 命令中的 < 或 > 是什么意思?

问题描述

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

在我的 6502 手册中找不到对这些的任何参考。

< 和 > 是什么意思?

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

LDA #<ARM
STA BPTR
LDA #>ARM
STA BPTR+1
LDA #>CLBASE

标签: 6502

解决方案


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

例如

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            |

推荐阅读