imprime macro numero ;Nuestra macro se llama imprimir, nuestro parámetro es numero
mov ah,02h
mov dl,numero ;Indica que mueva al registro DL lo que pasamos como parámetro.
add dl,30h ;suma 30h para imprimir el número real.
int 21h
endm
.model small
.stack 64
.data
num db 0 ;declaramos nuestra variable.
.code
mov cx,9
inicio:
mov num,cl
imprime num ;Llamamos al macro con el valor de nuestra variable.
loop inicio ;repite ciclo
mov ah,04ch ;Finaliza el programa.
int 21h
end
martes, 17 de abril de 2018
miércoles, 11 de abril de 2018
Programas Con Macro
Programa de macro que imprime el caracter
gotoxy macro fila,col
mov ah,02h ; Se encarga de posicionar el cursor en pantalla
mov dh,fila ; Valor de la fila en la parte alta
mov dl,col ; Valor de la columna parte baja
mov bh,0h
int 10h ; Interrupcion para ejecutar los cambios en modo video
endm ; Finalizacion del macro
; Todo el bloque anterior de codigo funciona para posicionar el cursor en una fila y una columna
; La interrupcion int 10h es utilizada para despliegue en video, acepta el numero de funciones en el AH para el modo de pantalla
pantalla macro letra
mov ah,02h ; Posicionamos el caracter
mov dl,letra
int 21h ; Utilizamos esta interrupcion para mostrar el caracter que esta almacenado en el registro AH
endm
;La interrupcion 21h tiene varias funciones, para accesar a cada una de ellas es necesario que en el registro AH se encuentre el numero de funcion que se requiera
;Cuando tenemos el parametro 02H en nuestro registro AH la interrupcion 21h exhibe la salida
;Cuando tenemos el parametro 09H en nuestro registro AH la interrupcion 21h imprime la cadena (video)
;Cuando tenemos el parametro 40H en nuestro registro AH la interrupcion 21h despliega la escritura en dispositivo/archivo
.model small
.data
.code
startup:
mov ax,@data
mov ds,ax
mov ax,0003h
int 10h
gotoxy 10,10 ; Aqui se le asigna a nuestra macro el valor de la fila y columna donde se posicionara el cursor
pantalla 41h
mov ah,01h
int 21h ; Cierre del programa
mov ax,4c00h ; Cierre del programa
int 21h ; Cierre del programa
end startup
Posicionar en pantalla
gotoxy macro fila,col
mov ah,02h
mov dh,fila
mov dl,col
mov bh,0h
int 10h
endm
--------------------------------------------------------------------------------------------------------------------------
Programa que pide ubicacion del caracter
gotoxy macro fila,col
mov ah,02h ; Se encarga de posicionar el cursor en pantalla
mov dh,fila ; Valor de la fila en la parte alta
mov dl,col ; Valor de la columna parte baja
mov bh,0h
int 10h ; Interrupcion para ejecutar los cambios en modo video
endm ; Finalizacion del macro
pantalla macro que
mov ah,02h ; Posicionamos el caracter
mov dl,que
int 21h ; Utilizamos esta interrupcion para mostrar el caracter que esta almacenado en el registro AH
endm
;La interrupcion 21h tiene varias funciones, para accesar a cada una de ellas es necesario que en el registro AH se encuentre el numero de funcion que se requiera
imprime macro eztryng ;declaracion de macro con parametro eztryng
mov dx,offset eztryng ;coloca mensajes en dx
mov ah,9 ;complemento para la interrupcion 21h para impresion de txto
int 21h ;interrupcion DOS
endm ;fin de macro
.data
mensaje DB "INGRESE UN CARACTER: ",13,10,"$"
mensaje2 DB "INGRESE X del 0 al 9: ",13,10,"$"
mensaje3 DB "INGRESE Y del 0 al 9: ",13,10,"$"
caracter DB 40
varx DB ?
vary DB ?
vtext db 100 dup('$')
ENDS
.code
startup:
mov ax,@data ;asignacion de data a ax
mov ds,ax ;asignacion de datos al del segmento de datos ds
imprime mensaje ;llama macro imprime con el parametro 'mensaje'
mov si,00h ;limpia el apuntador SI
leer:
mov ax,0000 ;limpia ax
mov ah,01h ;complemento para interrupcion 21h captura
int 21h ;interrupcion DOS
mov caracter[si],al ;guarda el dato capturado en variable caracter
inc si ;incrementa si
cmp al,0dh
ja coordenadas ; si esto se cumple brinca a coordenadas
jb leer ;sino se cumple vuelve reinicia el ciclo leer
coordenadas: ;Se declara el metodo coordenadas
mov dx,offset caracter ;coloca se coloca el caracter ingresado en dx
mov ah,0ah
int 21h ;interrupcion DOS
imprime caracter ;llama macro imprime con parametro caracter
imprime mensaje2 ;llama macro imprime con parametro mensaje2
mov ah,01h ;complemento de interrupcion 21h Eco de un caracter
int 21h ;interrupcion DOS
sub al,30h ;resta 30h para convertir al valor numerico
mov bl,al ;mueve al a bl
mov varx,al ;guarda al en varx (coordenada x)
imprime mensaje3 ;se reinicia de nuevo el lo mismo
mov ah,01h
int 21h
sub al,30h
mov bl,al
mov vary,al
mov ax,0003h ;complemento interrupcion 10h modo texto
int 10h ;interupccion de video
gotoxy vary,varx ;llama macro gotxy con los parametros vary y varx como columna y fila
pantalla caracter[0] ;llama macro pantalla con el caracter capturado como parametro
mov ah,01h ;complemento de interrupcion 21h
int 21h ;interrupcion DOS
mov ax,4c00h ;complemento interrupcion 21h fin de programa
int 21h ;interrupcion DOS
end startup ;fin de funcion principal
gotoxy macro fila,col
mov ah,02h ; Se encarga de posicionar el cursor en pantalla
mov dh,fila ; Valor de la fila en la parte alta
mov dl,col ; Valor de la columna parte baja
mov bh,0h
int 10h ; Interrupcion para ejecutar los cambios en modo video
endm ; Finalizacion del macro
; Todo el bloque anterior de codigo funciona para posicionar el cursor en una fila y una columna
; La interrupcion int 10h es utilizada para despliegue en video, acepta el numero de funciones en el AH para el modo de pantalla
pantalla macro letra
mov ah,02h ; Posicionamos el caracter
mov dl,letra
int 21h ; Utilizamos esta interrupcion para mostrar el caracter que esta almacenado en el registro AH
endm
;La interrupcion 21h tiene varias funciones, para accesar a cada una de ellas es necesario que en el registro AH se encuentre el numero de funcion que se requiera
;Cuando tenemos el parametro 02H en nuestro registro AH la interrupcion 21h exhibe la salida
;Cuando tenemos el parametro 09H en nuestro registro AH la interrupcion 21h imprime la cadena (video)
;Cuando tenemos el parametro 40H en nuestro registro AH la interrupcion 21h despliega la escritura en dispositivo/archivo
.model small
.data
.code
startup:
mov ax,@data
mov ds,ax
mov ax,0003h
int 10h
gotoxy 10,10 ; Aqui se le asigna a nuestra macro el valor de la fila y columna donde se posicionara el cursor
pantalla 41h
mov ah,01h
int 21h ; Cierre del programa
mov ax,4c00h ; Cierre del programa
int 21h ; Cierre del programa
end startup
Posicionar en pantalla
gotoxy macro fila,col
mov ah,02h
mov dh,fila
mov dl,col
mov bh,0h
int 10h
endm
--------------------------------------------------------------------------------------------------------------------------
Programa que pide ubicacion del caracter
gotoxy macro fila,col
mov ah,02h ; Se encarga de posicionar el cursor en pantalla
mov dh,fila ; Valor de la fila en la parte alta
mov dl,col ; Valor de la columna parte baja
mov bh,0h
int 10h ; Interrupcion para ejecutar los cambios en modo video
endm ; Finalizacion del macro
pantalla macro que
mov ah,02h ; Posicionamos el caracter
mov dl,que
int 21h ; Utilizamos esta interrupcion para mostrar el caracter que esta almacenado en el registro AH
endm
;La interrupcion 21h tiene varias funciones, para accesar a cada una de ellas es necesario que en el registro AH se encuentre el numero de funcion que se requiera
imprime macro eztryng ;declaracion de macro con parametro eztryng
mov dx,offset eztryng ;coloca mensajes en dx
mov ah,9 ;complemento para la interrupcion 21h para impresion de txto
int 21h ;interrupcion DOS
endm ;fin de macro
.data
mensaje DB "INGRESE UN CARACTER: ",13,10,"$"
mensaje2 DB "INGRESE X del 0 al 9: ",13,10,"$"
mensaje3 DB "INGRESE Y del 0 al 9: ",13,10,"$"
caracter DB 40
varx DB ?
vary DB ?
vtext db 100 dup('$')
ENDS
.code
startup:
mov ax,@data ;asignacion de data a ax
mov ds,ax ;asignacion de datos al del segmento de datos ds
imprime mensaje ;llama macro imprime con el parametro 'mensaje'
mov si,00h ;limpia el apuntador SI
leer:
mov ax,0000 ;limpia ax
mov ah,01h ;complemento para interrupcion 21h captura
int 21h ;interrupcion DOS
mov caracter[si],al ;guarda el dato capturado en variable caracter
inc si ;incrementa si
cmp al,0dh
ja coordenadas ; si esto se cumple brinca a coordenadas
jb leer ;sino se cumple vuelve reinicia el ciclo leer
coordenadas: ;Se declara el metodo coordenadas
mov dx,offset caracter ;coloca se coloca el caracter ingresado en dx
mov ah,0ah
int 21h ;interrupcion DOS
imprime caracter ;llama macro imprime con parametro caracter
imprime mensaje2 ;llama macro imprime con parametro mensaje2
mov ah,01h ;complemento de interrupcion 21h Eco de un caracter
int 21h ;interrupcion DOS
sub al,30h ;resta 30h para convertir al valor numerico
mov bl,al ;mueve al a bl
mov varx,al ;guarda al en varx (coordenada x)
imprime mensaje3 ;se reinicia de nuevo el lo mismo
mov ah,01h
int 21h
sub al,30h
mov bl,al
mov vary,al
mov ax,0003h ;complemento interrupcion 10h modo texto
int 10h ;interupccion de video
gotoxy vary,varx ;llama macro gotxy con los parametros vary y varx como columna y fila
pantalla caracter[0] ;llama macro pantalla con el caracter capturado como parametro
mov ah,01h ;complemento de interrupcion 21h
int 21h ;interrupcion DOS
mov ax,4c00h ;complemento interrupcion 21h fin de programa
int 21h ;interrupcion DOS
end startup ;fin de funcion principal
Suscribirse a:
Entradas (Atom)
Unidad 4: Operación y Mantenibilidad
Unidad 4: Operación y Mantenibilidad 4.1 Bitácoras de Trabajo del DBMS Una bitácora es una herramienta (archivos o registros) que pe...
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgI6uq3863OGq4hz1j9vn-yLnokEKWkQVRTfdc1Hpcb0sWZKDBLPPcuipQUyLMi0u9b3WficKXIvHqKTlruxiORmLfZI1m7ya3ZvoLd5YM7RQ6VGPITS6RcwsRyVCVnVZLD_27PAXZga7i/s400/bita56.jpg.png)
-
Programa del video suma: Programa1 en EMU8086 y Turboassembler:
-
Características Es muy liviano, cerca de 2 MB para el motor de la base y el driver JDBC embebido. Está basado en Java, JDBC y estándares...
-
EN Emu8086: .model small .stack 64 .data mensaje db 0AH, 0dh," Letrero cinco veces " , "$" .code inicio: mov cx,...