Thread View: pl.comp.lang.asm
1 messages
1 total messages
Started by Darek F.
Sat, 01 Apr 2006 20:34
Początkujący - cmp, jb
Author: Darek F.
Date: Sat, 01 Apr 2006 20:34
Date: Sat, 01 Apr 2006 20:34
46 lines
2212 bytes
2212 bytes
Witam,
Dopiero zaczynam się uczyć assemblera i mam trochę problemów. Mam sobie
taki oto błędnie działający program. W komentarzach przedstawiam moje
rozumowanie, które jest niestety błędne.
section .text
global _start
_start:
petelka: ; początek pętli
mov eax, [bajt1]
inc eax ; zwiększenie bajtu1 o 1
mov [bajt1], eax
mov eax, 4
mov ebx, 1 ; wypisanie bajtu na konsoli
mov ecx, bajt1
mov edx, 1
int 80h
mov eax, bajt1
mov ebx, bajt2 ; ustawienie maksymalnej wartości bajtu1
cmp eax, ebx ; porówananie
jb petelka ; jeżeli bajt1 < bajt2 to idź do petelka
; jeśli nie to idź dalej? czyli zakończ program
mov eax, 1
int 80h
section .data
bajt1 DB 1
bajt2 DB 100
Problem polega na tym, że program naokrągło wypisuje mi znaki w konsoli.
Nie potrafie zlokalizowac błędu. Z góry dziękuje za pomoc.
--
+---------------------------------------------------+
| *Dariusz Filipiak* |
+---------------------------------------------------+
|Argumentów nie należy liczyć, lecz ważyć. /Cyceron |
+---------------------------------------------------+
| darekfilipMAŁPAo2KROPKApl |
+---------------------------------------------------+
| http://darekfilip.ovh.org |
+---------------------------------------------------+
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads