• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Asembler kod CMP, JE problem

0 głosów
966 wizyt
pytanie zadane 12 maja 2020 w Assembler przez evela Nowicjusz (120 p.)

Witam, czy ktoś po trafi mi wytłumaczyć bo nigdzie nie mogę znaleźć, próbuje zrozumieć ten kod: 

MOV AX, 01  

CMP AX, 00    

JE  L7   

MOV BX, 01   

L7: MOV BX, 2

Pierwszą linijkę rozumiem, przypisanie 01 do AX, druga linijka porównanie czy 00 = AX?, trzecia linijka JE wiem, że to przeskok jeśli x=y a L7 to jakaś etykieta? Ale nie wiem jak to zrozumieć no i L7:MOV BX, 2 już wogóle nie czaje, czy może mi to ktoś wytłumaczyć łopatologicznie? :D Z góry dziękuje i pozdrawiam

 

1 odpowiedź

+1 głos
odpowiedź 12 maja 2020 przez VirtualMember Pasjonat (15,790 p.)
Tak, L7 to etykieta. Tak, cmp to porównanie. Tak JE to jump if equal.  L7:MOV BX, 2  jest po prostu beznadziejnie zapisane. Chodzi o to, że od tego miejsca wykonuje się kod za etykietą L7. Z reguły pisze się po prostu tak:

 L7:

       MOV BX, 2

       (być może następne instrukcje)
komentarz 12 maja 2020 przez evela Nowicjusz (120 p.)
Czyli jeśli AX != 00 to nie przeskakuje do tej etykiety tak? Czyli zawartość BX to będzie 01 a nie 2?
1
komentarz 12 maja 2020 przez VirtualMember Pasjonat (15,790 p.)
Jeśli nie będzie przeskoku to będzie wykonywał pokolei dalej polecenia czyli najpierw zrobi 1 a potem przestawi na 2
komentarz 12 maja 2020 przez evela Nowicjusz (120 p.)

@VirtualMember, hmm czyli jeśli w pierwszej linijce byłoby MOV AX, 00 to program by przeskoczył do etykiety L7 i BX by wynosił 2? To w sumie bez sensu jest ta linijka MOV BX, 01 bo i tak czy siak BX będzie mieć wartość 2. Dobrze rozumiem?

1
komentarz 12 maja 2020 przez VirtualMember Pasjonat (15,790 p.)
tak, dokładnie. I tak zostanie nadpisane
komentarz 12 maja 2020 przez evela Nowicjusz (120 p.)

Super, dziękuję bardzo za wyjaśnienie smiley

Podobne pytania

0 głosów
0 odpowiedzi 250 wizyt
pytanie zadane 1 grudnia 2023 w Assembler przez hutsalo1998 Użytkownik (540 p.)
0 głosów
0 odpowiedzi 608 wizyt
pytanie zadane 8 grudnia 2019 w Assembler przez Vlad Nowicjusz (120 p.)
+1 głos
2 odpowiedzi 860 wizyt
pytanie zadane 6 lutego 2018 w Assembler przez Paweł Piech Użytkownik (720 p.)

93,774 zapytań

142,731 odpowiedzi

323,383 komentarzy

63,378 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...