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 += -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 | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								link.ld
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								link.ld
									
										
									
									
									
								
							|  | @ -5,7 +5,7 @@ MEMORY { | ||||||
| 
 | 
 | ||||||
| SECTIONS { | SECTIONS { | ||||||
|     .text : { |     .text : { | ||||||
|         main.o(.text.*) |         *(.text) | ||||||
|         *(.text) |         *(.text) | ||||||
|         . = ALIGN(4); |         . = ALIGN(4); | ||||||
|     } > DRAM |     } > 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