• 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

42 Warsaw Coding Academy
0 głosów
638 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ź 791 wizyt
0 głosów
1 odpowiedź 624 wizyt
pytanie zadane 1 kwietnia 2019 w C i C++ przez BinaryMan Stary wyjadacz (12,620 p.)
0 głosów
0 odpowiedzi 95 wizyt
pytanie zadane 5 stycznia w Assembler przez Machu03 Nowicjusz (140 p.)

93,382 zapytań

142,382 odpowiedzi

322,539 komentarzy

62,738 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...