PWSZ w KROŚNIE |
||||
Informatyka |
||||
Nazwa przedmiotu: Programowanie niskopoziomowe |
Nr. spraw. 4-5 |
|||
Członkowie zespołu:
|
Nr albumu 17558
|
Temat: Programowanie niskopoziomowe - podstawy
|
Gr. III |
|
|
|
|
Rok: I dzienny |
|
|
|
Ocena: |
Data realizacji:
|
Data oddania:
|
Teoria.
Skoki warunkowe pozwalają na skok do danego wiersza w stosie, jeżeli spełniono specyficzny warunek. Różni się on od zwykłego polecenia „JMP” tym, że isnieje potrzeba spełnienia warunku przed wykonaniem skoku.
Treść zadania (programu).
Napisz program który pobierze literę „a” i wyświetli komunikat.
W razie wciśnięcia litery „a” - „Wciśnięto literę a”.
W razie wciśnięcia litery „b” - „Wciśnięto literę b”.
Kod programu wraz z opisem.
.model tiny // Informacje o tym, że program będzie *.com
.code // początek kodu
org 100h // program będzie się zaczynać od CS:0100H
start: // Początek
jmp program // Skok do „program”
wiadomosc: // Nazwa procedury
mov ah,9 // ustawia wartość procedury ah na 9
mov dx, offset kom // wywołanie „kom”
int 21h // wywołuje przerwanie - czynność wykonywania
ret // powrót
wiadomosc2: // Nazwa procedury
mov ah,9 // ustawia wartość procedury ah na 9
mov dx, offset kom2 // wywołanie „kom2”
int 21h // wywołuje przerwanie - czynność wykonywania
ret // powrót
program: // Nazwa procedury
mov ah,1 // ustawia wartość procedury ah na 1
int 21h // wywołuje przerwanie - czynność wykonywania
cmp al,'a' // jeżeli wciśniemy „a”
je wiadomosc // skocz do „wiadomosc”
call wiadomosc2 // skocz do wiadomosc2 + powrót
mov ax, 4C00h // ustawia wartość procedury ax na 4C00h
int 21h // wywołuje przerwanie - czynność wykonywania
kom db " - Wcisnieto literke a$" // treść procedury „kom”
kom2 db " - nie wcisnieto literki a$" // treść procedury „kom2”
end start // Koniec programu
Uwagi końcowe i wnioski.
J - jump if - skok jeśli:
N - not - nie
A - above - powyżej
G - greater - większe
E - equal - równe
B - below - poniżej
L - less - mniej
O - Overflow flag - OF
P - parity flag - PF
S - sign flag - SF
Z - zero flag - ZF
AH = 0