Ejecución del programa:
Código:
include 'emu8086.inc'
Mostrar Macro Mensaje
LEA DX,Mensaje ;mandamos el mensaje a leer
MOV AH,9 ;usamos el servicio para mostrar en pantalla
INT 21H
endM
Terminar Macro
MOV AX,4C00H
INT 21H
endM
DATOS SEGMENT
ENCABEZADO DB 13,10,13,09h,09h,"==============================="
DB 13,10,13,09h,09h,"PROGRAMA QUE IMPRIME VALORES NUMERICOS DEC Y HEXA "
DB 13,10,13,09h,09h,"================================",13,10,"$"
ALINEAR DB 13,10,13,09h,09h
VALOR_1 DW 41D,"$"
VALOR_2 DW 42D,"$"
VALOR_3 DW 43D,"$"
VALOR_4 DW 44D,"$"
VALOR_5 DW 45D,"$"
VALOR_6 DW 46,"$"
VALOR_7 DW 47,"$"
VALOR_8 DW 48,"$"
VALOR_9 DW 49,"$"
VALOR_10 DW 50,"$"
DATOS ENDS
valores Macro
Mostrar ALINEAR
Mostrar VALOR_1
Mostrar VALOR_2
Mostrar VALOR_3
Mostrar VALOR_4
Mostrar VALOR_5
Mostrar VALOR_6
Mostrar VALOR_7
Mostrar VALOR_8
Mostrar VALOR_9
Mostrar VALOR_10
endM
Titulo Macro
Mostrar ENCABEZADO
endm
CODIGO SEGMENT
ASSUME CS: CODIGO,DS:DATOS,SS:PILA
Main PROC
MOV AX,DATOS
MOV DS,AX
Titulo
valores
Main ENDP
Terminar
CODIGO ENDS
END Main
martes, 7 de mayo de 2019
lunes, 6 de mayo de 2019
Unidad No.3: Mejora programa # 9: Letras de colores(Version Ambrocio)
Ejecución:
Código:
CR EQU 13 ;Declaro retorno de carro
LF EQU 10 ;Declaro salto de linea
BIOS EQU 10H ;Declaro interrupcion 10h
DOS EQU 21H ;Declaro interrupcion 21h
TEXTO EQU 3 ;Declaro el servicio 03 para la impresion de texto desde BIOS
FIN EQU 4C00H ;Declaro interrupcion de exit
VARIABLES SEGMENT ;Declaro las variables
include "emu8086.inc"
TITULO DB "JUENITO_XD" ;Un texto
COLORES DB 01001110B ;Una agrupacion de colores
DB 11101111B ;0= cursos parpadeante 000=color de fondo 0000=color del texto
DB 10110001B
DB 01011100B
DB 00110001B
DB 01011111B
DB 01101011B
DB 01011100B
DB 01101111B
DB 01001110B
DB 00110001B
VARIABLES ENDS
VPILA SEGMENT;STACK ;Declaro la pila
DB 64 DUP("PILA")
VPILA ENDS
CODIGO SEGMENT
COLO PROC FAR ;Declaro un procedimiento
ASSUME CS:CODIGO, DS:VARIABLES, SS:VPILA
MOV AX,VARIABLES
MOV DS,AX
MOV AX,TEXTO ;Invoco el servicio de impresion de texto
INT BIOS ;Ejecuto el servicio con 10h
MOV CX,11 ;Declaro el iterador en 11
XOR SI,SI ;Borro SI
BUCLE: ;Llamo al bucle
PUSH CX
MOV DX,SI ;Indico la posicion de la letra a imprimir con SI
ADD DX,35 ;Indico la coordenada en x, la coordenada inicial es x=35
MOV DH,12 ;Indico la coordenada en y
CALL COLOCA ;Llamo al sistema para que coloque el cursor donde yo quiero
MOV AL,[SI+OFFSET TITULO] ;Le indico la letra a imprimir pasandole SI y el texto como parametros
MOV BL,[SI+OFFSET COLORES] ;Le indico los colores a imprimir pasandole SI y el conjunto de colores como parametros
CALL COLOR ;Llamo a la impresion del texto
POP CX
INC SI ;Incremento a SI para modificar la letra a imprimir y la coordenada en x
LOOPNZ BUCLE
MOV AH,8 ;08:Lee un caracter sin imprimir nada en pantalla
INT DOS ;Ejecuto el servicio
XOR DX,DX ;Limpio DX
CALL COLOCA ;Coloco el cursor en las coordenadas x=0 y=0
PUT_CURSOR 10,10
print "Hola mundo"
PUT_CURSOR 20,20
print "Estas son las coordenadas( x=20, y=20)"
TERMINA ;MACRO TERMINA
COLO ENDP
include "C:\Users\AlexG\Desktop\Tec(Sexto semestre)\Lenguajes De Interfaz\Unidad No.3\practicas\practica 9_2\libreria.inc"
CODIGO ENDS
END COLO
Unidad No.3: Mejora programa # 9: Letras de colores(Version Torres)
Ejecución:
Código:
CR EQU 13 ;Declaro retorno de carro
LF EQU 10 ;Declaro salto de linea
BIOS EQU 10H ;Declaro interrupcion 10h
DOS EQU 21H ;Declaro interrupcion 21h
TEXTO EQU 3 ;Declaro el servicio 03 para la impresion de texto desde BIOS
FIN EQU 4C00H ;Declaro interrupcion de exit
VARIABLES SEGMENT ;Declaro las variables
include "emu8086.inc"
TITULO DB "Colores_UwU" ;Un texto
COLORES DB 01001110B ;Una agrupacion de colores
DB 01101111B
DB 01110011B
DB 01011100B
DB 00110001B
DB 01011111B
DB 01101011B
DB 01011100B
DB 01101111B
DB 01001110B
DB 01101111B
VARIABLES ENDS
VPILA SEGMENT;STACK ;Declaro la pila
DB 64 DUP("PILA")
VPILA ENDS
CODIGO SEGMENT
COLO PROC FAR ;Declaro un procedimiento
ASSUME CS:CODIGO, DS:VARIABLES, SS:VPILA
MOV AX,VARIABLES
MOV DS,AX
MOV AX,TEXTO ;Invoco el servicio de impresion de texto
INT BIOS ;Ejecuto el servicio con 10h
MOV CX,11 ;Declaro el iterador en 11
XOR SI,SI ;Borro SI
BUCLE: ;Llamo al bucle
PUSH CX
MOV DX,SI ;Indico la posicion de la letra a imprimir con SI
ADD DX,35 ;Indico la coordenada en x, la coordenada inicial es x=35
MOV DH,12 ;Indico la coordenada en y
CALL COLOCA ;Llamo al sistema para que coloque el cursor donde yo quiero
MOV AL,[SI+OFFSET TITULO] ;Le indico la letra a imprimir pasandole SI y el texto como parametros
MOV BL,[SI+OFFSET COLORES] ;Le indico los colores a imprimir pasandole SI y el conjunto de colores como parametros
CALL COLOR ;Llamo a la impresion del texto
POP CX
INC SI ;Incremento a SI para modificar la letra a imprimir y la coordenada en x
LOOPNZ BUCLE
MOV AH,8 ;08:Lee un caracter sin imprimir nada en pantalla
INT DOS ;Ejecuto el servicio
XOR DX,DX ;Limpio DX
CALL COLOCA ;Coloco el cursor en las coordenadas x=0 y=0
PUT_CURSOR 2,32
print "Colores modificado"
PUT_CURSOR 20,20
print "El programa a sido ejecutado correctamente"
TERMINA ;MACRO TERMINA
COLO ENDP
include "C:\Users\AlexG\Desktop\Tec(Sexto semestre)\Lenguajes De Interfaz\Unidad No.3\practicas\practica 9_3\libreria.inc"
CODIGO ENDS
END COLO
Código:
CR EQU 13 ;Declaro retorno de carro
LF EQU 10 ;Declaro salto de linea
BIOS EQU 10H ;Declaro interrupcion 10h
DOS EQU 21H ;Declaro interrupcion 21h
TEXTO EQU 3 ;Declaro el servicio 03 para la impresion de texto desde BIOS
FIN EQU 4C00H ;Declaro interrupcion de exit
VARIABLES SEGMENT ;Declaro las variables
include "emu8086.inc"
TITULO DB "Colores_UwU" ;Un texto
COLORES DB 01001110B ;Una agrupacion de colores
DB 01101111B
DB 01110011B
DB 01011100B
DB 00110001B
DB 01011111B
DB 01101011B
DB 01011100B
DB 01101111B
DB 01001110B
DB 01101111B
VARIABLES ENDS
VPILA SEGMENT;STACK ;Declaro la pila
DB 64 DUP("PILA")
VPILA ENDS
CODIGO SEGMENT
COLO PROC FAR ;Declaro un procedimiento
ASSUME CS:CODIGO, DS:VARIABLES, SS:VPILA
MOV AX,VARIABLES
MOV DS,AX
MOV AX,TEXTO ;Invoco el servicio de impresion de texto
INT BIOS ;Ejecuto el servicio con 10h
MOV CX,11 ;Declaro el iterador en 11
XOR SI,SI ;Borro SI
BUCLE: ;Llamo al bucle
PUSH CX
MOV DX,SI ;Indico la posicion de la letra a imprimir con SI
ADD DX,35 ;Indico la coordenada en x, la coordenada inicial es x=35
MOV DH,12 ;Indico la coordenada en y
CALL COLOCA ;Llamo al sistema para que coloque el cursor donde yo quiero
MOV AL,[SI+OFFSET TITULO] ;Le indico la letra a imprimir pasandole SI y el texto como parametros
MOV BL,[SI+OFFSET COLORES] ;Le indico los colores a imprimir pasandole SI y el conjunto de colores como parametros
CALL COLOR ;Llamo a la impresion del texto
POP CX
INC SI ;Incremento a SI para modificar la letra a imprimir y la coordenada en x
LOOPNZ BUCLE
MOV AH,8 ;08:Lee un caracter sin imprimir nada en pantalla
INT DOS ;Ejecuto el servicio
XOR DX,DX ;Limpio DX
CALL COLOCA ;Coloco el cursor en las coordenadas x=0 y=0
PUT_CURSOR 2,32
print "Colores modificado"
PUT_CURSOR 20,20
print "El programa a sido ejecutado correctamente"
TERMINA ;MACRO TERMINA
COLO ENDP
include "C:\Users\AlexG\Desktop\Tec(Sexto semestre)\Lenguajes De Interfaz\Unidad No.3\practicas\practica 9_3\libreria.inc"
CODIGO ENDS
END COLO
Suscribirse a:
Entradas (Atom)
Unidad No.3: Mejora programa # 9: Letras de colores(Versión Ingrid Sauceda)
Ejecución del programa: Código: include 'emu8086.inc' Mostrar Macro Mensaje LEA DX,Mensaje ;mandamos el mensaje a leer MO...
-
EDICION Los archivos fuente de código ensamblador deben estar en formato ASCII standard. Para esto puede usarse cualquier editor que ...
-
INTERRUPCIÓN Una interrupción consiste en un mecanismo que provoca la alteración del orden lógico de ejecución de instrucciones como resp...
-
MENSAJES EN EL MONITOR Todos los gráficos y el texto que se muestran en el monitor se escriben en la RAM de visualización de video, pa...