Compare commits
No commits in common. "b65b33da2553751a7c31873a198666e12bd7806f" and "005ad4e9871310ba125623b2a7112695c0497bc4" have entirely different histories.
b65b33da25
...
005ad4e987
5 changed files with 3 additions and 20 deletions
2
link.ld
2
link.ld
|
@ -5,7 +5,7 @@ MEMORY {
|
||||||
|
|
||||||
SECTIONS {
|
SECTIONS {
|
||||||
.text : {
|
.text : {
|
||||||
*(.text)
|
main.o(.text.*)
|
||||||
*(.text)
|
*(.text)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
} > DRAM
|
} > DRAM
|
||||||
|
|
2
main.s
2
main.s
|
@ -25,7 +25,7 @@ test_routine:
|
||||||
ret
|
ret
|
||||||
|
|
||||||
# Prints "hello" manually
|
# Prints "hello" manually
|
||||||
hello_manual:
|
hello_manual:
|
||||||
addi a0, x0, 0x68
|
addi a0, x0, 0x68
|
||||||
li a1, 0x10000000
|
li a1, 0x10000000
|
||||||
sb a0, (a1) # 'h'
|
sb a0, (a1) # 'h'
|
||||||
|
|
|
@ -24,7 +24,6 @@ CFLAGS += -fno-common# # Do not use common sections
|
||||||
CFLAGS += -march=rv64i# # Use RV64I ISA, i.e., integer only
|
CFLAGS += -march=rv64i# # Use RV64I ISA, i.e., integer only
|
||||||
CFLAGS += -mabi=lp64# # Use LP64 ABI, i.e., 64-bit longs and pointers, 32-bit ints
|
CFLAGS += -mabi=lp64# # Use LP64 ABI, i.e., 64-bit longs and pointers, 32-bit ints
|
||||||
CFLAGS += -Os# # Optimize for size
|
CFLAGS += -Os# # Optimize for size
|
||||||
CFLAGS += -Wall -Wunused -O2
|
|
||||||
|
|
||||||
LDFLAGS += -T link.ld # Use the linker script
|
LDFLAGS += -T link.ld # Use the linker script
|
||||||
LDFLAGS += --no-dynamic-linker
|
LDFLAGS += --no-dynamic-linker
|
||||||
|
@ -62,7 +61,7 @@ all: $(OBJS)
|
||||||
@echo "CC $<"
|
@echo "CC $<"
|
||||||
|
|
||||||
# Run the binary in QEMU
|
# Run the binary in QEMU
|
||||||
run: all
|
run: all
|
||||||
@echo "To exit: Ctrl+A, X"
|
@echo "To exit: Ctrl+A, X"
|
||||||
@$(QEMU) $(QEMU_FLAGS) -bios $(TARGET)
|
@$(QEMU) $(QEMU_FLAGS) -bios $(TARGET)
|
||||||
|
|
1
square.h
1
square.h
|
@ -1 +0,0 @@
|
||||||
int square(int, int);
|
|
15
square.s
15
square.s
|
@ -1,15 +0,0 @@
|
||||||
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
|
|
Loading…
Add table
Reference in a new issue