Jimi Opublikowano 28 Czerwca 2005 Zgłoś Opublikowano 28 Czerwca 2005 Proszę powiedzcie mi jakie będa wartości rejestrów eax,ebx,esi,ecx po wykonaniu tego fragmentu programu od poczatku do etykiety koniec... dodatkowe pytanie, żeby podać w kodzie 16tkowym :P .. segment .data tab db 5,3,62,104,7,10 tablen equ $-tab segment .code mov ebx,tablen mov esi,tab mov eax,16 mov ecx,3 rep lodsb koniec nop mov eax,1 int 128 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
K3310pH Opublikowano 29 Czerwca 2005 Zgłoś Opublikowano 29 Czerwca 2005 (edytowane) LODSB: Transfers string element addressed by DS:SI (even if an operand is supplied) to the accumulator. po pierwsze: mov esi, tab -> nie da rady lea esi, tab albo mov esi, offset tab EAX = 3Eh (62) [ 3 element tablicy ] EBX = 6 [ wogole nie ma wplywu na dzialanie programu, to tylko rozmiar tablicy] ECX = 0 [ licznik ile razy wykona sie instrukcja rep, na poczatku 3, schodzi do 0 ] ESI = offset tab + 3 [ zwiekszony o 3 wskaznik do tablicy, wskazuje na jej 4 element ] Edytowane 29 Czerwca 2005 przez K3310pH Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...