Rust character drawing
This commit is contained in:
@@ -1,15 +1,47 @@
|
||||
# expected: 000001BC, 000002BC
|
||||
# expected: 0000000000000001, 0000000000000004, 0000000000000008, 000000000000000D, 0000000000000014
|
||||
.text
|
||||
_start:
|
||||
add x1, x0, 28
|
||||
add x2, x0, 28
|
||||
bltu x1, x2, finish # Should not jump
|
||||
add x31, x0, 0x1BC
|
||||
# Test 1: Equal values (should NOT branch)
|
||||
li x1, 5
|
||||
li x2, 5
|
||||
bltu x1, x2, label1
|
||||
addi x31, x0, 1 # expected path (not taken)
|
||||
label1:
|
||||
|
||||
# Test 2: x1 < x2 unsigned (should branch)
|
||||
li x1, 5
|
||||
li x2, 10
|
||||
bltu x1, x2, label2
|
||||
addi x31, x31, 2 # skipped if branch taken
|
||||
j label2_end
|
||||
label2:
|
||||
addi x31, x31, 3 # expected path (branch taken)
|
||||
label2_end:
|
||||
|
||||
add x1, x0, 12
|
||||
add x2, x0, 24
|
||||
bltu x1, x2, finish # Should jump to finish
|
||||
add x31, x0, 0x3BC
|
||||
# Test 3: x1 > x2 unsigned (should NOT branch)
|
||||
li x1, 10
|
||||
li x2, 5
|
||||
bltu x1, x2, label3
|
||||
addi x31, x31, 4 # expected path (not taken)
|
||||
label3:
|
||||
|
||||
# Test 4: x1 = 0xFFFFFFFFFFFFFFFF, x2 = 0 (max unsigned vs min unsigned)
|
||||
li x1, -1 # 0xFFFFFFFFFFFFFFFF
|
||||
li x2, 0
|
||||
bltu x1, x2, label4
|
||||
addi x31, x31, 5 # expected path (not taken)
|
||||
label4:
|
||||
|
||||
# Test 5: x1 = 0, x2 = 0xFFFFFFFFFFFFFFFF (min unsigned vs max unsigned)
|
||||
li x1, 0
|
||||
li x2, -1
|
||||
bltu x1, x2, label5
|
||||
addi x31, x31, 6 # skipped if branch taken
|
||||
j label5_end
|
||||
label5:
|
||||
addi x31, x31, 7 # expected path (branch taken)
|
||||
label5_end:
|
||||
|
||||
# Done
|
||||
nop
|
||||
|
||||
finish:
|
||||
add x31, x0, 0x2BC
|
||||
|
||||
Reference in New Issue
Block a user