Hola, buenas.
Quería ver si alguien me podría ayudar con un pequeño programita en ensamblador asm 6809.
El programa consiste en pedir una semilla inicial para generar tantos numeros aleatorios como indique la semilla y se van imprimiendo dichos números en pantalla. Despues de esto se tienen que mostrar de nuevo esa lista de numeros pero que dichos numeros aparezcan de manera ordenada.
Tengo ya las subrutinas en ficheros a parte hechas (leer_decimal, rand, srand, imprimir_decimal_ imprimir_cadena) y todas ellas por separado funcionan correctamente.
A la hora de hacer el main para llevar a cabo lo descrito antes con tan solo el codigo que dejo aqui abajo me da un error: "invalid opcode"
.module main
;definimos constantes
teclado .equ 0xFF02
fin .equ 0xFF01
pantalla .equ 0XFF00
;.org 0x100
.globl programa
.globl rand
.globl srand
.globl leer_decimal
.globl imprime_cadena
cont: .word 0
introduc_sem: .ascii "Introduce semilla:"
.byte 0
programa:
ldx #0xE000
lda introduc_sem
jsr leer_decimal
std cont
jsr srand
std ,--x
bucle: jsr rand
std ,--x
ldd cont
addd #0xFFFF
cmpd #0
bne bucle
acabar:
clra
sta fin
.area FIJA (ABS)
.org 0xFFFE ; vector de RESET
.word programa
Se me ha olvidado mencionar que lo que se supone que estoy intentando hacer en este fragmento de codigo es pedir la semilla, generar los numeros aleatorios y guardarlos en el registro X para no perder los numeros generados
· No se debe hacer doble post
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex
Invalid OpCode, ¿dónde?
Cita de: ivancea96 en 17 Mayo 2018, 13:53 PM
Invalid OpCode, ¿dónde?
Muchas gracias por preguntar pero ya lo he conseguido corregir. De todas maneras te respondo, me daba invalid opcode al final del programa, no recuerdo ya exactamente el lugar