在mips中存储一个非常大的字符串.asciiz

时间:2014-10-11 23:40:56

标签: assembly mips spim mars-simulator

我想在这种格式的.data部分中存储这样的字符串:

  str: .asciiz
  "*************************************/n
   *                                   */n
   *                                   */n
   *                                   */n
   *                                   */n
   *                                   */n
   ************************************* " 

这可能吗?或者我必须将它存储在一行中,如:

  str: .asciiz "*************************************/n*                                   */n*                                   */n.....etc

2 个答案:

答案 0 :(得分:1)

您可以将字符串的每个部分存储为 .ascii,但最后一个部分可以存储为 .asciiz。当您使用“str”地址打印出来时,它应该继续打印,直到它遇到一个空值,这将在最后一行的末尾。例如:

str:
    .ascii  "This is a really long "
    .ascii  "sentence that I might want "
    .ascii  "to split up into "
    .asciiz "multiple lines."

仅使用一个系统调用(当然使用 $a0 中的 str 的地址)打印它会给您“这是一个非常长的句子,我可能想分成多行”

答案 1 :(得分:0)

您需要第二种方法。不同的模拟器可能不支持多行字符串。