; PROGRAM "pierwszy.asm"
dane SEGMENT ;segment danych
tekst db 13,10
db 78,'azywam sie Pawel', 13, 10
db 'moj pierwszy program asemblerowy'
db 13,10
txt2 db 128 dup ('#')
koniec_txt db ?
dane ENDS
rozkazy SEGMENT 'CODE' use16 ;segment zawierający rozkazy programu
ASSUME cs:rozkazy, ds:dane
wystartuj:
mov ax, SEG dane
mov ds, ax
mov es, ax
mov cx, txt2-tekst
mov bx, OFFSET tekst ;wpisanie do rejestru BX obszaru
;zawierającego wyswietlany tekst
ptl:
mov dl, [bx] ;wpisanie do rejestru DL kodu ASCII
;kolejnego wyświetlanego znaku
mov ah, 2
int 21H ;wyświetlenie znaku za pomocą funkcji nr 2 DOS
inc bx ;inkrementacja adresu kolejnego znaku
loop ptl ;sterowanie pętlą
mov si, OFFSET tekst
mov di, OFFSET txt2
add di, 32
ptl2:
mov dl, [si]
mov [di], dl
inc si
inc di
loop ptl2
mov cx, koniec_txt-txt2
mov bx, OFFSET txt2
ptl4:
mov dl, [bx] ;wpisanie do rejestru DL kodu ASCII
;kolejnego wyświetlanego znaku
mov ah, 2
int 21H ;wyświetlenie znaku za pomocą funkcji nr 2 DOS
inc bx ;inkrementacja adresu kolejnego znaku
loop ptl4
mov al, 0 ;kod powrotu programu (przekazywany przez
;rejestr AL) stanowi syntetyczny opis programu
;przekazywany do systemu operacyjnego
;(zazwyczaj kod 0 oznacza, że program został
;wykonany poprawnie)
mov ah, 4CH ;zakończenie programu – przekazanie sterowania
;do systemu, za pomocą funkcji 4CH DOS
int 21H
rozkazy ENDS
nasz_stos SEGMENT stack ;segment stosu
dw 128 dup (?)
nasz_stos ENDS
END wystartuj ;wykonanie programu zacznie się od rozkazu
;opatrzonego etykietą wystartuj
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}