diff --git a/asm/fib.s b/asm/fib.s new file mode 100644 index 0000000..c447f9f --- /dev/null +++ b/asm/fib.s @@ -0,0 +1,17 @@ +lui $1, 1 # for sub 1 +lui $2, 1 # a +lui $3, 1 # b +lui $4, 1 # c +lui $5, 33 # i +lui $6, 2 +sub $5,$5,$6 +loop: +add $3,$0,$2 # b=a +add $2,$0,$4 # a=c +add $4,$2,$3 # c=a+b +sto $4, 5000 +sub $5,$5,$1 # $i-- +jpz end +jmp loop +end: +hlt diff --git a/asm/mult.s b/asm/mult.s index 27aa84b..ca7b7ad 100644 --- a/asm/mult.s +++ b/asm/mult.s @@ -9,4 +9,5 @@ sub $5, $5, $4 jpz end jmp loop end: +sto $3, 5000 hlt diff --git a/scripts/asm.pl b/scripts/asm.pl index e1a4193..2f9b3b4 100755 --- a/scripts/asm.pl +++ b/scripts/asm.pl @@ -387,7 +387,10 @@ for my $i (@instructions) { for my $i (@instructions) { if ($ARGV[1] eq "-vhdl") { printf("%4s \t => B\"%.32b\", --%s\n ",$i->{addr}, $i->{opc}, $i->{comment}); - } else { + } + elsif($ARGV[1] eq "-raw") { + printf("%.32b\n",$i->{opc}); + }else { printf( "%4s %.32b #%s\n", $i->{addr}, $i->{opc}, $i->{comment} ); } } diff --git a/src/top_ml505.vhd b/src/top_ml505.vhd index 2627507..6241bf6 100644 --- a/src/top_ml505.vhd +++ b/src/top_ml505.vhd @@ -39,7 +39,7 @@ architecture arch of top is signal scReset : std_logic; begin - scReset <= not icReset; + scReset <= not icReset_n; soc0:entity work.SOC generic map(