passes quick test: beq, blt, bltu
This commit is contained in:
69
test/test.S
69
test/test.S
@ -137,26 +137,49 @@ _start:
|
||||
# jal
|
||||
jal x1, test_jalr
|
||||
|
||||
# test1:
|
||||
# # TODO: redo these tests because my nop test messed it up
|
||||
# # beq
|
||||
# addi x30, x0, 1 # x30 = 1
|
||||
# addi x9, x8, 0 # x9 == x8
|
||||
# bne x0, x0, fail # 0 == 0
|
||||
# bne x9, x8, fail # x9 == x8
|
||||
# bne x7, x8, test2 # x7 != x8
|
||||
# j fail
|
||||
test1:
|
||||
# beq
|
||||
addi x30, x0, 1 # x30 = 1
|
||||
addi x9, x8, 0 # x9 = 0xffffff00
|
||||
bne x0, x0, fail # 0 == 0
|
||||
bne x9, x8, fail # x9 == x8
|
||||
bne x7, x8, test2 # x7 != x8
|
||||
j fail
|
||||
|
||||
# test2:
|
||||
# # beq
|
||||
# addi x30, x0, 2 # x30 = 2
|
||||
# beq x0, x8, fail # 0 != x8
|
||||
# beq x7, x8, fail # x7 != x8
|
||||
# beq x8, x9, test3 # x8 == x9
|
||||
# j fail
|
||||
test2:
|
||||
# beq
|
||||
addi x30, x0, 2 # x30 = 2
|
||||
beq x0, x8, fail # 0 != x8
|
||||
beq x7, x8, fail # x7 != x8
|
||||
beq x8, x9, test3 # x8 == x9
|
||||
j fail
|
||||
|
||||
# test3:
|
||||
test3:
|
||||
#blt
|
||||
addi x30, x0, 3 # x30 = 3
|
||||
blt x8, x9, fail # x8 == x9
|
||||
blt x7, x8, fail # x7 > x8
|
||||
blt x30, x8, fail # x30 > x8
|
||||
blt x8, x7, test4 # x8 < x7
|
||||
j fail
|
||||
|
||||
test4:
|
||||
#bltu
|
||||
addi x30, x0, 4 # x30 = 4
|
||||
bltu x8, x9, fail # x8 == x9
|
||||
bltu x8, x7, fail # x8 < x7
|
||||
bltu x30, x8, test5 # x30 < x8 unsigned
|
||||
|
||||
test5:
|
||||
addi x30, x0, 5 # x30 = 5
|
||||
|
||||
|
||||
# set registers to known values before loop
|
||||
addi x2, x0, 1 # x1 = 1
|
||||
addi x3, x0, 1 # x1 = 1
|
||||
addi x4, x0, 1 # x1 = 1
|
||||
addi x5, x0, 1 # x1 = 1
|
||||
addi x6, x0, 1 # x1 = 1
|
||||
|
||||
# counter and infinite loop
|
||||
addi x31, x0, 1 # x1 = 1
|
||||
@ -182,7 +205,17 @@ test_jalr:
|
||||
jalr x0, x1, 0 # return
|
||||
|
||||
fail:
|
||||
jal x0, fail # loop forever
|
||||
# set some registers to make it blatantly obvious an error occurred
|
||||
addi x1, x0, 0x7ff # x1 = 0x1111
|
||||
addi x2, x0, 0x7ff # x1 = 0x1111
|
||||
addi x3, x0, 0x7ff # x1 = 0x1111
|
||||
addi x4, x0, 0x7ff # x1 = 0x1111
|
||||
addi x5, x0, 0x7ff # x1 = 0x1111
|
||||
addi x6, x0, 0x7ff # x1 = 0x1111
|
||||
addi x7, x0, 0x7ff # x1 = 0x1111
|
||||
addi x8, x0, 0x7ff # x1 = 0x1111
|
||||
addi x9, x0, 0x7ff # x1 = 0x1111
|
||||
j fail # loop forever
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
|
Reference in New Issue
Block a user