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"
Código
.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
-Engel Lex