Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1)
;programa de prueba de la función 01h int21/detecta tecla función
DATA SEGMENT
Teclaf db "no presiono una tecla funcion","$"
Teclanf db "presiono una tecla funcion","$"
DATA ENDS
INSTRUC SEGMENT
ASSUME CS:INSTRUC,DS:DATA, SS:PILA
INICIO:
MOV AX,DATA
MOV DS,AX
mov ah,01h
int 21h
cmp al,00h
jnz L1
mov ah,09h
lea dx,teclanf
int 21h
MOV AH,4Ch
INT 21h
INSTRUC ENDS
PILA SEGMENT STACK
DB 900 DUP(?)
PILA ENDS
END INICIO
2)
;reconoce y discrimina que tecla de function fue pulsada
;programa de prueba de la función 01h int21/detecta tecla función
DATA SEGMENT
Teclaf db "no presiono una tecla funcion","$"
teclanf db "Presiono una tecla de funcion","$"
Mensaje db " LA TECLA DE FUNCION PRESIONADA FUE........ F"
uno db "1"
dolar db "$"
numero db ?
Fun1 db ";"
Fun2 db "<"
Fun3 db "="
Fun4 db ">"
Fun5 db "?"
Fun6 db "@"
1
rastreo db ?
db "$"
DATA ENDS
INSTRUC SEGMENT
ASSUME CS:INSTRUC, DS:DATA, SS:PILA
INICIO:
MOV AX,DATA
MOV DS,AX
mov ah,00h
int 16h
mov rastreo,ah
cmp al,00h
jz funcion1
mov ah,09h
lea dx,teclaf
int 21h
MOV AH,4Ch
INT 21h
funcion1:
mov ah,rastreo
sub ah,fun1
jz mostrar
funcion2:
add uno,1
mov ah,rastreo
sub ah,fun2
jz mostrar
funcion3:
add uno,1
mov ah,rastreo
sub ah,fun3
jz mostrar
funcion4:
add uno,1
mov ah,rastreo
sub ah,fun4
jz mostrar
mostrar:
mov ah,09h
lea dx,Mensaje
int 21h
MOV AH,4Ch
INT 21h
2
INSTRUC ENDS
END INICIO
3)
;copia y replica la tercera línea de la pagina active
;ejecutar considerando que no se encuentren en el ultimo renglón de
la pagina activa
data SEGMENT
renglonactual db ?
cant dw 0
data ENDS
INSTRUC SEGMENT
ASSUME CS:INSTRUC,ds:data,ss:pila
INICIO:
mov ax,data
mov ds,ax
LEA DI,linea
MOV AH,08h ;
MOV BH,00 ; Número de página 0 (normal)
INT 10h ; Llama al BIOS
MOV [DI],AL
INC DI
INC col
MOV BX,79
INC cant
CMP BX,cant
JA colum
3
MOV AH,02h ; petición para colocar el cursor
MOV BH,00 ; Número de página activa 0
MOV DH,renglonactual
MOV DL,00
INT 10h ; interrupción que llama al BIOS
MOV AH,09h
LEA DX,linea
INT 21h
mov ah,4ch
int 21h
INSTRUC ENDS
PILA SEGMENT STACK
DB 900 DUP(?)
PILA ENDS
END INICIO
4) intercambio de páginas2
DATOS SEGMENT
modo DB ?
pag DB ?
xini DB ?
yini DB ?
colu DW ?
DATOS ENDS
CODIGO SEGMENT
ASSUME CS:CODIGO,ds:DATOS,ss:pila
inicio:
mov ax,DATOS
mov ds,ax
mov pag,01
call mitadsup
call mitadinf
mov pag,02
call supizq
call supderech
call mitadinf
4
mov pag,03
call infizq
call infderech
call mitadsup
mov ah,10h
int 16h
mov ah,10h
int 16h
mov ah,4ch
int 21h
5
INC DH
INC DI
CMP DI,12
JB DESP2
RET
mitadinf endp
6
CMP DI,12
JB DESP5
RET
infizq endp
CODIGO ENDS
pila SEGMENT STACK
DB 900 DUP(?)
pila ENDS
END inicio