Square
This commit is contained in:
		
							parent
							
								
									1a31859a31
								
							
						
					
					
						commit
						b65b33da25
					
				
					 5 changed files with 20 additions and 3 deletions
				
			
		
							
								
								
									
										1
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										1
									
								
								Makefile
									
										
									
									
									
								
							|  | @ -24,6 +24,7 @@ CFLAGS += -fno-common#			# Do not use common sections | |||
| 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 += -Os#					# Optimize for size | ||||
| CFLAGS += -Wall -Wunused -O2 | ||||
| 
 | ||||
| LDFLAGS += -T link.ld			# Use the linker script | ||||
| LDFLAGS += --no-dynamic-linker | ||||
|  |  | |||
							
								
								
									
										2
									
								
								link.ld
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								link.ld
									
										
									
									
									
								
							|  | @ -5,7 +5,7 @@ MEMORY { | |||
| 
 | ||||
| SECTIONS { | ||||
|     .text : { | ||||
|         main.o(.text.*) | ||||
|         *(.text) | ||||
|         *(.text) | ||||
|         . = ALIGN(4); | ||||
|     } > DRAM | ||||
|  |  | |||
							
								
								
									
										1
									
								
								square.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								square.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | |||
| int square(int, int); | ||||
							
								
								
									
										15
									
								
								square.s
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								square.s
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | |||
| 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
		Add a link
		
	
		Reference in a new issue
	
	 Imbus
						Imbus