Está en la página 1de 1

.

data 0x10010000
long: .word 7 # tama�o del buffer
buffer: .space 7 #buffer donde se almacenan los
#caracteres pulsados
.data 0xffff0000
cin: .space 1
#Puerto de control del teclado
.data 0xffff0004
cin: .space 1
# Puerto de lectura del teclado
.text
.globl main
main:
la $a0, buffer
#carga dir buffer
lw $v0,long($0)
#control longitud del buffer
addi $v0,$v0,-1

li $v1,0x0a
# return o cambio l�nea (\n)
la $a1, in
#carga dir in
la $a2, cin
#carga dir control teclado
ctr: # por ahora no ponemos nada
lb $t0, 0($a2)
andi $t0,$t0,1
beq $t0,$0, ctr
# lee del puerto del teclado
sb $s0,0($a0)
# almacena el dato en el buffer
addi $a0,$a0,1
#incremento puntero del buffer
addi $v0,$v0,-1 # decr. tama�o restante buffer
bne $v0,$0, ctr # control de fin de cadena
fin:
li $s0, 0x00
sb $s0,0($a0)
#almacena fin cadena en buffer
jr $ra
#vuelve a main

También podría gustarte