repos / gbc

GBC - Go B Compiler
git clone https://github.com/xplshn/gbc.git

gbc / tests
xplshn  ·  2025-09-14

casting.bx

Bx
 1main() {
 2    extrn printf, exit;
 3
 4    auto a = 42;
 5
 6    b := int(a);
 7    c := (int(a) + 1);
 8
 9    printf("Function-style casts: a=%d, int(a)=%d, (int(a)+1)=%d\n", a, b, c);
10
11    ptr := &a;
12    byte_ptr := (*byte)ptr;
13    int_ptr := (*int)byte_ptr;
14    value := *int_ptr;
15
16    printf("Pointer casts work: value=%d\n", value);
17
18    n1 := int8(8);
19    n2 := int16(16);
20    n3 := int32(32);
21    n4 := int64(64);
22    
23    printf("n1(int8) : %d\n", n1);
24    printf("n2(int16): %d\n", n2);
25    printf("n3(int32): %d\n", n3);
26    printf("n4(int64): %d\n", n4);
27
28    exit(0);
29}