Ensamblador - problema con un ciclo

 
Vista:
sin imagen de perfil

problema con un ciclo

Publicado por roberto (1 intervención) el 22/02/2016 02:18:10
Me dejaron una tarea en la universidad, trata de llenar toda la terminal con un hola mundo y repetir si el usuario lo pide sin embargo me marca 4 errores 2 invalid instruction operands y 2 directive must appear inside a macro y no se por que ya probé muchas cosas y ninguna funciona les dejo el código

.model small
.stack
.data
saludo db "Hola mundo!!! Brenda lalala ouo/", "$"
var1 db 0
var2 db 100
preg db "quiere continuar? presione 1 si no presione cualquier otra tecla/", "$"

.code

main proc ;Inicia proceso

comienza: ;etiqueta para iniciar el ciclo
Mov ax, var1 ;pasamos las variables a los registros
Cmp ax, var2 ;comparamos
jne muestra ; es el salto
goto pregunta ;si no se cumple la comparacion salta
muestra:
mov ax, seg saludo ;hmm ¿seg?
mov ds, ax ;ds = ax = saludo

mov ah, 09 ;Function(print string)
lea dx, saludo ;DX = String terminated by "$"
int 21h ;Interruptions DOS Functions

inc var1

goto comienza

;mensaje en pantalla
pregunta: ;si no se cumple la condicion del ciclo saltamos aqui


mov ax, seg preg
mov ds, ax

mov ah, 09
lea dx, saludo
int 21h

mov ah, 08 ;se ocupa para leer los datos de la consola
int 21h

cmp al, 49 ; 49 en codigo ascii es el numero 1 lo esta comparando
mov var1, 0
je comienza ;si es igual a 1 se regresa a la etique In





mov ax,4c00h ;Function (Quit with exit code (EXIT))
int 21h ;Interruption DOS Functions

main endp ;Termina proceso
end main
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder