56 lines
1.3 KiB
ArmAsm
56 lines
1.3 KiB
ArmAsm
.text
|
|
_start:
|
|
li x2, 0xdead0 # 912080
|
|
li x3, 0x1234 # 4660
|
|
li x4, 1 # 1
|
|
li x5, 123456 # 123456
|
|
li x6, 0xdead0 # duplicate of x2
|
|
li x7, 765432 # 765432
|
|
li x8, 123456 # 123456
|
|
li x9, 234567 # 234567
|
|
li x10, 0x7fffffffffffffff # max positive 64b
|
|
li x11, 0x8000000000000000 # min negative 64b (treated as unsigned = 0x8000...)
|
|
|
|
# 1. DIVU : a / 1
|
|
divu x31, x2, x4
|
|
# expected: 00000000000dead0
|
|
|
|
# 2. DIVU : a / a
|
|
divu x31, x2, x6
|
|
# expected: 0000000000000001
|
|
|
|
# 3. DIVU : smaller / larger
|
|
divu x31, x5, x8
|
|
# expected: 0000000000000001
|
|
|
|
# 4. DIVU : larger / smaller
|
|
divu x31, x7, x8
|
|
# expected: 0000000000000006
|
|
|
|
# 5. DIVU : any / any
|
|
divu x31, x8, x7
|
|
# expected: 0000000000000000
|
|
|
|
# 6. DIVU : larger / larger
|
|
divu x31, x7, x9
|
|
# expected: 0000000000000003
|
|
|
|
# 7. DIVU : max / 2
|
|
li x12, 2
|
|
divu x31, x10, x12
|
|
# expected: 3fffffffffffffff
|
|
|
|
# 8. DIVU : min / 1
|
|
divu x31, x11, x4
|
|
# expected: 8000000000000000
|
|
|
|
# 9. DIVU : 0 / any
|
|
divu x31, x3, x2
|
|
# expected: 0000000000000000
|
|
|
|
# 10. DIVU : any / 0
|
|
divu x31, x2, x0
|
|
# expected: ffffffffffffffff
|
|
divu x31, x7, x0
|
|
# expected: ffffffffffffffff
|