Add multi file input
This commit is contained in:
+13
-2
@@ -24,6 +24,8 @@ fetch_argc:
|
||||
# @param[out] a1: address of argv[a0].
|
||||
# @param[out] a2: sizeof(argv[a0]).
|
||||
fetch_argv:
|
||||
addi sp, sp, -8
|
||||
sd s0, 0(sp)
|
||||
mv s0, a0
|
||||
|
||||
addi sp, sp, -16
|
||||
@@ -38,6 +40,8 @@ fetch_argv:
|
||||
bltz a1, 2f # fail if a0 less than zero
|
||||
ld t0, sp_start
|
||||
addi t0, t0, 8
|
||||
addi sp, sp, -8
|
||||
sd s1, 0(sp)
|
||||
li s1, 0
|
||||
|
||||
ld a0, 0(t0)
|
||||
@@ -55,12 +59,15 @@ fetch_argv:
|
||||
mv a0, a1
|
||||
addi s1, s1, 1
|
||||
bne s1, s0, 1b # if we haven't retrieved the requested argument, go again
|
||||
|
||||
|
||||
j 3f
|
||||
|
||||
2:
|
||||
li a0, 1 # fail
|
||||
j 4f
|
||||
ld s0, 0(sp)
|
||||
addi sp, sp, 8
|
||||
ret
|
||||
|
||||
3:
|
||||
mv s0, a1
|
||||
addi sp, sp, -16
|
||||
@@ -79,6 +86,10 @@ fetch_argv:
|
||||
mv a1, s0
|
||||
|
||||
4:
|
||||
ld s1, 0(sp)
|
||||
addi sp, sp, 8
|
||||
ld s0, 0(sp)
|
||||
addi sp, sp, 8
|
||||
ret
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user