59 lines
894 B
Plaintext
59 lines
894 B
Plaintext
//@extern putchar fun: character sint32 -> sint32
|
|
|
|
// ./build/brb samples/test.brc -S -x86-asm-syntax=intel
|
|
|
|
/*
|
|
User type
|
|
name data<u8, 32>
|
|
age u32
|
|
successRatio r32
|
|
isActive bool
|
|
;
|
|
*/
|
|
|
|
/*
|
|
i u32 <- 0, rep text[i] != 0:
|
|
putchar(text[i])
|
|
i++
|
|
;
|
|
*/
|
|
|
|
// text data<u8> <- "Hello world!"
|
|
|
|
/*addStuff asm<"+r, r">: num1 u32, num2 u32 -> u32
|
|
add $1, $0
|
|
;*/
|
|
|
|
/*normAdd fun: num1 sint32, num2 sint32 -> sint32
|
|
ret num1 + num2
|
|
;*/
|
|
|
|
/*rawAdd raw<"=r,r,r">: num1 sint32, num2 sint32 -> sint32
|
|
add $1, $2
|
|
mov $0, $1
|
|
;*/
|
|
|
|
/*rawAdd raw: num1 sint32, num2 sint32 -> sint32
|
|
add $1, $2
|
|
mov $0, $1
|
|
;*/
|
|
|
|
/*printChar raw
|
|
.global REGISTER
|
|
.text
|
|
.REGISTER:
|
|
.byte "Hello", 0xa0
|
|
.long RegisterTable
|
|
//push 0x21
|
|
|
|
;*/
|
|
|
|
main fun -> u32
|
|
num1 u8 <- 42
|
|
num2 s8 <- 15
|
|
num3 u32 <- 1234123
|
|
num4 s32 <- 345345
|
|
num5 r32 <- 42.58
|
|
|
|
ret 0
|
|
; |