Podsumowanie: konfiguracja write
Część sekcji Podstawy ścieżki Assembly w Coddy. Lekcja 42 z 45.
Wyzwanie
Napisz kompletny program, który wypisuje:
<code>Start
<code>Middle
End
Każde słowo w osobnym wierszu. Użyj trzech oddzielnych ciągów znaków i trzech wywołań systemowych write.
Wywołanie systemowe exit musi być uwzględnione.
Spróbuj swoich sił
section .data
; TODO: Zdefiniuj trzy ciągi znaków ze znakami nowej linii
; TODO: Zdefiniuj ich długości
section .text
global _start
_start:
; TODO: Wypisz wiersze podane w instrukcjach, po jednym na każde TODO, w podanej kolejności
; TODO: Wypisz wiersze podane w instrukcjach, po jednym na każde TODO, w podanej kolejności
; TODO: Wypisz dokładnie tekst z instrukcji
; TODO: Zakończ działanie programu poprawnieWszystkie lekcje w sekcji Podstawy
1Maszyna
Czym jest CPUPamięćRejestry a pamięćJak działają instrukcjeWzorzec dwóch plikówArchitektura x86-642Systemy liczbowe
Dlaczego system binarny?Liczby binarneZamiana z systemu dziesiętnego na binarnyDlaczego system szesnastkowy?Zamiana z systemu szesnastkowego na dziesiętnyZamiana z systemu dziesiętnego na szesnastkowyASCII i system szesnastkowy5Wywołanie systemowe zakończenia
Czym jest syscall?Wywołanie systemowe zakończenia (60)Kody zakończeniaPodsumowanie: prawidłowe zakończenie3Pierwsza instrukcja – MOV
Czym jest MOV?MOV z wartością natychmiastowąMOV między rejestramiMOV z pamięci do rejestruMOV z rejestru do pamięciLEA – załaduj adresMOV z różnymi rozmiaramiĆwiczenie: zamiana rejestrówPowtórka: wyzwanie MOV6Wywołanie systemowe write
Wywołanie systemowe write (1)Deskryptor pliku (rdi)Adres bufora (rsi)Liczba bajtów (rdx)Połączmy elementyWyświetlanie dwóch ciągówZnak nowej linii ma znaczeniePodsumowanie: konfiguracja writePoćwicz samodzielnie: Edytor online Assembly