성엽이
KKIMSSI
성엽이
전체 방문자
오늘
어제
  • 분류 전체보기 (454)
    • :) (2)
    • C프로그래밍이론 (9)
    • C++프로그래밍 (64)
      • STL (1)
    • C# (2)
    • Visual studio 10.0 (9)
    • AT91SAM7S256 (21)
    • 논리회로 (14)
    • AVR2560 (11)
    • TCPIP (16)
    • NetWork (4)
      • Ubuntu Linux (2)
    • Assembly (21)
    • UNIX 프로그래밍 (6)
    • RFID 분석 (1)
    • Win32 API (7)
    • Cortex-M3 (4)
    • Unity (91)
    • Flutter (9)
    • OwnProject (11)
      • It's mine (5)
      • 마인드스톰 실습 (1)
      • 보고서 자료 (2)
      • RPi B+ (2)
    • ETC (25)
      • 상식 (3)
    • MFC (40)
    • PostgeSQL (18)
    • 영상제어 (6)
      • VFW_영상처리 (1)
    • Python (0)
    • Java (30)
      • SpringBoot (2)
      • Javascript (1)
      • JSP (13)
      • Spring (8)
    • Oracle (4)
      • SQL (3)
    • HTML (6)
      • Thymeleaf (1)
      • CSS (1)
      • Bootstrap (3)
    • IDE (1)
      • VS Code (1)
    • Android (2)
    • Privacy Policy (0)
    • MYSQL (2)
      • MariaDB (2)
    • AWS (5)
    • 개인공부 (0)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록
  • 관리자
  • 글쓰기

공지사항

인기 글

태그

  • Boot Code 분석
  • MFC
  • ARM Reverse Engineering
  • WINAPI
  • 문자열 나누기

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
성엽이

KKIMSSI

2013.08.23_ASM_Debug 모드 및 이론설명
Assembly

2013.08.23_ASM_Debug 모드 및 이론설명

2013. 8. 23. 20:41

To Debug Information 

  • 사용방법

Compile 과 Link 를 할때.



/Zi 와 /debug 를 붙이면 Debug Mode 가 가능하다.



NASM 안에 debugger 실행 파일이 있을것이다. 이를 실행하면



  • 이 화면이 나온다. 여기서 


  • Open Executable 을 누르면 실행파일을 열 수 있다.

  • 실행파일을 열면 Command 창에서 로딩


  • View 에서 보고싶은 Value 들을 클릭하면 창이 생성되고, 메모리 같은 경우에는 따로 옵션을 주어줄 수 있다. 아래와 같이 !




  • 디버그진행은 위에 탭창에 Step Into(F11 or F8) 을 이용하여 진행상황을 볼 수 있다.


  • 위는 &number1 ( number1 의 주소 ) 의 메모리와 레지스터를 켜둔 상태이다. 오른쪽, 레지스터 변화는 글자색이 빨간색으로 변하고, 밑에 메모리에도 직접적으로 헥사값과 주소, 아스키코드로 적힌다.

Assembly 언어

  • 구성

: Instruction , Directives, Macro 


   Instruction : CPU에 직접 내리는 명령, 4부분으로 구성된다.


   레이블         니모닉         피연산자         ;주석

   Lable :        Mnemonic   Operand(s)    ;Comment


  ※레이블은 이동 장소(위치)를 뜻한다. 레이블 뒤에는 항상 (:) 이 붙어 있어야 한다.

  ※니모닉은 CPU에 명령을 하는 코드를 쉽게 보기위해서 바꿔놓은 영문자이다.

  ※피연산자는 니모닉에 맞게 갯수와 형태를 정해줄 수 있다.

  ※주석앞에는 항상 (;) 이 존재하여야 한다.


   Directives : 어셈블언어로 특정한 수행을 한다. 함수를 만들때, 메모리 모델을 설정할때( DATA, CODE, STACK.. 등등 )

  사용된다.


  Macro : 하나의 문장이나 컴퓨터 명령어를 여러개의 명령문으로 확장하는 방법 이라고 정의 되어있으며, Instruction 으로 만든 확장된 명령문으로 보면 되겠다.



  ※ 참고 

  



----- NASM ----


NASM.zip


----------------

저작자표시 (새창열림)

'Assembly' 카테고리의 다른 글

2013.08.27_EFLAGS레지스터의구조  (0) 2013.08.27
2013.08.27_ASM_APPENDIX 활용하기 and 4장 Basic Instruction  (0) 2013.08.27
2013.08.26_ASM_Constant, Instruction Operand(s) 해석  (0) 2013.08.27
2013.08.21_Visual Studio 10.0 을 이용한 Disassembly  (0) 2013.08.22
2013.08.14_ASM_테스트  (0) 2013.08.14
    'Assembly' 카테고리의 다른 글
    • 2013.08.27_ASM_APPENDIX 활용하기 and 4장 Basic Instruction
    • 2013.08.26_ASM_Constant, Instruction Operand(s) 해석
    • 2013.08.21_Visual Studio 10.0 을 이용한 Disassembly
    • 2013.08.14_ASM_테스트
    성엽이
    성엽이

    티스토리툴바