Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ENTER_KEY EQU 0DH
- ;uproszczone dyrektywy segmentowe, oraz model tiny - program typu COM
- .MODEL TINY
- .CODE
- .386 ;to znaczy ze bedziemy uzywac instrukcji zgodnych z procesorem x386
- ORG 100H ;pomijamy nie duzy przedrostek programu
- START:
- JMP MAIN
- ;tutaj teraz definiujemy sobie nasze dane w pamieci programu
- ;ktore bedziemy wykozystywac podczas reszyt programu.
- ;glowna procedura programu
- MAIN PROC NEAR
- XOR SI,SI ;zerujemy rejestr SI operacja xor, najszybsze zerowanie
- ;rej. SI bedzie nam slozyl jako licznik wprowadzonych znakow
- MAIN_START: ;etykieta
- MOV AX,1000H ;funkcja przerwania 16h czekajaca na nacisniecie klawisza
- INT 16H ;wywolujemy przerwanie 16h, funkcja zwraca do rej. AL znak klawisza
- ;a do rej. AH kod klawisza
- INC SI ;zwieksz licznik wprowadzonych znakow
- CMP SI,16 ;porwnanie SI z 16
- JA MAIN_END ;gdy Si > 16 to skacz do MAIN_END
- CMP AL,ENTER_KEY ;porownanie rej. AL z wartoscia 0Dh
- JE MAIN_END ;gdy jest rowne, gdy znak to klawisz enter to skacz do main_end
- MOV DL,'*' ;do DL znak gwiazdki do wyswietlenia
- MOV AH,02H ;funkcja 02h przerwania dosa 21h ktora wyswietla podany znak z rej. DL
- INT 21h
- JMP MAIN_START ;skok na poczatek programu
- MAIN_END:
- MOV AX,4C00H ;funkcja przerwania 21h zakonczajaca program ze statusem = 0
- INT 21H
- MAIN ENDP
- END START
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement