gcc -S -masm=intel tmp.c
でIntel記法のアセンブリを出力できる
# r8 register が指すメモリアドレスのデータを見る
(lldb)$ memory read '$r8'
# [$rbp - 8] が指すメモリアドレスのデータを見る
(lldb)$ memory read '*(char **)($rbp - 0x8)'
# int(4 bytes)のデータを見る
(lldb)$ memory read --size 4 --format x --count 1 '($rbp - 0x4)'
# 現在停止中の行から2行前、10行後を表示するように設定変更
# https://stackoverflow.com/questions/52274360/how-to-list-more-lines-of-code-code-in-lldb
(lldb)$ settings set stop-line-count-before 2
(lldb)$ settings set stop-line-count-after 10
# disassemble with intel syntax
$ objdump -D -x86-asm-syntax=intel a.out
- x86-64 アセンブリ Jun's Homepage
- assemblyでHelloWorld! (Mac)
- x86とx86_64における引数の渡し方の違いをまとめてみた
- lldb cheat sheet
- macOS (x86/x86-64) のシステムコールをアセンブラから呼んでみる
- Intel x86 JUMP quick reference
- X86アセンブラ/x86アーキテクチャ - Wikibooks
- x86アセンブリ言語での関数コール
- Chapter 11. x86 Assembly Language Programming - FreeBSD
- C言語とアセンブリ言語の相互呼び出し
- X86_64: レジスタについて
- lldbでIntel記法を使う
- Assembly-programming
- libasmTester (2019+)
- Call Stack - Wikipedia
- x86 Disassembly/Functions and Stack Frames - WIKIBooks
- 9.2 Calling of Assembly Language Routine from C Language
- 3.9 Local Labels - NASM Doc
- RET — Return from Procedure
- x86 Assembly Guide
- メモリ、バイト、レジスタ - Jun's Homepage
- x86-64のCalling Convention
- 初学者向け x86/MacOSX 64bit アセンブリ
- X86-64 Architecture Guide