60 lines
893 B
Plaintext
60 lines
893 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 -> sint32
|
|
/*a sint32 <- 4
|
|
b sint32 <- 5
|
|
|
|
res sint32 <- rawAdd(4, 5)*/
|
|
putchar('@')
|
|
putchar('\n')
|
|
|
|
ret 0
|
|
; |