ROUTINE1: MOV AX, BX
  ADD AX, CX
  ADD AX, DX
  .
  .

ROUTINE2: MOV AX, BX
  ADD AX, CX
  ADD AX, DX
  .
  .

<정의>
ROUTINE MACRO LAB, COUNT
LAB: MOV AX, BX
 ADD AX,CX

 IFE COUNT-1
 EXITM
 ENDIF

 ADD AX, DX
 ENDM

<호출>
ROUTINE ROUTINE1, 2
ROUTINE ROUTINE2, 1

<확장>
ROUTINE1: MOV AX, BX
  ADD AX, CX
  ADD AX, DX

ROUTINE2: MOV AX, BX
  ADD AX, CX

 

'Programming > ASM' 카테고리의 다른 글

합을 더하는 어셈 소스  (0) 2013.05.13
asm 명령어  (0) 2013.05.05
MASM32 및 필수파일  (0) 2013.04.29
어셈블리 퀘스천 답안지  (0) 2013.04.16
교수님의 프로그램  (0) 2013.03.16

Ldr(+0xC)
디버깅 프로세스는 힙 (heap)메모리 영역에 자신이 디버깅 당하는 프로세스라는 표시를 합니다. 그 중에서 아주 눈에 듸는 특징이 있는데요. 바로 힙 메모리의 사용되지 않는 영역을 0xFEEEEEE 값으로 채워버립니다. 이것은 프로세스가 디버깅을 당할때 나타나는 흔적입니다. 이 특징을바탕으로 프로세스의 디버깅 여부를 판별할 수 있습니다.
PEB.Ldr 멤버는 _PEB_LDR_DATA 구조체를 가리키는 포인터 입니다. 마침 _PEB_LDR_DATA 구조체는 힙 메모리 영역에 생성되기 때문에 이 영역을 스캔 해보면 쉽게 알수 있습니다.

+ Recent posts