[英]How to get the decimal number from ASCII code in MIPS?
我想讀一個字符,我基本使用這個代碼:
main:
li $v0, 12
syscall
li $v0, 10
syscall
所以,ASCII 碼作為十六進制數保存在 $v0 中,但是有什么方法可以得到這個對應的十進制 ASCII 碼?
Hex 是二進制整數的文本序列化格式。 $v0
的值是一個 32 位二進制數,而不是十六進制或十進制。
例如32
(十進制)和0x20
(十六進制)是描述相同位模式( 0b0000...00100000
)值的兩種方式。 所有這些都是表達空格的 ASCII 代碼的不同方式,就像你從li $v0, ' '
。
如果您在 MARS 模擬器上運行 MIPS 代碼,您可以使用調試器將其查看為十六進制或十進制,或者使用不同的 MARS 打印編號系統調用。 (SPIM只有一個print integer
的系統調用,但火星有那些在十六進制打印,打印在十進制和二進制打印。 http://courses.missouristate.edu/kenvollmar/mars/help/syscallhelp.html )
move $a0, $v0 # $a0 = integer to print
li $v0, 1 # $v0 = system-call number
syscall # print_integer($a0) in decimal
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.