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

question-closed Wybrana ilość słów w pętli w assemblerze

Object Storage Arubacloud
0 głosów
414 wizyt
pytanie zadane 1 grudnia 2020 w Assembler przez Tomek Gawlina Nowicjusz (150 p.)
zamknięte 2 grudnia 2020 przez Tomek Gawlina

Cześć wszystkim, mam do napisania kod w języku assemblera (kompilator NASM), który z wykorzystaniem pętli wyświetli 20 razy zdanie "Alan ma kota". Aktualnie doszedłem do etapu, gdzie to wyrażenie pojawia się tylko raz po każdorazowej kompilacji, nie wiem jak spowodować, by ta pętla wykonała się dokładnie 20 razy. Proszę o pomoc.

 

segment .data
msg     db      "Alan ma kota", 0Ah

segment .text
        global  _start

_start:

    mov eax, msg
    
poczatek_petli:
        mov     eax, 4
        mov     ebx, 1
        
        mov     ecx, msg
        mov     edx, 13

cmp ecx, 20
jae koniec_petli

loop poczatek_petli

        int     80h
    
    koniec_petli:

	int     80h 


; wyjscie z programu
     mov     eax, 1
        xor     ebx, ebx
        int     0x80

 

komentarz zamknięcia: zadanie rozwiązane

1 odpowiedź

+1 głos
odpowiedź 2 grudnia 2020 przez akasei Obywatel (1,620 p.)
wybrane 2 grudnia 2020 przez Tomek Gawlina
 
Najlepsza
segment .data
msg     db      "Alan ma kota", 0Ah
 
segment .text
        global  _start
 
_start:
         mov     rsi,20

loop:
        mov     eax, 4
        mov     ebx, 1
        mov     ecx, msg
        mov     edx, 13
        int    80h

        dec     rsi
        jnz     loop
 
; koniec
        mov     eax, 1
        xor     ebx, ebx
        int    0x80

 

komentarz 2 grudnia 2020 przez akasei Obywatel (1,620 p.)
da się to jeszcze bardziej skrócić, ale nie wiem jakie rejestry modyfikuje przerwanie 0x80 dla podanej procedury
komentarz 2 grudnia 2020 przez Tomek Gawlina Nowicjusz (150 p.)
Dziękuję Panie akaseiu - teraz zrozumiałem jak kluczyłem w temacie, ale tego bym się nie spodziewał, uratował mi Pan życie! Tylko elita potrafi tak sprawnie programować w assemblerze. Każdy kto będzie to czytał w przyszłości - ten Pan wie co pisze. Przy okazji świętowania z okazji zaliczenia jednego z trudniejszych przedmiotów w moim studiowaniu wzniosę za Pana toast. Życzę dużo zdrowia, pomyślności na forum i wszystkiego dobrego. Pozdrawiam serdecznie :-)

Podobne pytania

+1 głos
1 odpowiedź 502 wizyt
0 głosów
1 odpowiedź 410 wizyt
pytanie zadane 1 kwietnia 2019 w C i C++ przez BinaryMan Stary wyjadacz (12,620 p.)
0 głosów
1 odpowiedź 189 wizyt
pytanie zadane 27 stycznia 2021 w Assembler przez MaTiDxxx Początkujący (290 p.)

92,575 zapytań

141,424 odpowiedzi

319,650 komentarzy

61,961 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...