Arquitectura de Computadoras 2

Foro para conocer el avance del curso y compartir comentarios, dudas y aportaciones para todos los participantes del mismo.

Mi foto
Nombre: Dr. Sergio Castillo
Ubicación: Xalapa, Veracruz, Mexico

Profesor universitario en el área de las ciencias de la computación. Doctor en Ciencias de la Computación, Maestro en Ciencias Computacionales e Ingeniero en Electrónica y Comunicaciones.

martes, octubre 25, 2005

Sesión Martes 25 de Octubre

En la sesión de hoy hablamos del PSP (Prefix Segment Program), que es una estructura de datos que crea el DOS cuando carga un programa. Dentro del PSP se coloca la "línea de comandos", que consiste en los caracteres que se teclearon al momento de invocar al programa desde el intérprete de comandos.

Presenté y expliqué brevemente el siguiente programa, que desliega su "línea de comandos":
; Archivo: desplc.asm
; Despliega su linea de comandos
pila segment stack 'stack'
db 512 dup (?)
pila ends

datos segment 'data'
msje1 db "La linea de comandos es:",10,13,"$"
datos ends

prog segment 'code'
assume ss:pila,ds:datos,cs:prog
Inicio:
push ds
pop es ; ES apunta al PSP

mov ax,seg datos ; Inicializa DS
mov ds,ax

mov ah,9
mov dx,offset msje1
int 21h

xor cx,cx ; CX = Tamanho linea comandos
mov cl,es:[128]
xor di,di
do1: mov ah,2
mov dl,es:[129+DI]
int 21h
inc di
loop do1

mov ax,4c00h
int 21h
prog ends
end Inicio
Finalmente les dejé, a manera de ejercicio, que modifiquen este programa para que cuente y despliegue el número de palabras en la línea de comandos.