diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-03-15 20:03:26 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-03-15 20:03:26 -0400 |
| commit | efb0a239c4aaee370d97caf216859a724d7f72bd (patch) | |
| tree | d13e9523103fab6c7c2eebbc654847f4924ea603 /examples/labels.s | |
| parent | 68b9f87bc3b6bd6ccb3773641578b0d914e61104 (diff) | |
feat: Parsing modifiers and directives
Support added for parsing a limited set of directives and for all access
modifiers.
Diffstat (limited to 'examples/labels.s')
| -rw-r--r-- | examples/labels.s | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/examples/labels.s b/examples/labels.s new file mode 100644 index 0000000..363b9e5 --- /dev/null +++ b/examples/labels.s @@ -0,0 +1,37 @@ +# int square(int num) { +# return num * num; +# } +# +# +# int main(void) { +# return square(2); +# } + +square: + addi sp,sp,-32 + sd ra,24(sp) + sd s0,16(sp) + addi s0,sp,32 + mv a5,a0 + sw a5,-20(s0) + lw a5,-20(s0) + mulw a5,a5,a5 + sext.w a5,a5 + mv a0,a5 + ld ra,24(sp) + ld s0,16(sp) + addi sp,sp,32 + jr ra +main: + addi sp,sp,-16 + sd ra,8(sp) + sd s0,0(sp) + addi s0,sp,16 + li a0,2 + call square + mv a5,a0 + mv a0,a5 + ld ra,8(sp) + ld s0,0(sp) + addi sp,sp,16 + jr ra |
