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.
Help nie działa mi jg, je itp.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Space: the final frontier
- Postów: 26433
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 ;)
- Rejestracja: dni
- Ostatnio: dni
- Postów: 12
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
- Rejestracja: dni
- Ostatnio: dni
- Postów: 12
- Rejestracja: dni
- Ostatnio: dni
- Postów: 607
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"
- Rejestracja: dni
- Ostatnio: dni
- Postów: 211
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