[Asembler FASM] struktura PSP


(rafalski) #1

Witam! Mam następujące zadanie i prosił bym o jakąś pomoc, materiały. Próbowałem wygooglać ale nic nie znalazłem.

Wyświetl zawartość wszystkich pól struktury PSP programu w formacie:

Nazwa Adres Długość Zawartość_pola(napis) Zawartość_pola(liczba)

np:

20h 0 2 "??" 123456789

pułap 2 2 "??" 987665565

Pomocniczy kod:

format binary


 org 100h 


 START:

 mov di,0 ;potrzebny index,bedzie wskazywal kolejny

					;element parametru 

 mov bx,80h ;sprawdzamy czy istnieje

 mov cl,[es] ;jakikolwiek parametr

 cmp cl,0 ;jesli nie to...

 je koniec ;


 CzytajParametr:

	 inc bx ;parametry zaczynaja sie od 81h

	 mov dl,[es]

	 mov [parametr+di],dl ;a nastepnie do bufora,ktory bedzie

			      ;nazwa pliku(czyli naszym

	 inc di ;parametrem)

 loop CzytajParametr


  mov [parametr+di],'$'

 mov ah,09h

 mov dx, parametr

 int 21h


 koniec: ;koniec działania programu

	mov ah,0

	int 16h

    mov ax, 4C00h 

    int 21h 

parametr db 126 dup (?),'0','$' ;tutaj bedą parametry

(Ryan) #2

Struktura opisana jest w wielu miejscach:

http://mcs.uwsuper.edu/sb/324/Intro/com.html

http://fornax.elf.stuba.sk/SUPERMAN/SYS ... advdos.txt