Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- main:
- la $t2, Hex
- la $a0, ans
- li $v0, 4
- syscall
- li $t0, 8 # counter
- la $t3, result
- Loop:
- beqz $t0, Exit # branch to exit if counter is equal to zero
- rol $t2, $t2, 4 # rotate 4 bits to the left
- and $t4, $t2, 0xf # mask with 1111
- ble $t4, 9, Sum # if less than or equal to nine, branch to sum
- addi $t4, $t4, 0x37 # if greater than nine, add 55
- b End
- Sum:
- addi $t4, $t4, 0x30 # add 48 to result
- End:
- sb $t4, 0($t3) # store hex digit into result
- addi $t3, $t3, 1 # increment address counter
- sub $t0, $t0, 1 # decrement loop counter
- j Loop
- Exit:
- la $a0, result
- li $v0, 4
- syscall
- la $v0, 10
- syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement