All pastes #226423 Raw Edit

Anonymous

public text v1 · immutable
#226423 ·published 2006-10-28 14:00 UTC
rendered paste body
.text
.globl main

main:
        ori $9,  $0, 0    # base register
        ori $10, $0, 0    # register dat char vasthoudt
        ori $11, $0, 0    # controle var
        ori $12, $0, 0    # controle var
        ori $13, $0, 0x20 # spatie
        ori $14, $0, 0x20 # 20 lager, wordt het hoofdletter

        lui $9, 0x1000

spatievreter:
        lbu $10, 0x00($9)        # eerste character
        sll $0, $0, 0
        beq $10, $0, finished    # nul character, dus klaar...
        sll $0, $0, 0

        sltiu $11, $10, 0x61     # als $10 kleiner is dan 61 is het true
        bne   $11, $0,  nextchar # naar volgende char kijken...
        sll   $0,  $0,  0

        sltiu $12, $10, 0x7B # als $10 kleiner 0x7B dan is het true
        bne   $11, $0,  nextchar # naar volgende char kijken
        sll   $0,  $0,  0

        # naar volgende char kijken, om te weten of het een spatie is...
        or    $5,  $0, $9
        addiu $5,  $5, 0x01 # wijst nu naar volgende byte.

        lbu   $15, 0x00($5)
        sll   $0, $0, 0

        beq   $15,  $13, touppercase
        sll   $0,  $0, 0
        # zo niet, dan naar volgende character...
        j nextchar
        sll   $0,  $0, 0

nextchar:
        addiu $9, $9, 0x01 # verhoog pointer
        j spatievreter
        sll $0, $0, 0

touppercase:
        sub  $10, $10, $14 # - 20, zodat het hoofdletter wordt
        sb   $10, 0x00($9)
        j nextchar
        sll $0, $0, 0

finished:
        sll $0, $0, 0

        .data
string: .asciiz "o t"