Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 如何在打印字符串时删除换行符_Assembly_Mips_Mars Simulator - Fatal编程技术网

Assembly 如何在打印字符串时删除换行符

Assembly 如何在打印字符串时删除换行符,assembly,mips,mars-simulator,Assembly,Mips,Mars Simulator,MARS&QTSPIM syscall#8读取字符串,但其中包括用户用于结束字符串输入的新行。此系统调用还附加NUL字符“\0”,以使输入的字符串成为以C样式null结尾的字符串 如果您不希望在用户输入字符串时捕获换行符,您必须自己删除它。最简单的方法是用NUL覆盖输入字符串中的“\n”字符,删除新行并将字符串缩短1 由于syscall#8不返回长度(可以从该长度返回1以查找新行字符),因此必须通过逐字节搜索来查找新行。当您发现新行时,将其覆盖为0以终止字符串。MARS&QTSPIM sysca

MARS&QTSPIM syscall#8读取字符串,但其中包括用户用于结束字符串输入的新行。此系统调用还附加NUL字符“\0”,以使输入的字符串成为以C样式null结尾的字符串

如果您不希望在用户输入字符串时捕获换行符,您必须自己删除它。最简单的方法是用NUL覆盖输入字符串中的“\n”字符,删除新行并将字符串缩短1

由于syscall#8不返回长度(可以从该长度返回1以查找新行字符),因此必须通过逐字节搜索来查找新行。当您发现新行时,将其覆盖为0以终止字符串。

MARS&QTSPIM syscall#8读取字符串,但这包括用户用于结束字符串输入的新行。此系统调用还附加NUL字符“\0”,以使输入的字符串成为以C样式null结尾的字符串

如果您不希望在用户输入字符串时捕获换行符,您必须自己删除它。最简单的方法是用NUL覆盖输入字符串中的“\n”字符,删除新行并将字符串缩短1


由于系统调用#8不返回长度(从该长度可以返回1以查找新行字符),因此必须通过逐字节搜索来查找新行。当您发现它时,将其覆盖为0以终止该字符串。

我希望像以下字符串数组一样打印={string int char}但是每个字符串都是在换行符中打印的我想像这样打印字符串数组={string int char}但是每个字符串都是在换行符中打印的
.data
.align 2
array:  .space  80
size:   .word   20
string: .space  20000
arrayLength:    .asciiz "Enter the array length : "
input:  .asciiz "Enter string : "
result: .asciiz "\nString Array = { "
cls:    .asciiz "}"
space:  .asciiz " "

.text 
main:
    li  $v0,4
    la  $a0,arrayLength
    syscall
    
    li  $v0, 5
    syscall
    addi    $s0,$v0,0
    
    add $t0,$zero,$zero
    addi    $t1,$zero,1
    la  $s2,string

read_String:
    bgt $t1,$s0,L1
    
    li  $v0,4
    la  $a0,input
    syscall
    
    move    $a0,$s2
    li  $a1,20
    li  $v0,8
    syscall
    
    sw  $a0,array($t0)
    
    addi    $t0,$t0,4
    addi    $t1,$t1,1
    addi    $s2,$s2,20
    
    j   read_String

L1:
    add     $t0,$zero,$zero     
        addi    $t1,$zero,1         

        la      $a0,result
        li      $v0,4
        syscall
        
while:
        bgt     $t1,$s0,done        
        lw      $t2,array($t0)      

        li      $v0,4
        move    $a0,$t2
        syscall

        addi    $t0,$t0,4         
        addi    $t1,$t1,1          
        j       while

done:
    li  $v0,4
    la  $a0,cls
    syscall

        li      $v0,10
        syscall