[M1 Mac, Big Sur 11.6.8, clang 13.0.0, NO IDE]
アセンブル言語のコードを解読するため、LLDBを使ってレジスタ値の変化を表にまとめました。黄色のセルで値が変わっています。
register readコマンドでmain関数先頭行でのレジスタ値を出力し、nextコマンドで1行ずつ進めて都度レジスタ値を出力しました。
#include <stdio.h>
int main() {
int i = 1000;
char c[6] = {'a', 'b', 'c', 'd', 'e'};
char* c_ptr = 'xyz';
char* c_ptr2 = "stu"; // あえてダブルクォートを使用
printf("i: %d\n", i);
printf("c: %s\n", &c);
printf("c_ptr: %s\n", &c_ptr);
printf("c_ptr2: %s\n", &c_ptr2);
return 0;
}