Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

ポインタ入門 i386 アセンブラ編

Avatar for 7shi 7shi
January 03, 2025

ポインタ入門 i386 アセンブラ編

C言語のポインタ経由の目盛り書き込みをi386のアセンブリ言語と比較します。

Avatar for 7shi

7shi

January 03, 2025
Tweet

More Decks by 7shi

Other Decks in Programming

Transcript

  1. 00000000:00 00 00 00 00 00 00 00 00000008:00 00

    00 00 00 00 00 00 MOV BYTE PTR[0x00000001],0x12 MOV WORD PTR[0x00000004],0xFECA MOV DWORD PTR[0x0000000A],0xEFBEADDE
  2. 00000000:00 12 00 00 00 00 00 00 00000008:00 00

    00 00 00 00 00 00 MOV BYTE PTR[0x00000001],0x12 MOV WORD PTR[0x00000004],0xFECA MOV DWORD PTR[0x0000000A],0xEFBEADDE
  3. 00000000:00 12 00 00 CA FE 00 00 00000008:00 00

    00 00 00 00 00 00 MOV BYTE PTR[0x00000001],0x12 MOV WORD PTR[0x00000004],0xFECA MOV DWORD PTR[0x0000000A],0xEFBEADDE
  4. 00000000:00 12 00 00 CA FE 00 00 00000008:00 00

    DE AD BE EF 00 00 MOV BYTE PTR[0x00000001],0x12 MOV WORD PTR[0x00000004],0xFECA MOV DWORD PTR[0x0000000A],0xEFBEADDE
  5. 00000000:00 12 00 00 CA FE 00 00 00000008:00 00

    DE AD BE EF 00 00 MOV BYTE PTR[0x00000001],0x12 MOV WORD PTR[0x00000004],0xFECA MOV DWORD PTR[0x0000000A],0xEFBEADDE
  6. 00000000:00 00 00 00 00 00 00 00 00000008:00 00

    00 00 00 00 00 00 *(char *)0x00000001 = 0x12; *(short *)0x00000004 = 0xFECA; *(long *)0x0000000A = 0xEFBEADDE;
  7. 00000000:00 12 00 00 00 00 00 00 00000008:00 00

    00 00 00 00 00 00 *(char *)0x00000001 = 0x12; *(short *)0x00000004 = 0xFECA; *(long *)0x0000000A = 0xEFBEADDE;
  8. 00000000:00 12 00 00 CA FE 00 00 00000008:00 00

    00 00 00 00 00 00 *(char *)0x00000001 = 0x12; *(short *)0x00000004 = 0xFECA; *(long *)0x0000000A = 0xEFBEADDE;
  9. 00000000:00 12 00 00 CA FE 00 00 00000008:00 00

    DE AD BE EF 00 00 *(char *)0x00000001 = 0x12; *(short *)0x00000004 = 0xFECA; *(long *)0x0000000A = 0xEFBEADDE;
  10. 00000000:00 12 00 00 CA FE 00 00 00000008:00 00

    DE AD BE EF 00 00 *(char *)0x00000001 = 0x12; *(short *)0x00000004 = 0xFECA; *(long *)0x0000000A = 0xEFBEADDE;