Help nie działa mi jg, je itp.

0

W żadnym kodzie, który piszę, nie działają mi pętle, odpowiedniki if itp. (jcos). Próbowałam uruchamiać też kody z różnych kursów internetowych. Nie działało. Nwm czy kursy są przestarzałe, czy co, w każdym razie mi to nie działa. Używam Linuxa, 32bit, nasm.

0

Pokaż kod który ci nie działa i błąd kompilatora który dostajesz. Poza tym skoki to nie to samo ci pętle ;)

0

Chodziło mi o to, że nie działa mi jedno i drugie. Kompilator nie wywala błędów. Tylko podczas działania programu widać, że fragmenty typu
cmp eax, ebc
je costam
Są nie obsługiwane

4

Z tego co rozumiem to chcesz znaleźć największą liczbę z tych trzech zdefiniowanych w sekcji .data. Nie wiem czy zrobiłeś to świadomie, ale masz

dd '22'
dd '47'
dd '31'

tylko, że przez te '' nie będziesz miał w pamięci liczb 22, 47 i 31 tylko wartości ascii tych znaków czyli

dd '22' ; 0x32 0x32 0x0 0x0
dd '47' ; 0x34 0x37 0x0 0x0
dd '31' ; 0x33 0x31 0x0 0x0

i to chyba przez to Twoje skoki "nie są obsługiwane"

2
stryku napisał(a):

Z tego co rozumiem to chcesz znaleźć największą liczbę z tych trzech zdefiniowanych w sekcji .data. Nie wiem czy zrobiłeś to świadomie, ale masz

dd '22'
dd '47'
dd '31'

tylko, że przez te '' nie będziesz miał w pamięci liczb 22, 47 i 31 tylko wartości ascii tych znaków czyli

dd '22' ; 0x50 0x50 0x0 0x0
dd '47' ; 0x52 0x55 0x0 0x0
dd '31' ; 0x51 0x49 0x0 0x0

i to chyba przez to Twoje skoki "nie są obsługiwane"

Kody ASCII cyfr to:

0x30 > 0
0x31 > 1
0x32 > 2
itp.

Podałeś wartości decymalne, wzbogacone o znamiona heksadecymalne :D
Masz linka: http://www.asciitable.com/index/asciifull.gif

0

Ok, dziękuję za pomoc, instrukcje mi działają, po prostu ja popełniłam kilka błędów i to w kilku plikach, aczkolwiek pojedynczy przeskok w programie (używając tego nieszczęsnego cmp) działa, także zamykam temat.

1 użytkowników online, w tym zalogowanych: 0, gości: 1