2. Orden del día
Concepto de cadenas
Captura de cadenas
Instrucciones básicas
Directivas
Ejemplo de una captura de cadena
(programa)
Fuentes de consulta
5. Cadenas
En ensamblador, una cadena es simplemente una secuencia de
caracteres.
Cada carácter en la cadena es representado por su código ASCII
correspondiente y se almacena en memoria como un byte.
Las cadenas se suelen terminar con un carácter nulo (un byte con valor
0) para indicar el final de la cadena.
6. Captura de cadenas
La captura de cadenas implica leer una
entrada, ya sea desde el teclado o desde
un archivo.
Esto se hace generalmente con la ayuda
de interrupciones que se generan al
momento.
7. Instrucciones básicas
ORG 100h
Establece el origen del
programa en dirección
de memoria.
Buffer DB 256 DUP(?)
Reserva 256 bytes
para almacenar la
cadena.
INT 21h
Llamada a MSDOS.
Lee la cadena de entrada
del usuario y la almacena
en el buffer.
8. Instrucciones básicas
También son conocidas como directivas
.model small
Define un modelo de
memoria donde los
datos caben en un
segmento de 64K
.stack 100h
Reserva memoria para
almacenar
información.
proc
Define procedimientos a
realizar.
9. Directivas
Una directiva es un comando incrustado en el código fuente, que el
ensamblador reconoce y actúa en base a ésta.
Las directivas no se llevan a cabo en tiempo de ejecución, mientras
que las instrucciones sí.
Pueden definir variables, macros y procedimientos.
12. Captura de una cadena
En principal proc se define el
procedimiento principal de
programa.
Las dos instrucciones mov de
entrada, establecen segmentos
de datos.
13. Captura de una cadena
lea dx,mensaje carga la
dirección de mensaje en el
registro dx. mov ah,09h establece
la función del sistema DOS para
mostrar la cadena
int 21h llama a esa función.
14. Captura de una cadena
mov dx,offset cadena carga la
dirección de cadena en el registro
dx. mov ah,0ah
Se establece la función de
MSDOS para leer una cadena
desde el teclado
int 21h llama a esa función.
16. Actividad
Copia este programa, ejecútalo y
comentarea lo que se realiza en
cada línea o grupo de ellas.
Cuando se de ENTER, mostrar
un mensaje.
Puede aparecer después de la
finalización del programa y este
vuelva a ser ejecutado.
17. Fuentes de consulta
Funciones del DOS. (s. f.).
http://arantxa.ii.uam.es/~gdrivera/labetcii/int_dos.htm
What is the difference between Stack 100h and Org 100h? (s. f.).
Stack Overflow.
https://stackoverflow.com/questions/30079062/what-is-the-
difference-between-stack-100h-and-org-100h
How does assembler process «org 100h» directive? (s. f.). Stack
Overflow. https://stackoverflow.com/questions/13321808/how-
does-assembler-process-org-100h-directive
Lenguaje Ensamblador: para Computadoras Basadas en Intel, 5/ed.
- #55