Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Antologia Lenguaje Ensamblador PDF
Antologia Lenguaje Ensamblador PDF
PRESENTACIÓN
ÍNDICE
Pág.
Presentación 1
Unidad I Fundamentos
1.1 Introducción. 4
1.1.1 Uso y aplicaciones del lenguaje ensamblador. 5
1.1.2 Escalabilidad de los microprocesadores. 6
1.1.3 Tipos de lenguajes ensambladores. 9
1.1.4 Clasificación de Memorias. 10
1.1.5 Unidades de entrada / salida. 12
1.2 El microprocesador. 13
1.2.1 Buses. 14
1.2.2 Registros. 15
1.2.3 Modos de direccionamiento. 18
1.3 Interrupciones. 19
1.3.1 Hardware. 23
1.3.2 Software. 24
1.4 Estructura de un programa en ensamblador. 25
1.4.1 Data segment. 26
1.4.2 Snack segment. 28
1.4.3 Code segment 28
1.4.4 Instrucciones del programa. 29
1.5 Procedimiento de ensamble, enlace y ejecución. 31
1.6 Entorno de programación. 34
2.2.1 Incondicional. 37
2.2.2 Condicional. 38
2.3 Tipos de ciclos. 39
2.4 Operadores Lógicos. 39
2.5 Desplazamiento. 39
2.5.1 Lineal. 39
2.5.2 Circular. 40
2.6 Procesos de control 41
2.6.1 Banderas 41
2.6.2 Cadenas 41
2.6.3 Carga 42
UNIDAD I
FUNDAMENTOS
1.1 Introducción
Con el avance del tiempo, las computadoras fueron siendo diseñadas bajo
arquitecturas similares, lo que facilitó su programación, aunque el grupo de
personas que podía realizar esta labor era pequeño, puesto que se debía tener un
amplio conocimiento sobre esta labor.
32 bits
80486 22/04/91 16-33 Mhz 32 bits 1185000
Pentium 22/03/93 60-200 Mhz 32 bits 3.1 millones
Pentium Pro 27/03/95 150-200 64 bits 5.5 millones
Mhz
AMD k5 1996 90-200 Mhz 64 bits 3.3 – 4.3
millones
Pentium II 07/05/97 233-300 64 bits 7.5 millones
Mhz
Intel Celaron 1998 266 Mhz 64 bits 7.5 millones
AMD Duron 2000 600-1000 64 bits 25 millones
Mhz
Pentium 4 2000 2000 Mhz 64 bits 42 millones 1 Gb
Lenguaje Ensamblador 9
Ing. Claudia Yadira Luna Carrasco
1) Memorias RAM: Son memorias en las que se puede leer y escribir, si bien su
nombre (Random Access Memory) no representa correctamente este hecho.
2) Memorias ROM (Read 0nly Memory): Son memorias en las que sólo se puede
leer. Pueden ser:
1.2 El Microprocesador.
La Unidad central de proceso o CPU, se puede definir como un circuito (chip) que
interpreta y ejecuta instrucciones.
1.2.1 Buses.
Un bus es en esencia una ruta compartida que conecta diferentes partes del
sistema, como el microprocesador, la controladora de unidad de disco, la
memoria y los puertos de entrada/salida (E/S), para permitir la transmisión de
información.
Existen:
1.2.2 Registros.
El procesador para realizar y agilizar sus funciones contiene dentro de sí, una
serie de registros que a continuación se describen:
Pueden ser utilizados como un solo registro de 16 bits o bien como dos registros
independientes de 8 bits.
Registro Descripción
Se utiliza generalmente para el almacenamiento de datos en
Registro
AX general, comúnmente operandos o resultados parciales de
Acumulador
las operaciones realizadas por la ALU.
Registro Se usa para conservar la dirección base de los datos
BX
Base almacenados en el segmento de datos de la memoria
Registro Guarda el valor del índice de conteo durante la ejecución de
CX
Contador un ciclo.
Registro De Se usa para almacenar la parte alta del resultado de un
DX
Datos producto de mas de 16 bits.
Lenguaje Ensamblador 16
Ing. Claudia Yadira Luna Carrasco
Registro Descripción
Apuntador Contiene la dirección de la siguiente instrucción a ejecutar
IP de por el procesador.
Instrucciones
Apuntador Se utiliza para mantener la dirección del borde de la pila de
SP
de Pila la memoria.
Su uso principal es el de proveer un mecanismo paa poder
Apuntador pasar parámetros a rutinas. También se usa para conservar
BP
Base la dirección base de los datos almacenados en el segmento
de pila de la memoria.
Índice
SI
Fuente Su principal aplicación es en instrucciones u operaciones que
Índice involucran cadenas.
DI
Destino
REGISTROS DE SEGMENTO
Registro Descripción
Segmento Contiene la dirección de la memoria donde inicia el
CS
de código segmento que contiene los programas y sus procedimientos.
Contiene la dirección de la memoria donde inicia el
Segmento
DS segmento o bloque de memoria que contiene la mayor parte
de datos
de los datos o variables utilizados en un programa.
Segmento Contiene la dirección de la memoria utilizado por la pila de la
SS
de pila memoria.
Segmento Contiene la dirección de la memoria que se utiliza para
ES extra de guardar datos cuando se ha excedido la capacidad del
datos registro de segmento de datos (cadenas).
Lenguaje Ensamblador 17
Ing. Claudia Yadira Luna Carrasco
REGISTROS DE BANDERAS
Registro Descripción
Banderas OF DF IF SF ZF AF PF CF
Desactivadas:
NV UP DI PL NZ NA PO NC
XF = 0
Activadas
OV DN EI NG ZR AC PE CY
XF = 1
1.3 Interrupciones
La dirección CS:IP entonces apunta al inicio de la rutina en el área del BIOS, que
ahora se ejecuta. La interrupción regresa vía una instrucción IRET (regreso de
interrupción), que saca de la pila el IP, CS y las banderas y regresa el control a la
instrucción que sigue al INT.
Las interrupciones se dividen en dos tipos las cuales son: Externas y Internas.
Una interrupción externa es provocada por un dispositivo externo al procesador.
un paso o una petición para una interrupción externa, tal como E/S de disco. Los
programas por lo común utilizan interrupciones internas, que no son
enmascarables, para accesar los procedimientos del BIOS y del DOS.
INT 00H: División entre cero. Llamada por un intento de dividir entre cero.
Muestra un mensaje y por lo regular se cae el sistema.
INT 01H: Un solo paso. Usado por DEBUG y otros depuradores para permitir
avanzar por paso a través de la ejecución de un programa.
INT 03H: Punto de ruptura. Usado por depuración de programas para detener la
ejecución.
INT 04H: Desbordamiento. Puede ser causado por una operación aritmética,
aunque por lo regular no realiza acción alguna.
INT 08H: Sistema del cronometro. Una interrupción de hardware que actualiza la
hora del sistema y (si es necesario) la fecha. Un chip temporizador programable
genera una interrupción cada 54.9254 milisegundos, casi 18.2 veces por
segundo.
INT 09H: Interrupción del teclado. Provocada por presionar o soltar una tecla en
el teclado.
INT OBH, INT OCH: Control de dispositivo serial. Controla los puertos COM1 y
COM2, respectivamente.
INT 0DH, INT OFH: Control de dispositivo paralelo. Controla los puertos LPT1 y
LPT2, respectivamente.
INT 0EH: Control de disco flexible. Señala actividad de disco flexible, como la
terminación de una operación de E/S.
Los dos módulos del DOS, IO.SYS y MSDOS.SYS, facilitan el uso del BIOS. Ya que
proporcionan muchas de las pruebas adicionales necesarias, las operaciones del
Lenguaje Ensamblador 22
Ing. Claudia Yadira Luna Carrasco
DOS por lo general son mas fáciles de usar que sus contrapartes del BIOS y por
lo común son independientes de la maquina.
Las interrupciones desde la 20H hasta la 3FH están reservadas para operaciones
del DOS.
INT 21H: Petición de función al DOS. La principal operación del DOS necesita
una función en el AH.
INT 23H: Dirección de Cltr + Break. Diseñada para transferir el control a una
rutina del DOS (por medio del PSP desplazamiento 0EH) cuando usted presiona
Ctlt + Break o Ctlr + c. La rutina finaliza la ejecución de un programa o de un
archivo de procesamiento por lotes. Sus programas no deben de emitir esta
interrupción.
INT 24H: Manejador de error critico. Usada por el dos para transferir el control
(por medio del PSP desplazamiento 12H) cuando reconoce un error critico (a
veces una operación de disco o de la impresora).Sus programas no deben de
emitir esta interrupción.
INT 25H: Lectura absoluta de disco. Lee el contenido de uno o mas sectores de
disco.
Lenguaje Ensamblador 23
Ing. Claudia Yadira Luna Carrasco
INT 27H: Termina pero permanece residente (reside en memoria). Hace que un
programa .COM al salir permanezca residente en memoria.
INT 33H: Manejador del ratón. Proporciona servicios para el manejo del ratón.
1.3.1 Hardware
Se les conoce con este nombre a las interrupciones causadas o generadas por
dispositivos de hardware, como dispositivos de Entrada, dispositivos de salida,
etc.
Se dividen en:
Las interrupciones internas son generadas por ciertos eventos que surgen
durante la ejecución de un programa. Este tipo de interrupciones son manejadas
en su totalidad por el hardware y no es posible modificarlas. Un ejemplo claro de
este tipo de interrupciones es la que actualiza el contador del reloj interno de la
computadora, el hardware hace el llamado a esta interrupción varias veces
durante un segundo para mantener la hora actualizada. Aunque no podemos
manejar directamente esta interrupción (no podemos controlar por software las
actualizaciones del reloj), es posible utilizar sus efectos en la computadora para
nuestro beneficio, por ejemplo para crear un "reloj virtual" actualizado
continuamente gracias al contador del reloj interno. Únicamente debemos escribir
Lenguaje Ensamblador 24
Ing. Claudia Yadira Luna Carrasco
1.3.2 Software
Se les conoce con este nombre a las interrupciones causadas o generadas por
software, como son programas en ejecución, interrupciones del Bios,
interrupciones del Sistema Operativo, etc.
- Segmento de Memoria
- Segmento de Datos
- Segmento de Pila
- Segmento de Código
.Model SMALL
.STACK
.DATA
; Sección para definir variables y constantes
.CODE
Inicio:
MOV AX,@DATA
MOV DS,AX
∶
MOV AH, ACH
INT 21H
END Inicio
Lenguaje Ensamblador 26
Ing. Claudia Yadira Luna Carrasco
El modelo de memoria puede ser TINY, SMALL, MEDIUM, COMPACT o LARGE. Los
requisitos para cada modelo son:
Puede utilizar cualquiera de estos modelos para un programa autónomo (esto es,
un programa que no este enlazado con algún otro). El modelo TINY esta
destinado para uso exclusivo de programas .COM, los cuales tienen sus datos,
código y pila en un segmento. El modelo SMALL exige que el código quepa en un
segmento de 64K y los datos en otro segmento de 64K.
Los formatos generales (incluyendo el punto inicial) para las directivas que define
los segmentos de la pila, de datos y de código son:
.STACK [tamaño]
.DATA
.CODE [nombre]
CONSTANTES
VARIABLES
Las variables que son de tipo cadena deberá colocarse su valor entre comillas y
terminar con el signo $.
La pila funciona LIFO (Last Input, First Output), y utiliza dos funciones:
PUSH
Esta función sirve para almacenar información o colocar valores dentro de la pila,
su sintaxis es:
Push valor
POP
Pop variable
Inicio:
MOV AX,@DATA
MOV DS,AX
Lenguaje Ensamblador 29
Ing. Claudia Yadira Luna Carrasco
DEBUG
C:\> DEBUG ↵
Los archivos fuente de código ensamblador deben estar en formato ASCII standard. Para esto
puede usarse cualquier editor que permita crear archivos sin formato y guardarlos con extensión
.asm.
El ensamblado se lleva a cabo invocando al MASM. Este puede ser invocado, usando una línea de
comando, de la siguiente manera:
Donde:
archivo.- Corresponde al programa fuente. Por defecto se toma la extensión .ASM.
objeto.- Es el nombre para el archivo objeto.
listado.- Nombre del archivo de listado de ensamblado.
cross.- Es un archivo de referencias cruzadas.
opciones.- Pueden ser:
/A escribe los segmentos en orden alfabético
/S escribe los segmentos en orden del fuente
/Bnum fija buffer de tamaño num
/C especifica un archivo de referencias cruzadas
/L especifica un listado de ensamble
/D crea listado del paso 1
/Dsym define un símbolo que puede usarse en el ensamble
/Ipath fija path para buscar archivos a incluir
/ML mantiene sensitividad de letras (mayús./minús) en nombres
/MX mantiene sensitividad en nombre públicos y externos
/MU convierte nombres a mayúsculas
/N suprime tablas en listados
/P checa por código impuro
/R crea código para instrucciones de punto flotante
/E crea código para emular instrucciones de punto flotante
/T suprime mensajes de ensamble exitoso
/V despliega estadísticas adicionales en pantalla
/X incluir condicionales falsos en pantalla
/Z despliega líneas de error en pantalla
Lenguaje Ensamblador 33
Ing. Claudia Yadira Luna Carrasco
De la misma forma que el ensamblado, la fase de liga se lleva a cabo con el LINK. Este puede ser
invocado de la misma forma que el MASM. Los parámetros que este requiere son:
Donde:
objeto.- Es el nombre para el archivo .OBJ
ejecutable.- Nombre del archivo .EXE
mapa.- Nombre del archivo mapa
librería.- Nombre del archivo biblioteca de rutinas
opciones.- Pueden ser:
/HELP muestra lista de opciones
/PAUSE pausa en el proceso
/EXEPACK empaca archivo ejecutable
/MAP crea mapa se símbolos públicos
/LINENUMBERS copia número de líneas al mapa
/NOIGNORECASE mantiene sensitividad en nombres
/NODEFAULTLIBRARYSEARCH no usa bibliotecas por defecto
/STACK:size fija el tamaño del stack a usar
/CPARMAXALLOC:número fija alojación máxima de espacio
/HIGH fija la dirección de carga más alta
/DSALLOCATE aloja grupo de datos
/NOGROUPASSOCIATION ignora asociaciones para direcciones
/OVERLAYINTERRUPT:número asigna nuevo número a la INT 03Fh
/SEGMENTS:número procesa un número de segmentos
/DOSSEG sigue la convención de orden de DOS
Para la ejecución del programa simplemente basta teclear su nombre en el prompt de MS-DOS y
teclear ENTER. Con esto el programa será cargado en memoria y el sistema procederá a
ejecutarlo.
Lenguaje Ensamblador 34
Ing. Claudia Yadira Luna Carrasco
UNIDAD II
ELEMENTOS DEL LENGUAJE
2.1.1 Movimiento
2.1.2 Pila
PUSH
Esta función sirve para almacenar información o colocar valores dentro de la pila,
su sintaxis es:
Push valor
POP
Pop variable
2.1.3 Matemáticos
2.1.4 Ajustes
2.1.5 Comparación
2.2 Saltos
2.2.1 Incondicional
2.2.2 Condicional
Los saltos condicionales, solo envían el flujo del control del programa si la
condición que especifican se ha cumplido.
Los saltos condicionales son:
2.5 Desplazamiento
2.5.1 Lineal
El número de bits que se pierde en este tipo de corrimientos depende del conteo
especificado, los bits perdidos son sustituidos por ceros.
Lenguaje Ensamblador 40
Ing. Claudia Yadira Luna Carrasco
SHL SHR
Å Destino Å0 0Æ Destino Æ
2.5.2 Circular
ROL ROR
Destino Destino
RCL RCR
CF Destino Destino CF
Lenguaje Ensamblador 41
Ing. Claudia Yadira Luna Carrasco
2.6.1 Banderas
Banderas OF DF IF SF ZF AF PF CF
Desactivadas:
NV UP DI PL NZ NA PO NC
XF = 0
Activadas
OV DN EI NG ZR AC PE CY
XF = 1
2.6.2 Cadenas
Instrucción Descripción Formato
CMPS Compara cadenas, es decir, compara CMPS
2.6.3 Carga
UNIDAD III
MODULARIZACIÓN
3.1 Macros
∶
ENDM
POP AX
ENDM
3.1.1 Internas
Una Macro interna, como su nombre lo dice se encuentra dentro del programa
principal.
Ejemplo:
;PROGRAMA QUE ACEPTA DOS DATOS DESDE TECLADO, LOS SUMA Y DESPLIEGA EL RESULTADO
.MODEL SMALL
SUMA MACRO R,S1,S2
PUSH AX
MOV AX,S1
ADD AX,S2
MOV R,AX
POP AX
ENDM
.STACK
.DATA
VAR1 DW ?
VAR2 DW ?
RESUL DW ?
M1 DB "INTRODUCE EL PRIMER VALOR:$"
M2 DB 10,13,"INTRODUCE EL SEGUNDO NÚMERO:$"
M3 DB 10,13,"SUMA:$"
.CODE
EXTRN RECIBE_DATO:FAR
EXTRN IMP_CADENA:FAR
EXTRN IMP_AX:FAR
INICIO:
MOV AX,@DATA
MOV DS,AX
LEA DX,M1
CALL IMP_CADENA
CALL RECIBE_DATO
Lenguaje Ensamblador 45
Ing. Claudia Yadira Luna Carrasco
MOV VAR1,SI
LEA DX,M2
CALL IMP_CADENA
CALL RECIBE_DATO
MOV VAR2,SI
LEA DX,M3
CALL IMP_CADENA
SUMA RESUL,VAR1,VAR2
MOV AX,RESUL
CALL IMP_AX
MOV AH,4CH
INT 21H
END INICIO
3.2 Procedimientos
1. Internos
2. Externos
3.2.1 Internos
.MODEL SMALL
.STACK
.DATA
Lenguaje Ensamblador 46
Ing. Claudia Yadira Luna Carrasco
∶
Se usa la palabra
.CODE Call para llamar o
usar el
INICIO: procedimiento
CALL NOMBRE_PROCEDIMIENTO
POP REGISTROS
RET
Se regresan los
NOMBRE_PROCEDIMIENTO ENDP valores a los
registros
END INICIO
Ejemplo:
.MODEL SMALL
.STACK
.DATA
CADENA DB “Procedimientos..$”
.CODE
INICIO:
MOV AX,@DATA
Lenguaje Ensamblador 47
Ing. Claudia Yadira Luna Carrasco
MOV DS,AX
CALL IMPCADENA
MOV AH,4CH
INT 21H
PUSH AX
MOV AH,9
INT 21H
POP AX
RET
IMPCADENA ENDP
END INICIO
3.2.2 Externos
Ejemplo:
.MODEL SMALL
.STACK
.DATA
Incluye el
CADENA DB “Procedimientos..$” procedimiento
externo
.CODE
EXTRN IMPCADENA:FAR
INICIO:
MOV AX,@DATA
MOV DS,AX
CALL IMPCADENA
MOV AH,4CH
INT 21H
END INICIO
MOV AH,9
INT 21H
POP AX
RET
IMPCADENA ENDP
END INICIO
Lenguaje Ensamblador 49
Ing. Claudia Yadira Luna Carrasco
se obtendrá:
Principal.obj
Impcad.obj
.MODEL SMALL
.DATA
NUM DB 5 DUP (?)
E DB " $"
.CODE
PUBLIC IMP_CADENA
PUBLIC RECIBE_DATO
PUBLIC IMP_AX
INICIO:
Lenguaje Ensamblador 50
Ing. Claudia Yadira Luna Carrasco
MOV AX,@DATA
MOV DS,AX
LEA DI,NUM
MOV CL,4
S1:
MOV AH,1H
INT 21H
CMP AL,0DH
JE S2
MOV [DI],AL
DEC CL
INC DI
CMP CL,0
JE S2
JMP S1
S2:
MOV CL,24H
MOV [DI],CL
MOV BX,0
MOV CX,0
MOV SI,DI
LEA DI,NUM
MOV CX,1
Lenguaje Ensamblador 51
Ing. Claudia Yadira Luna Carrasco
E3:
DEC SI
MOV AH,0
MOV AL,[SI]
SUB AL,30H
MOV DX,0
MUL CX
ADD BX,AX
MOV DX,0
MOV AX,CX
MOV CX,10
MUL CX
MOV CX,AX
CMP DI,SI
JNE E3
MOV SI,BX
POP DI
POP DX
POP CX
POP BX
POP AX
RET
RECIBE_DATO ENDP
PUSH BX
PUSH CX
PUSH DX
PUSH SI
PUSH AX
MOV AX,@DATA
MOV DS,AX
POP AX
MOV BX,10
LEA SI,E
Lenguaje Ensamblador 52
Ing. Claudia Yadira Luna Carrasco
ADD SI,3
CICLO:
MOV DX,0
DIV BX
ADD DL,30H
MOV [SI],DL
DEC SI
CMP AX,0
JNE CICLO
LEA DX,E
MOV AH,9H
INT 21H
POP SI
POP DX
POP CX
POP BX
RET
IMP_AX ENDP
END INICIO
Lenguaje Ensamblador 53
Ing. Claudia Yadira Luna Carrasco
UNIDAD IV
PROGRAMACIÓN HÍBRIDA
Interrupciones
INTERRUPCIONES DEL DOS
Llamada AH 02H
DH Renglón
DL Columna
modo 40x25.
Llamada AH 90H
AL Carácter ASCII
Llamada AH 0BH
Devuelve Nada
1 Verde
2 Rojo
3 Café
1 Cianato
2 Magenta
3 Blanco
Lenguaje Ensamblador 55
Ing. Claudia Yadira Luna Carrasco
COORDENADA ESPECIFICADA
Llamada AH 0CH
BH Número de página
Devuelve Nada
Llamada AH 13H
AL Modo de escritura
BH Página de video
CX Longitud de la cadena
siguiente manera:
MODO COMENTARIOS
se actualiza el cursor.
actualiza el cursor.
actualiza el cursos.
el cursor.
Llamada AH 02H
DH Número de cabeza (0 o 1)
DL Número de unidad (0 a 3)
AH byte de estado
impredecibles.
CL Número de sector(1 a 9)
DH Número de cabeza(0 o 1)
DL Número de unidad(0 a 3)
AH 0
AH Byte de estado
Llamada AH 05H
CH Número de pista
DH Número de cabeza
DL Número de unidad
DESPLAZAMIENTO SIGNIFICADO
Llamada AH 00H
AL Parámetro de iniciación
3=COM4)
AL Estado de MODEM
bauds palabra
010=300 10=ninguna
011=600 11=par
100=1200
101=2400
110=4800
111=9600
3=COM4)
falla
Llamada AH 02H
3=COM4)
AL Carácter
AH bit 7 = 1 error
preparar el puerto.
Llamada AH 03H
3=COM4)
Bandera de acarreo en 1
Llamada AH 80H
AH 86H
múltiples tareas.
Llamada AH 85H
Realiza ESPERA
Int 15/86
Llamada AH 86H
Llamada AH 00H
Llamada AH 01H
AH Código de examinación
AL carácter ASCII
Int 16/01 Bandera de cero en uno si no se oprimió tecla alguna
de cero y regresa.
Lenguaje Ensamblador 62
Ing. Claudia Yadira Luna Carrasco
Llamada AH 02H
de la función.
Int 16/02
7 6 5 4 3 2 1 0 Significado
Llamada AH 10H
AL caracter
AL Carácter
DX Número de impresora (0 a 2)
Llamada AH 001H
DX Número de impresora (0 a 2)
Int 17/01
Devuelve AH Estado de la impresora
estado de este.
Llamada AH 02H
CH Horas (BCD)
DH Segundos (BCD)
binario)
CH Horas (BCD)
CL Minutos (BCD)
DH segundos (BCD)
Devuelve Nada
Lenguaje Ensamblador 64
Ing. Claudia Yadira Luna Carrasco
Llamada AH 04H
CH Siglo (BCD)
Int 1A/04 CL Año
DH Mes
DL Día
Llamada AH 5H
CH Siglo
CL Año
Int 1A/05
DH Mes
DL Día
Devuelve Nada
EN UN MOMENTO FUTURO
Lenguaje Ensamblador 65
Ing. Claudia Yadira Luna Carrasco
Llamada AH 06H
CH Horas
CL Minutos
DH Segundos
Descripción Los valores para fijar la alarma deben estar en BCD. Fijar la
Llamada AH 07H
fijarla de nuevo.
Llamada AH 02H
Devuelve Nada
Int 21/01
Descripción Dirige la salida a la pantalla de video (STDOUT). La función
Llamada AH 04H
Devuelve Nada
Llamada AH 09H
Devuelve Nada
Int 21/09
Descripción Envía a la salida series contiguas de caracteres del mismo
Llamada AH 2AH
DH Mes (1 al 12)
Int 21/2A
DL Día(1 a 31)
de DOS.
DH Mes
DL Dia
este.
Llamada AH 2CH
CL Minutos (0 a 59)
Int 21/2C
DH Segundos (0 a 59)
Descripción Obtiene la hora del reloj interno del DOS, la cual solo es
Llamada AH 2DH
CH Hora
CL Minutos
DH Segundos
Int 21/2D
DL centésimas
interno de DOS.
Lenguaje Ensamblador 68
Ing. Claudia Yadira Luna Carrasco
Llamada AH 31H
AL Código de retorno
Llamada AH 36H
DX Grupos en unidad
Llamada AH 39H
Llamada AH 3AH
Llamada AH 3BH
CD)
Lenguaje Ensamblador 70
Ing. Claudia Yadira Luna Carrasco
Llamada AH 41H
E5H en el primer byte del nombre del archivo. Solo ese byte
Llamada AH 56H
Llamada AH 5BH
CX atributo
AX Control
de volumen ni subdirectorios.
Lenguaje Ensamblador 72
Ing. Claudia Yadira Luna Carrasco