.

140618_Reversing_MS-DOS에서 ASM코딩

by 담배맛구마

IA-64(Server 군)

x86_64(AMD 64)

위의 둘은 서로 다른 것이다.


DOS1-1.ASM

.model small,STDCALL ; STDCALL(Windows에서 쓰는 함수호출하는 방식)

.stack 200h ; stack의 크기 지정

.386 ; CPU가 386버전


.code

main proc

mov ax,@data ; @data(Data Segment)를 ax에 넣는다.

mov ds,ax ; ax를 ds에 넣는다.

mov ah,1

int 21h ; DOS에는 미리 정의된 함수(인터럽트)들이 있다. 00h부터 FFh까지

 INT 21 - AH = 01 KEYBOARD INPUT

 입력받은 값을 al에 저장한다.

mov dl,al

mov ah,2

int 21h ; INT 21 - AH = 02 DISPLAY OUTPUT

 dl에 있는 값을 출력한다.

mov ah,4ch

int 21h ; INT 21 - AH = 4ch - EXIT

main endp


end main ; Entry Point를 main으로잡는다.


MASM611에서

1. masm으로 컴파일한다.

2. link로 컴파일한다.

※ 환경변수 path에 넣어두면 편하다.

3. EXE파일 생성이 된다.

반응형

블로그의 정보

정윤상이다.

담배맛구마

활동하기