簡體   English   中英

如何從MIPS中的ASCII碼獲取十進制數?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM