如何将字符串输入到文本段而不是汇编中的数据段(MIPS)

时间:2017-11-25 13:22:51

标签: assembly memory mips segment

我有一个作业,要求我将给定字符串的每个小写字母更改为大写字母。

我的问题是教授要求我们将字符串输入到文本段而不是数据段。

我尝试使用lwsw,但它不起作用。 还有其他方法吗? (当字符串在数据段中时,我的程序工作)

这是我到目前为止所做的:

        .data    
str:    .space 100

textlow:    .asciiz "This is a sample text!"

        .text

main:
        li $t0, 0

loop:

lb $t1, textlow($t0)    
        beq $t1, 0, exit       
        blt $t1, 'a', diff  
        bgt $t1, 'z', diff

sub $t1, $t1, 32  
        sb $t1, textlow($t0)  


diff: 
        addi $t0, $t0, 1

j loop

exit:
        li $v0, 10      
        syscall

1 个答案:

答案 0 :(得分:0)

使用smc选项。

https://courses.missouristate.edu/KenVollmar/MARS/Help/MarsHelpCommand.html

示例:

java Mars4_5.jar smc mips1.asm