diff --git a/internal/commands/byte_test.go b/internal/commands/byte_test.go index 16874fd..183a6d8 100644 --- a/internal/commands/byte_test.go +++ b/internal/commands/byte_test.go @@ -205,7 +205,7 @@ func TestByteCommand_Interpret(t *testing.T) { }, { name: "byte with binary", - text: "BYTE x = !11111111", + text: "BYTE x = %11111111", wantErr: false, checkVar: func(t *testing.T, ctx *compiler.CompilerContext) { sym := ctx.SymbolTable.Lookup("x", nil) diff --git a/internal/commands/word_test.go b/internal/commands/word_test.go index 233ea88..6df3b18 100644 --- a/internal/commands/word_test.go +++ b/internal/commands/word_test.go @@ -227,7 +227,7 @@ func TestWordCommand_Interpret(t *testing.T) { }, { name: "word with binary", - text: "WORD x = !1111111111111111", + text: "WORD x = %1111111111111111", wantErr: false, checkVar: func(t *testing.T, ctx *compiler.CompilerContext) { sym := ctx.SymbolTable.Lookup("x", nil) diff --git a/internal/utils/utils.go b/internal/utils/utils.go index 8788bb1..755d168 100644 --- a/internal/utils/utils.go +++ b/internal/utils/utils.go @@ -232,8 +232,8 @@ func evaluateTerm(term string, lookup ConstantLookup) (int64, error) { return val, nil } - // Check for binary: !11111111 - if strings.HasPrefix(term, "!") { + // Check for binary: %11111111 + if strings.HasPrefix(term, "%") { val, err := strconv.ParseInt(term[1:], 2, 64) if err != nil { return 0, fmt.Errorf("invalid binary number: %w", err) diff --git a/internal/utils/utils_test.go b/internal/utils/utils_test.go index 802d4ab..bc1ebcc 100644 --- a/internal/utils/utils_test.go +++ b/internal/utils/utils_test.go @@ -204,14 +204,14 @@ func TestEvaluateExpression(t *testing.T) { {name: "hex word", expr: "$C000", want: 0xC000}, // Binary - {name: "binary 8bit", expr: "!11111111", want: 255}, - {name: "binary zero", expr: "!00000000", want: 0}, - {name: "binary mixed", expr: "!10101010", want: 0xAA}, + {name: "binary 8bit", expr: "%11111111", want: 255}, + {name: "binary zero", expr: "%00000000", want: 0}, + {name: "binary mixed", expr: "%10101010", want: 0xAA}, // Addition {name: "add decimal", expr: "10+20", want: 30}, {name: "add hex", expr: "$10+$20", want: 0x30}, - {name: "add binary", expr: "!1010+!0101", want: 15}, + {name: "add binary", expr: "%1010+%0101", want: 15}, {name: "add multiple", expr: "10+20+30", want: 60}, // Subtraction