C 프로그래밍 입문-무료강좌 따라하기-1

C 프로그래밍에 입문하기 위해 무료강좌를 듣기 시작했다.
헌데 강좌의 도입부에서 약간의 기초지식을 위해 어셈블러를 강의한다.

tool 로서 MS사의 Marcro Assembler 를 사용하다고하면서
상세한 설치과정등을 생략한 채 실습을 해보란다.

구글링 끝에 적절한 레퍼런스를 찾았다.

예제는 Visual Studio 버전 2010 을 기준했지만 최근버전인 2013을 사용해도 된다.

다만 AsmHighlighter1_5.vsix 파일의 용법에 관한 설명이 누락되어 있다.

 

TITLE ADD end Subtract (Addsub.asm)
;This program adds and ssubtracts 32-bit integers.
INCLUDE Irvine32.inc
.code
main PROC
    mov eax, 10000h
	add eax, 40000h
	sub eax, 20000h
	call DUMPRegs ; display resisters

	exit

main ENDP
END main

컴파일/실행 방법 :

VS2013_asmm_test1
VS2013_asmm_test1

위 그림같이 ‘ Start Without Debugging ‘ 을 누른다.

결과

캡처_result
캡처_result

이번에는 강좌내용의 코드를 실행(소프트웨어 인터럽트를 이용 화면에 “ABC”를 출력하는 예제)

MAIN	SEGMENT
			ASSUME CS:MAIN,DS:MAIN
START:	MOV DL,41H ; DL 레지스터에 'A'값 41H를 설정
		MOV AH,2   ; 명령 2번 설정
		INT 21H		; 시스템 호출
		MOV DL,42H ; DL 레지스터에 'B'값 42H를 설정
		MOV AH,2   ; 명령 2번 설정
		INT 21H		; 시스템 호출
		MOV DL,43H ; DL 레지스터에 'C'값 43H를 설정
		MOV AH,2   ; 명령 2번 설정
		INT 21H		; 시스템 호출
		MOV AH,4CH ; 프로그램 종료 명령
		INT 21H		; 프로그램 종료
MAIN ENDS
		END START
캡처_stop
캡처_stop

소셜댓글

Loading Facebook Comments ...
Loading Disqus Comments ...

No Trackbacks.