Ayuda con un programilla de ensamblador

BaronRoj0

Hola a todos :),

Primero decir que no se si esto iría aquí exactamente, si no es así por favor que algun moderador mueva el post al foro donde corresponda. Muchas gracias y perdón por las molestias ;)

El caso es que, para un trabajo de clase, nos han pedido hacer un codigo en lenguaje ensamblador usando arquitectura MipsR2000. El problema consiste en meter una cadena que represente números y que la muestre como números por pantalla (usando un terrible simulador llamado PCSPIM).

He hecho el codigo, pero no consigo que funcione, y tengo que tenerlo hecho antes del jueves.
Lo he mirado 1000 veces, cambiado cosas y no tengo ni idea de porque no funciona.

Este es el codigo que he escrito (estara plagado de faltas y errores seguro :D)

Y esto es lo que me devuelve el programilla:

spoiler

El error sale en las ultimas lineas.

No se si me he explicado bien, pero fijo que es una chorrada pero yo es que soy muy burro para estas cosas.

Si algún crack del ensamblador pudiese echarle un ojo rapido, a ver si descubre que error estoy cometiendo, le estaría muy agradecido (el profesor de la asignatura es bastante cabroncete, se niega a ayudar:)) :qq:

:) Muchas gracias :)

B

A como págas la hora?. En poco se resuelve pero no suelo cobrar fracciones de hora.

NeB1

#1 hace tres años que no uso MipsR2000, pero así a ojo, y creo que voy a acertar, estás guardando en una dirección que no es múltiplo de 4 bits o algo por el estilo. prueba a cambiar las reservas de memoria con números típicos de la informática o algo, como mínimo que sean pares, creo eh?

Unaligned address in store: 0x1000000d

0d->13, mal rollo

BaronRoj0

Muchas gracias #3, si que era eso xD. Le he metido un .data 0x10000080 antes de 'resultado', y ya funciona, bueno no va bien, pero al menos saca un resultado sin errores raros, ya puedo seguir currandolo :D
Mil gracias de nuevo, sabia que era una parida lo que fallaba xDD

Eso de d => 13 tampoco lo entiendo, pero bueno si ya no sale el error no pasara nada jaja

NeB1

de nada hombre!

CaLaTa

Pues que el F es la posicion 15 en hexadecimal, E la 14, D la 13 ... y 13 no es multiplo de los 4 bits que quieres.
0,4,8,C,F ... los que valdrian

Usuarios habituales