diff options
author | Astatin <[email protected]> | 2024-11-05 19:41:14 +0900 |
---|---|---|
committer | Astatin <[email protected]> | 2024-11-05 19:41:14 +0900 |
commit | 3d2af841e601d960d2ed9c7b081cd957fa58e494 (patch) | |
tree | e9da63ff9b0bea7cb3d058f5f01fc59eb63ec427 /parameters.go | |
parent | dc89fa71b45eedbe1b69602b7bcfb8c7b309498f (diff) |
Allow labels defined inside macros to be used as absolute 16b values
Diffstat (limited to 'parameters.go')
-rw-r--r-- | parameters.go | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/parameters.go b/parameters.go index 5e234f5..4c787f3 100644 --- a/parameters.go +++ b/parameters.go @@ -120,7 +120,7 @@ func Raw16(labels *Labels, defs *Definitions, param string) (uint16, error) { return uint16(res), nil } - if strings.HasPrefix(param, "=") && !strings.HasPrefix(param, "=$") { + if strings.HasPrefix(param, "=") { if labels == nil { return 0, nil } @@ -144,23 +144,6 @@ func Raw16(labels *Labels, defs *Definitions, param string) (uint16, error) { return uint16(res), err } -func MacroLabel(labels *Labels, defs *Definitions, param string) (uint16, error) { - if strings.HasPrefix(param, "=$") { - if labels == nil { - return 0, nil - } - - label := strings.ToUpper(strings.TrimPrefix(param, "=")) - labelValue, ok := (*labels)[label] - if !ok { - return 0, fmt.Errorf("Label \"%s\" not found", label) - } - - return uint16(labelValue), nil - } - return 0, fmt.Errorf("Invalid macro label") -} - func Reg16Indirect(_ *Labels, _ *Definitions, param string) (uint16, error) { switch param { case "(BC)": |