Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;;;Kompilacja programu typu EXE ;;;;;
- ;tasm szab4.asm
- ;;;Linkowanie programu do postaci EXE
- ;tlink szab4.obj
- ;;;Uruchamianie programu
- ;szab18.exe
- stosik SEGMENT STACK ;deklaracja segmentu stosu
- DB 328 DUP(?)
- stosik ENDS
- assume cs:kod, ds:dane, ss:stosik;linia najbardziej ruchoma w programie
- dane segment ;deklaracka segmentu danych
- napis db 'Program typu exe $'
- gw db '*$'
- nl db 13,10,'$'
- zm dw ?
- zm2 dw 10
- k db 35
- w db 7
- tmp dw ?
- dane ends
- kod segment ;deklaracja kodu programu
- start:
- mov ax, seg dane ;zapis adresu seg danych w rejestrze segmentowym
- mov ds, ax
- mov ax, 3 ;czysci ekran
- int 10h ;czysci ekran
- mov cx,8
- skokCC:
- mov zm,cx
- mov cx,11
- skok1:
- mov ah, 86h ;czekaj okreslona liczbe milisekund
- mov dx, 10000 ;CX:DX - czas w milisekundach
- int 15h
- add w,1 ; przesuniecei wiersza o 1 w dol
- mov ah, 02h
- mov dl, k ; kolumna
- mov dh, w ; wiersz
- mov bh, 0h ; numer strony pamieci ekranu
- int 10h
- mov dx, offset gw
- mov ah, 9h
- int 21h
- loop skok1
- add k,1
- add w,1
- mov cx, 11
- skok2:
- mov ah, 86h ;czekaj okreslona liczbe milisekund
- mov dx, 10000 ;CX:DX - czas w milisekundach
- int 15h
- sub w,1 ; przesuniecei wiersza o 1 w gore
- das
- mov ah, 02h
- mov dl, k ; kolumna
- mov dh, w ; wiersz
- mov bh, 0h ; numer strony pamieci ekranu
- int 10h
- mov dx, offset gw
- mov ah, 9h
- int 21h
- loop skok2
- add k,1
- sub w,1
- das
- mov cx,zm
- loop skokCC
- ;;; wyjscie programu do systemu DOS ;;;;;
- mov ah, 4ch
- int 21h
- kod ends
- end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement