mov eax, 4 mov ebx, 1 mov ecx, tekst mov edx, [dlugosc_tekst]
Transkrypt
mov eax, 4 mov ebx, 1 mov ecx, tekst mov edx, [dlugosc_tekst]
1. Wypisywanie tekstu na standardowe wyjście: mov eax, 4 mov ebx, 1 mov ecx, tekst mov edx, [dlugosc_tekst] int 80h 2. Czytanie tekstu ze standardowego wejścia: mov eax, 3 mov ebx, 0 mov ecx, tekst mov edx, [ dlugosc_tekst] int 80h 3. Warunek if else: cmp eax, ebx ; porównanie rejestrów je _skok ; jeśli równe to skok warunkowy ....................... ;blok instrukcji else jmp ;koniec bloku else. Wyjście z pętli za pomocą skoku ;bezwarunkowego _koniec _skok: ................... ;blok wykonywalny gdy warunek prawdziwy _koniec: 4. Pętla for: _skok: cmp eax, ebx ja _koniec .................... ; porównanie rejestrów ;jeśli eax większy od ebx to koniec pętli ;ciało pętli inc ebx ;inkrementacja zmiennej warunkowej jmp _skok ; powrót do początku pętli _koniec: 5. Pętla do-while, czyli loop na rejestrze ecx: mov ecx, 10 _skok: .............................. loop _skok ;ustawienie ilości wykonania pętli ;ciało pętli ;dopóki wartość ecx większa od 0 dekrementacja ecx o jeden ;i skok na początek. W przeciwnym razie wykonywane są ;dalsze instrukcje 6. Operacje arytmetyczne: ADD rejestr, zmienna SUB rejestr, zmienna INC rejestr DEC rejestr MUL rejestr lub zmienna Dodawanie Odejmowanie Zwiększanie o jeden Zmniejszanie o jeden Mnożenie Przykład pętli loop: mov ecx,8 _petla: mov esi,ecx mov eax, 4 mov ebx, 1 mov ecx, tekst1 mov edx, [dlw] int 80h mov ecx,esi loop _petla mov eax, 1 int 80h Przykład pętli for: mov esi,8 petla: cmp esi,0 je _koniec dec esi mov eax, 4 mov ebx, 1 mov ecx, tekst1 mov edx, [dlw] int 80h jmp _petla _koniec: Zadania do samodzielnego wykonania: 1. Napisz program echo powtarzający podany przez ciebie ciąg znaków. 2. Napisz program, który wypisze na ekran wszystkie znaki ASCII, z użyciem obu wariantów pętli. 3. Napisz program, który policzy liczbę wystąpień litery 'a' w zdaniu podanym z klawiatury. 4. Napisz program który w zależności od wprowadzonego znaku policzy sumę, albo różnicę dwóch liczb. 5. Napisz program wczytujący znaki z klawiatury do póki nie wprowadzisz 'k'.