• Miércoles 20 de Noviembre de 2024, 16:18

Autor Tema:  Simular palabras reservadas(Al escribir ciertas palabras, cambien de color)"MOV"  (Leído 2071 veces)

MantixD

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Hola a todos mi intension no es que me hagan la tarea ni mucho menos solo quiero que me aconsejen pues tengo el codigo no se si a medias y no puedo terminarlo, lo que hago en el programa es que escribo una cadena en blanco con dup y despues creo otra cadena donde escribo la palabra que quiero que cambie de color, despues con el 01h escribo el caracter, despues uso el cmpsb para comparar la cadena escrita con la cadena que quiero que cambie de color y con REPE hago que la repita si son iguales y pues inicializo 2 variables iguales: y diferentes: que lanza si son iguales, lanza la 19h para imprimir cadena con color y pues ya la reemplaza con un color determinado. mi problema es que solo cambia de color 1 palabra y ya si escribo otra vez la misma palabra no me la cambia de color, y pues ahi estoy algo atorado si me pudieran aconsejar en que estoy mal o que me hace falta o simplemente que interrupciones usar seria de gran ayuda... les dejo el codigo completo para que lo chequen haber si me doy a entender mejor.

Programo en emu8086

Código: [Seleccionar]

.model tiny
.data
cadena db 10 dup (' '),'$'
carb   db "mov$"
.code
Inicializa: mov ax,@data
             mov ds,ax   
             mov es,ax   

mensaje macro
       mov ah,09h ;mostramos la cadena
       int 21h
endm

.startup

mov cx,3
lea di,cadena
repite:
mov ah,01h
int 21h ;lee un caracter
stosb ;pasa lo que ahy en al a la cadena
loop repite

       
lea si,cadena
lea di,carb
mov cx,3

REPE cmpsb

jz iguales
;jmp diferentes

iguales:
         mov ah,19
         mov cx, 3
         mov bl, 1
         mov al, 1
         lea bp, cadena
         int 10h 
         

;diferentes: mov ax,4c00h
 ;           int 21h
.exit
end
« última modificación: Viernes 8 de Noviembre de 2013, 01:24 por MantixD »