name "potencia"
include "emu8086.inc"
include "macroos.txt"
.model small
data segment
base dw ?
exp dw ?
resul dw ?
ends
code segment
call basic
basic proc
call start
call objetive
call capture
potencia_num
call printer
call salir
ret
basic endp
start proc
mov ax,data
mov ds,ax
mov es,ax
ret
start endp
objetive proc
printn " "
printn " "
printn " Potencia de un Numero "
ret
objetive endp
capture proc
printn " "
printn " "
printn " Dame tu numero ===> "
call scan_num
mov base,cx
printn " "
printn " "
print " dame el exponente ==> "
call scan_num
mov exp,cx
ret
capture endp
printer proc
printn " "
printn " "
print " Resultado ==> "
call print_num
ret
printer endp
salir proc
printn " "
printn " "
print " presione una tecla para continuar..."
mov ah,1
int 21h
mov ax,4c00h
int 21h
ret
salir endp
define_scan_num
define_print_string
define_print_num
define_print_num_uns
define_pthis
ends
----------------ESTA PARTE VA EN UN BLOC DE NOTAS--------------------------------------------------
POTENCIA_NUM MACRO
mov ax,1
mov bx,base
mov cx,exp
ciclo:
mul bx
loop ciclo
mov resul,ax
ENDM
--------------------------------------------------------------------------------------------------------------------------
*detalle, por alguna razon despues de que le doy el numero el primer digito se elimina pero al dar el exponente el resultado es del numero que diste, en este caso era un 12
jueves, 17 de mayo de 2018
miércoles, 25 de abril de 2018
MacroLoop
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
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
sábado, 14 de abril de 2018
menu
pila segment stack "stack" ;segmento de pila
db 100h dup (?) ;a partir de la direccion de 100 de la pila
pila ends
datos segment
titulo db 13,10," Menu de opciones ",13,10 ,"$"
mensaje db 13,10,"Presionar 1 color Cyan,letras negras",13,10, "$"
mensaje2 db 13,10,"Presionar 2 color rojo,letras azules",13,10,"$"
mensaje3 db 13,10,"presionar cualquier tecla para salir",13,10,"$"
mensaje4 db 13,10,"Hola mundo en Negro",13,10,"$"
mensaje5 db 13,10,"Hola mundo en azul",13,10,"$"
datos ends
codigo segment ;segmento de codigo
assume cs:codigo, ss:pila, ds:datos
inicio:
;...........................................preparar pantalla
mov ah,0
mov al,3h ;modo texto
int 10h ;interrupcion de video
mov ax,0600h ;limpiar pantalla
mov bh,5fh ;0 color de fondo negro, f color de letra blanco
mov cx,0000h
mov dx,784fh
int 10h
mov ah,02h
mov bh,00
mov dh,00
mov dl,00
int 10h
;..............................................mostrar mensajes
mov ax,datos
mov ds,ax
lea dx,titulo
mov ah,9h
int 21h
lea dx,mensaje
mov ah,9h
int 21h
lea dx,mensaje2
mov ah,9h
int 21h
lea dx,mensaje3
mov ah,9h
int 21h
;.........................................captura de teclas
mov ah,08 ;pausa y captura de datos 05 espera que el usuario presione una tecla
int 21h
cmp al,49 ;ascii 49= numero1
je llamarAzul ;salto condicional jump equals opcion 1 saltar si es igual ala opcion 1
cmp al,50 ;ascii 50= numero 2 compara lo que tiene el registro ah con el ascii 50 en el reg ah
je llamarMorado
jmp fin ;si no escoge ni enter ni 2, sale del programa
fin: ;saca el mensaje por pantalla
mov ax,4c00h
int 21h
llamarAzul:
CALL AZULPROC
llamarMorado:
CALL MORADOPROC
;........................................................................
AZULPROC PROC NEAR
mov ah,0
mov al,3h ;modo texto
int 10h ;interrupcion de video
mov ax,0600h ;limpiar pantalla
mov bh,30h ;0 color de fondo negro, f color de letra blanco
mov cx,0000h
mov dx,184fh
int 10h
mov ah,02h
mov bh,00
mov dh,00
mov dl,00
int 10h
;;;;;;//////////////
mov ah,06h
mov bh,1fh
mov cx,0000h
mov dx,184fh
int 10h
;mensaje
mov ax,datos
mov ds,ax
lea dx,mensaje4
mov ah,9h
int 21h
mov ax,4c00h
int 21h
RET
AZULPROC ENDP
;----------------------------------
MORADOPROC PROC NEAR
mov ah,06h
mov bh,41h
mov cx,0000h
mov dx,184fh
int 10h
;mensaje
mov ax,datos
mov ds,ax
lea dx,mensaje5
mov ah,9h
int 21h
mov ax,4c00h
int 21h
RET
MORADOPROC ENDP
codigo ends
end inicio
ciclo
.model small
.stack 64
.data ;en data se declaran variables y cadenas a usar en el programa
mensaje db 0ah, 0dh,"Letrero cinco veces","$" ;declaramos una cadena
.code
inicio:
mov cx,10 ;numero de veces a repetir el ciclo
veces:
mov ax,@data
mov ds,ax
mov dx,offset mensaje ;lee la cadena desde nuestro segmento de datos
mov ah,09h
int 21h
loop veces ;se repite desde nuestra etiqueta ciclo
mov ah,04ch ;Al terminar finaliza el programa
int 21h
end inicio
.stack 64
.data ;en data se declaran variables y cadenas a usar en el programa
mensaje db 0ah, 0dh,"Letrero cinco veces","$" ;declaramos una cadena
.code
inicio:
mov cx,10 ;numero de veces a repetir el ciclo
veces:
mov ax,@data
mov ds,ax
mov dx,offset mensaje ;lee la cadena desde nuestro segmento de datos
mov ah,09h
int 21h
loop veces ;se repite desde nuestra etiqueta ciclo
mov ah,04ch ;Al terminar finaliza el programa
int 21h
end inicio
registro CF
;desbordamiento del registro CF con suma
ORG 100h
;mov al,254
;mov bl,1
;add al,bl
; desbordamiento del registro CF con multiplicacion
mov al,254
mov bl,2
mul al
ret
;desbordamiento del registro CF con division
;mov al,254
;mov bl,2
;div bl
;ret
ORG 100h
;mov al,254
;mov bl,1
;add al,bl
; desbordamiento del registro CF con multiplicacion
mov al,254
mov bl,2
mul al
ret
;desbordamiento del registro CF con division
;mov al,254
;mov bl,2
;div bl
;ret
Loop Potencia
org 100h
.model small
.stack 64
.data
mensaje db 10,13 ,"Dame un numero",10,13,"$"
mensaje2 db 10,13 ,"Dame un la potencia",10,13,"$"
n1 db 0
n2 db 0
n3 db 0
.code
inicio: ;funcion inicio
mov ax,@data ;Movemos el segmento data a ax
mov ds,ax ; Movemos lo que esta en ax a ds
mov dx,offset mensaje ;Imprimimos el primer mensaje parte 1
mov ah, 09h ;Imprimimos el primer mensaje parte 2
int 21h ;Imprimimos el primer mensaje parte 3
mov ah,01 ;pausa y espera a que el usuario presione una tecla
int 21h ;interrupción para capturar
sub al,30h ;lo que el usuario presiono se guarda en al y se le resta 30h para convertirlo a un numero
mov n1,al ;Movemos lo que esta en al a la variable n1
mov n3,al ;Movemos lo que esta en al a la variable n3
mov ah, 09h ;imprimimos el mensaje 2 parte 1
mov dx,offset mensaje2 ;imprimimos el mensaje 2 parte 2
int 21h ;imprimimos el mensaje 2 parte 3
mov ah,01 ;pausa y espera a que el usuario presione una tecla
int 21h ;interrupcion para capturar
sub al,30h ;lo que el usuario presiono se guarda en al y se le resta 30h para convertirlo a un numero
mov n2,al ;Guardamos lo que el usuario preciono el n2
mov cl,al ; movemos lo que esta en al a cl para decirle al ciclo cuantas vueltas va a dar
sub cl,1 ;le restamos 1 para que no de una vuelta de mas
call ciclo ;llamada a ciclo
ciclo: ;Funcion
call ciclo1 ;llamada el procediemto 1
ciclo1 proc near : ;procedimiento ciclo
mov al,n1 ;potencia parte 1
mov bh,n3 ;potencia parte 2
mul bh ;potencia parte 3
mov n1,al
loop ciclo1 ;loop a la funcion ciclo
mov ax,4c00h ;fin parte 1
int 21h; fin parte 2
fin: ;funcion fin
mov ax,4c00h ;funcion que termina el programa
int 21h
end inicio
.model small
.stack 64
.data
mensaje db 10,13 ,"Dame un numero",10,13,"$"
mensaje2 db 10,13 ,"Dame un la potencia",10,13,"$"
n1 db 0
n2 db 0
n3 db 0
.code
inicio: ;funcion inicio
mov ax,@data ;Movemos el segmento data a ax
mov ds,ax ; Movemos lo que esta en ax a ds
mov dx,offset mensaje ;Imprimimos el primer mensaje parte 1
mov ah, 09h ;Imprimimos el primer mensaje parte 2
int 21h ;Imprimimos el primer mensaje parte 3
mov ah,01 ;pausa y espera a que el usuario presione una tecla
int 21h ;interrupción para capturar
sub al,30h ;lo que el usuario presiono se guarda en al y se le resta 30h para convertirlo a un numero
mov n1,al ;Movemos lo que esta en al a la variable n1
mov n3,al ;Movemos lo que esta en al a la variable n3
mov ah, 09h ;imprimimos el mensaje 2 parte 1
mov dx,offset mensaje2 ;imprimimos el mensaje 2 parte 2
int 21h ;imprimimos el mensaje 2 parte 3
mov ah,01 ;pausa y espera a que el usuario presione una tecla
int 21h ;interrupcion para capturar
sub al,30h ;lo que el usuario presiono se guarda en al y se le resta 30h para convertirlo a un numero
mov n2,al ;Guardamos lo que el usuario preciono el n2
mov cl,al ; movemos lo que esta en al a cl para decirle al ciclo cuantas vueltas va a dar
sub cl,1 ;le restamos 1 para que no de una vuelta de mas
call ciclo ;llamada a ciclo
ciclo: ;Funcion
call ciclo1 ;llamada el procediemto 1
ciclo1 proc near : ;procedimiento ciclo
mov al,n1 ;potencia parte 1
mov bh,n3 ;potencia parte 2
mul bh ;potencia parte 3
mov n1,al
loop ciclo1 ;loop a la funcion ciclo
mov ax,4c00h ;fin parte 1
int 21h; fin parte 2
fin: ;funcion fin
mov ax,4c00h ;funcion que termina el programa
int 21h
end inicio
loop seleccionar mensaje
pila segment stack 'stack'
db 100h dup (?)
pila ends
datos segment ;texto e instrucciones.
av db 13,10,' Presione 1 o 2 ',13,10,'$'
msj db 13,10,' Lenguaje ensamblador ',13,10,'$'
m db 13,10,' Lenguaje de Interfaz ',13,10,'$'
datos ends
codigo segment ;segmento de codigo
assume cs:codigo, ss:pila, ds:datos
inicio:
mov ax, datos
mov ds, ax
lea dx,av
mov ah,9h
int 21h
mov ah,08 ;pausa y captura datos 08 espera que el usuario presione una tecla
int 21h
cmp al,49 ;verifica si presiono 1
je pOpcion
cmp al,50 ;verifica si presiono 2
je sOpcion
jmp fin ;finaliza en caso de no recibir respuesta de enter o 2
fin:
mov ax,4c00h
int 21h
pOpcion:
CALL PO
sOpcion:
CALL SO
PO PROC NEAR
mov ah, 9h
lea dx, msj
mov cx, 12
print_LOOP:
int 21h
loop print_LOOP
mov ax,4c00h
int 21h
RET
PO ENDP
SO PROC NEAR
mov ah, 9h
lea dx, m
mov cx, 12
pLOOP:
int 21h
loop pLOOP
mov ax,4c00h
int 21h
RET
SO ENDP
codigo ends
end inicio
lOOPZ
; uso del LOOPZ, REPETICION BASADA EN
;COMPARACION SI ES IGUAL A 0
; INTERRUPCION PARA LEER DEL TECLADO ES LA INT16H
; CUANDO USAMOS LA INT16H , EL PARAMETROA USAR ES AH = 0
; Y EL CARACTER LEIDO QUEDARA EN AL= CARACTER LEIDO
.model small
.stack 64
.data
;mensaje1 db "instrucciones de repeticion
.code
inicio:
mov al,'>' ; caracter inicial
mov cx,10 ;numero de veces a repetir el ciclo
leer_car:
mov ah,0EH ;FUNCION PARA IMPRIMIR EL CARACTER AL
int 10h ;llama al BIOS
mov ah,08 ;pausa y espera a que el usuario precione una tecla
int 21h ;interrupcion para capturar
cmp al,'S'; el caracter leeido la int 16h lo guarda en al
loopz leer_car ;toma en cuenta la comparacion del cmp si se cumple continua
; coloco el fin de la linea para que baje una linea y lo baje
mov ah,0EH ; FUNCION DEL BIOS PARA IMPRIMIR CARACTER
mov al,10
int 10h
MOV AL,13
INT 10H
mov ah,04ch ;Al terminar finaliza el programa.
int 21h
end inicio
mensaje con loop
.model small
.stack 64
.data
mensaje db "Ingresa el numero de veces que se repetira el mensaje (1-9)",13,10,'$'
repetir db 13,10,"Repitiendo el ciclo $"
.code
inicio proc far
mov ax, @data
mov ds, ax
mov ah, 09
lea dx, mensaje
int 21h
mov ah, 01
int 21h
sub al, 30h
mov cl, al
ciclo:
mov ah, 09
lea dx, repetir
int 21h
loop ciclo
mov ax,4c00h
int 21h
inicio endp
end
colores
BIOS EQU 10H
DOS EQU 21H
FIN EQU 4C00H
.DATA
TITULO DB 'Princess Moon '
COLORES DB 5BH
DB 5FH
DB 5BH
DB 5FH
DB 5BH
DB 5BH
DB 0F0H
DB 00H
DB 09CH
DB 09FH
DB 09CH
DB 09FH
DB 09CH
DB 00H
;DB 0CH
.CODE
INICIO PROC NEAR:
MOV AX, @DATA
MOV DS, AX
;Esta parte de aqui no es necesaria
INT BIOS
MOV CX, 15
BUCLE:
;Ponemos esto para no agarrar basura
MOV DX,SI
ADD DX,35 ;columna
MOV DH, 12 ;renglon
CALL COLOCA
MOV AL, [SI+OFFSET TITULO]
MOV BL, [SI+OFFSET COLORES]
CALL COLOR
INC SI
LOOPNZ BUCLE
MOV AH, 0
INT DOS
CALL COLOCA
MOV AX, FIN
INT DOS
COLOR PROC
MOV AH, 9
INT BIOS
RET
COLOCA PROC
MOV AH,2
INT BIOS
RET
END INICIO
domingo, 25 de febrero de 2018
tres mensajes con fondo de color
CR EQU 13
LF EQU 0Ah
IMPRIMIR EQU 9
FIN EQU 4C00H
DOS EQU 21H
DATOS SEGMENT
MENSAJE DB CR,LF,'SARAHI CRUZ MEDINA', CR, LF, '$'
MENSAJE2 DB CR,LF,'LUZ EDITH PEREZ SOTO', CR, LF, '$'
MENSAJE3 DB CR,LF,'VALERIA ESMERALDA VARGAS REQUENA', CR, LF, '$'
DATOS ENDS
PILA SEGMENT STACK
DB 64 DUP ("PILA")
PILA ENDS
CODIGO SEGMENT
HM PROC FAR
ASSUME CS: CODIGO, DS:DATOS, SS:PILA
MOV ah,06H ;MANEJA SCROLL
mov bh,2fh ;2 color verde fondo y f letras blanco, ver liga de colores BIOS
mov cx,0000h;ESQUINA SUPERIOR IZQ
mov dx,999fh;esquina inf derecha
int 10h ;modo de video,cosas de pantalla
mov ah,02h ;posicionar el cursor
mov bh,00h ;pone el modo de vi
mov dx,0000h
int 10h
;EMPIEZA LOS LETREROS
MOV AX,DATOS
MOV DS,AX
LEA DX,MENSAJE
MOV AH,9
INT 21H
lea dx,MENSAJE2
MOV AH,9
INT 21H
LEA DX,MENSAJE3
MOV AH,9
INT 21H
MOV AX,4C00H
INT 21H
HM ENDP
CODIGO ENDS
END HM
limpia pantalla
FIN EQU 4C00H
DOS EQU 21H
MONITOR EQU 10H
PILA SEGMENT STACK
DW 100 DUP("0")
PILA ENDS
codigo segment
CLS PROC FAR
ASSUME CS:CODIGO, SS:PILA
CALL LIMPIA_PANTALLA
MOV AX,FIN ;SE USA PARA FINALIZAR UN PROGRAMA
INT DOS ;SE DEBE INCLUOR LA INT 21H
CLS ENDP
LIMPIA_PANTALLA PROC NEAR
MOV AX,0600H ;ah 06(es un recorrido),al 00(pantalla completa)
MOV BH,30H ;FONDO BLANCO(7),SOBRE AZUL(1)
MOV CX,000H;ES LA ESQUINA SUPERIOR IZQUIERDA REGLON:COLUMNA
MOV DX,484FH;ES LA ESQUINA SUPERIOR DERECHA RENGLON:COLUMNA
INT 10H
RET
LIMPIA_PANTALLA ENDP
codigo ENDS
END CLS
holamundo(turboassambler)
CR EQU 13
LF EQU 0Ah
DATOS SEGMENT
MENSAJE DB CR,LF,'Hola mundo este programa fue compilado por Vale Vargas',CR,LF,'$'
DATOS ENDS
PILA SEGMENT STACK
DB 64 DUP("PILA")
PILA ENDS
CODIGO SEGMENT
HM PROC FAR
ASSUME CS: CODIGO,DS:DATOS,SS:PILA
MOV AX,DATOS
MOV DS,AX
LEA DX,MENSAJE
MOV AH,9
INT 21H
MOV AX,4C00H
INT 21H
HM ENDP
CODIGO ENDS
END HM
cambiar color de pantalla
pila segment stack "stack" ;segmento de pila
db 100h dup (?) ;a partir de la direccion de 100 de la pila
pila ends
datos segment
titulo db 13,10," cambiar fondo de pantalla ",13,10 ,"$"
mensaje db "presione ENTER si quiere que la pantalla azul.Siquiere morado presione 2",13,10,"para salir presione cualquier tecla",13,10,"$"
datos ends
codigo segment ;segmento de codigo
assume cs:codigo, ss:pila, ds:datos
inicio:
;...........................................preparar pantalla
mov ah,0
mov al,3h ;modo texto
int 10h ;interrupcion de video
mov ax,0600h ;limpiar pantalla
mov bh,0fh ;0 color de fondo negro, f color de letra blanco
mov cx,0000h
mov dx,784fh
int 10h
mov ah,02h
mov bh,00
mov dh,00
mov dl,00
int 10h
;..............................................mostrar mensajes
mov ax,datos
mov ds,ax
lea dx,titulo
mov ah,9h
int 21h
lea dx,mensaje
mov ah,9h
int 21h
;.........................................captura de teclas
mov ah,08 ;pausa y captura de datos 05 espera que el usuario presione una tecla
int 21h
cmp al,13 ;verifica si presiono Enter,el cual tiene un codigo ascii
je llamarAzul ;salto condicional jump equals opcion 1 saltar si es igual ala opcion 1
cmp al,50 ;ascii 50= numero 2 compara lo que tiene el registro ah con el ascii 50 en el reg ah
je llamarMorado
jmp fin ;si no escoge ni enter ni 2, sale del programa
fin: ;saca el mensaje por pantalla
mov ax,4c00h
int 21h
llamarAzul:
CALL AZULPROC
llamarMorado:
CALL MORADOPROC
;........................................................................
AZULPROC PROC NEAR
mov ah,0
mov al,3h ;modo texto
int 10h ;interrupcion de video
mov ax,0600h ;limpiar pantalla
mov bh,0fh ;0 color de fondo negro, f color de letra blanco
mov cx,0000h
mov dx,184fh
int 10h
mov ah,02h
mov bh,00
mov dh,00
mov dl,00
int 10h
;;;;;;//////////////
mov ah,06h
mov bh,1fh
mov cx,0000h
mov dx,184fh
int 10h
mov ax,4c00h
int 21h
RET
AZULPROC ENDP
;----------------------------------
MORADOPROC PROC NEAR
mov ah,06h
mov bh,5fh
mov cx,0000h
mov dx,184fh
int 10h
mov ax,4c00h
int 21h
RET
MORADOPROC ENDP
codigo ends
end inicio
Hola Mundo
.model small
.stack
.data
saludo db "Hola mundo, soy vale vargas!!!", "$"
.code
main proc ;Inicia proceso
mov ax,seg saludo
mov ds,ax
mov ah,09
lea dx,saludo
int 21h
;mensaje en pantalla
mov ax,4c00h
int 21h
main endp
end main
int10h
;CAMBIAR EL COLOR DE LA PANTALLA
;PILA SEGMENT STACK "STACK"
; DB 100 DUP("0)
;PILA ENDS
DATOS SEGMENT
MENSAJE DB 10,13,"SE HA CAMBIADO EL COLOR DE LA PANTALLA$",10,13,"$"
DATOS ENDS
CODIGO SEGMENT
ASSUME CS:CODIGO,DS:DATA
INICIO:
MOV ah,06H ;MANEJA SCROLL
mov bh,2fh ;2 color verde fondo y f letras blanco, ver liga de colores BIOS
mov cx,0000h;ESQUINA SUPERIOR IZQ
mov dx,999fh;esquina inf derecha
int 10h ;modo de video,cosas de pantalla
mov ah,02h ;posicionar el cursor
mov bh,00h ;pone el modo de vi
mov dx,0000h
int 10h
;despliege del mensaje
mov ax,DATOS
mov dx,ax
lea dx,MENSAJE
mov ah,9h
int 21h
;cierre del programa
mov ax,4c00h
int 21h
CODIGO ENDS
END INICIO
registro SF
ORG 100h
mov al,2
mov bl,3
sub al,bl
ret
Uso de constantes
.MODEL SMALL
.STACK 100H
;DECLARACION DE CONSTANTES
CR1 EQU 13
LF1 EQU 10
IMPRIMIR EQU 9H ;ORDEN DE EL 9PARA MOSTRAR EN PANTALLA
FIN EQU 4C00H
DOS EQU 21H
.DATA ;ES OPCIONAL LA PALABRA RESERVADA SEGMENT
TEXTO DB LF1,LF1,CR1, "EJEMPLO DE USO DE CONSTANTES$"
.CODE
Inicio: ;Punto de entrada al programa
MOV ax,@DATA
MOV ds,ax
mov dx,OFFSET TEXTO
MOV AH,IMPRIMIR ;IMPRIMIR EN PANTALLA
INT DOS
MOV AX,FIN
INT DOS
END Inicio
END
Suma
;programa del video del blog
.model small
.stack 64
.data
n1 db 0
n2 db 0
suma db 0
msg1 db "dame el primer valor,$"
msg2 db 10,13, "dame el segundo valor,$"
msg3 db 10,13, "suma:,$"
.code
inicio:
;Direccionamos al segmento de datos
mov ax,@data
mov ds,ax
;solicitamos el primer digito
mov ah,09
lea dx,msg1
int 21h
;se lee el primer valor
mov ah,01
int 21h
sub al,30h ;convertir el caracter a numero
mov n1,al
;solicitamos el segundo digito
mov ah,09
lea dx, msg2
int 21h
;se lee el primer valor
mov ah,01
int 21h
sub al,30h ;convertir el caracter a numero
mov n2,al
;operacion
mov al,n1
add al,n2
add al,30h ;convierte a caracter
mov suma,al
mov ah,09
lea dx,msg3
int 21h
;se imprime el caracter con el servicio 02 de la int 21h
mov ah,02
mov dl, suma
int 21h
mov ah,4ch
end inicio
end
Suscribirse a:
Entradas (Atom)
Macro Potencia de un numero
name "potencia" include "emu8086.inc" include "macroos.txt" .model small data segment base dw ? ...
-
Un registro de segmento se utiliza para alinear en un limite de párrafo o dicho de otra forma codifica la dirección de inicio de cada segmen...
-
Registros Apuntadores Estos registros son usados como índices por algunas instrucciones. También pueden ser usados como operandos (excepto...
-
El registro FLAGS es el registro de estado en los microprocesadores Intel x86 que contiene el estado actual del procesador. Este registro es...