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 Disqus Comments ...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.