64 Asembler. Poradnik użytkownika
64 Asembler. Poradnik użytkownika
REP MOVSW M0V AH, 4CH INT 21H MALUJ ENDS END
;(9) powtarzaj rozkaz MOVSW, aż CX=0 :(J0) funkcja wyjścia z programu... ;(łl).., do DOS
Nadajmy nazwę plikowi, w którym znajduje się powyżej napisany program -
Dokonujemy asemblacji pliku ekran.asm przy użyciu programu TASM.EXE:
TAŚM ekranC.asm]
Turbo Assembler Version xxx Assembling file: ekran.ASM
Error messages: Nonę
Warning messages: Nonę
Passes: 1
Remaining memory: 434k
;w nawiasach [ ] - domyślnie Copyright xxx ;nazwa asemblowanego pliku
;brak błędów asemblacji
;brak ostizeżeń
;jedno przejście asemblera
;pozostało pamięci operacyjnej (tu: 434KB)
Po asemblacji otrzymamy na dysku plik obiektowy ekran.obj.
Plik ekran.obj poddajemy konsolidacji za pomocą programu TLINK.EXE;
TL INK ekranC. obj ] ;w nawiasach [ ] - domyślnie
Turbo Link Version xxx Copyright xxx
Warni ng: No stack ;ostnzeżenie: brak stosu
Na dysku utworzył się gotowy plik do wykonania - ekran.exe.
Komentarz dotyczący znaczenia (ponumerowanych) linii pliku ekran.asm. Program ekran.asm kopiuje obszar pamięci zaadresowany za pomocą rejestrów DS:SI (0000H:0000H) - obszar źródłowy, do obszaru pamięci zaadresowanego przez parę rejestrów ES:DI (0B800H:00A0H) - obszar docelowy. Kopiowania tego dokonujemy przy użyciu rozkazu MOVSW. Obszar docelowy tak został dobrany, aby widać było wyraźnie efekty działania programu. Po prostu obszar docelowy jest częścią pamięci karty VGA (B800-BFFF) i na ekranie zaczynać się będzie od drugiej linii (od góry ekranu - linia programu nr (6)), a kończyć na linii piątej (linie programu nr (6)+(7)). Powodzenia!