まとめ:クリーンな終了
CoddyのAssemblyジャーニー「基礎」セクションの一部 — レッスン 34/45。
あなたはシステムコール、exitシステムコール、そして終了コードについて学びました。今、これらすべてを組み合わせて、最初の完全に動作するプログラムを作成します。
完全なプログラムには以下が必要です:
| コンポーネント | 役割 |
|---|---|
section .text | コードを記述する場所 |
global _start | リンカーにプログラムの開始位置を伝えます |
_start: | 実行が開始されるラベル |
| Exitシステムコール | プログラムを正常に終了させます |
有効なプログラムの構成要素:
プログラムには上記のすべてが含まれている必要があります。exitシステムコールは mov rax, 60 を使用し、rdi に終了コードを設定して、syscall を呼び出します。
なぜこれが重要なのか:
個別の命令を書く段階から、完全なプログラムを書く段階へと進みました。今後作成するすべてのプログラムは、この同じ構造に従うことになります。
チャレンジ
終了コード 0 (成功) で終了する、完全なアセンブリプログラムを記述してください。標準的な構造である section .text、global _start、_start:、および exit システムコールを使用してください。
自分で試してみよう
; TODO: 終了コード 0 で終了する完全なプログラムを作成してください
; section .text、global _start、_start:、および exit システムコールを使用してください