在MIPS char数组(char array in MIPS)

2019-06-23 09:48发布

我将如何创建一个字符数组和访问MIPS那些字符? Im做一个项目,它的一部分是要做到这一点。 我明白如何与整数和不能在线上如何处理与刚刚字符找到任何引用,特别是即时通讯试图口...

static char   hexdigits[16] = "0123456789ABCDEF";

继承人我失败的尝试:

hexarray: .word '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' #declare memory space for our hex array

编辑:如果有人可以提供一个例子,如何打印出这些项目将是非常有益的一个(你可以修改任何你希望的代码,我有)。 我我只是得到一个内存地址错误。

Answer 1:

static char   hexdigits[16] = "0123456789ABCDEF";

可以翻译成:

.data
hexdigits: .byte '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'

要么

.data
hexdigits: .ascii "0123456789ABCDEF"

我们可以通过访问元素

la    $t0, hexdigits
lb    $t1, 0($t0)        # $t1 = hexdigits[0]
lb    $t2, 1($t0)        # $t2 = hexdigits[1]

您可以使用系统调用打印件(如果你的模拟器支持它。大多数做)

la    $t0, hexdigits          # address of the first element
lb    $a0, 10($t0)            # hexdigits[10] (which is 'A')
li    $v0, 11                 # I will assume syscall 11 is printchar (most simulators support it)
syscall                       # issue a system call


文章来源: char array in MIPS
标签: mips