• 검색 결과가 없습니다.

어셈블리어 및 실습 #7

N/A
N/A
Protected

Academic year: 2022

Share "어셈블리어 및 실습 #7"

Copied!
13
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

어셈블리어 및 실습 #7

- Editor / debug / 입출력

(2)

AcroEditor

여러가지 형식의 파일 편집이 가능

매크로 및 스크립트

반복되는 입력 작업을 단축키로 입력가능

문법 강조

Asm 파일 지원(사용자 자료실)

파일 비교 및 통합

AcroEdit는 공개 프로그램 이기 때문에 개인, 직장, 공

공기관 등 어디에서든 사용 가능.

(3)

설치 하기

http://www.acrosoft.pe.kr/board/

ver 0.9.23.104

(4)

문법 강조 설정

Masm 문법강조 파일

e-class에서 masm.stx 다운로드

C:\program_files\acrosoft\AcroEdit\Syntax 에 복사

(5)

실습 1

위 소스가 돌아갈 수 있게 전체 소스 작성

뒷 장의 템플릿 참조

ax가 0일 때 프로그램이 종료되도록 수정

mov ax, 6 mov bx, 2 jmp calc back:

jmp stop calc:

sub ax, bx jmp back stop:

;도스로 복귀

(6)

ASM Template Code

DSEG SEGMENT

;데이터들을 정의한다.

DSEG ENDS

SSEG SEGMENT STACK DW 100H DUP(?) SSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG, DS:DSEG, SS:SSEG START:

;데이터 세그먼트 주소 지정 MOV AX, DSEG

MOV DS, AX

;실제 프로그램 코드 작성

;도스로 복귀 MOV AH, 4CH INT 21H

CSEG ENDS END START

(7)

소프트웨어 인터럽트 (int 21h)

AH 값 명칭 동작

1 키보드 입력 키보드에 한문자가 타이핑 될때 까지 기다린다.

문자가 입력되면 그 문자의 ASCII코드를 AL에 저장한다. 입력된 문자는 디스플레이에 나타난 다.

2 디스플레이 스크린 출력

레지스터 DL에 들어있는 ASCII코드의 문자를 디스플레이 스크린에 프린트 한다.

9 스트링 디스플레이 DX가 가리키는 스트링을 디스플레이 한다. 이때 스트링의 끝은 ‘$’ 기호가 있어야 한다.

4c DOS로 복귀 프로그램을 실행을 종료하고 제어를 DOS로 넘 긴다.

(8)

코드 실행 방법

어셈블링 (컴파일)

ML /c 파일명(.asm)

링크

line16 파일명(.obj)

파일명 뒤에 ; 을 써주면 링크 과정 생략 가능

ex) link16 test.obj ;

실행

파일명(.exe)

디버그

debug 파일명(.exe)

(9)

Listing 파일 만들기 (ML 옵션)

ML /?

/c Assemble without linking

/Fl Generate listing

(10)

실습 2

DSEG SEGMENT TOTAL DB 14H COUNT DW 1000 DB ‘HI HELLO’

DB ‘4’

DW 10D DB 4, 9

STR1 DB ‘String output test $’

DSEG ENDS

SSEG SEGMENT STACK DW 100H DUP(?) SSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG, DS:DSEG, SS:SSEG START:

MOV AX, DSEG MOV DS, AX MOV AH, 9

MOV DX, OFFSET STR1 INT 21H

MOV AH, 4CH INT 21H

CSEG ENDS END START

(11)

디버그 실습

R [register] : 레지스터 확인

레지스터 값 변경 가능 ex) R cx

D [range] : 메모리 확인

특정 메모리 주소 값 확인 가능 ex) d 0BDB:0000

(12)

디버그 실습

T [=address] [number] : 명령어 수행

한 번에 여러 개 수행 가능 ex) t 10

G [=address] [addresses] : 특정 위치로 이동

ex) g 7 – IP가 7인 위치로 이동(그 전 명령들 수행)

Q : 디버그 종료

(13)

실습 3

위 소스를 실행해 보자

실행 가능하도록 소스 작성

참조

관련 문서

별의 진화에 대한 정보를 제공하는 관측적

• 생존경쟁에서 마지막까지 살아남고 자식을 벙창시킬 수 있는 특징을 가진 개체가 평귡거으로가장 많은 자손을 남기게 된다. • 한 지역 환경에서 생존과

[r]

거기서 나오는 빛인 너무 밝아서 지평선을 밝혔고 그 반짝거림은

• 은하들의 회전속도곡선은 대부분의 은하질량이 어두워서 관측되지 않는다는 사실을 보여준다. • 은하단에서의 중력렌즈

② 하나의 재산(그것이 여러 사람으로부터 기증되었거나 한 개인에 의해 기증된 경우를 막론하고)을 운영하는 것을 목적으로 하는 단체를 ‘재단법인’이라 한다. ③ 비영리공익사업을

② 예정원가 : 예정원가는 과거 제조경험을 고려하고 향후 제조환경을 반 영하여미래 산출될 것으로 기대하는 추정원가이다.. 공급자가 입찰 또는 견적에서 제시하는 가격은

기업은 매출채권의 원활한 회수관리 를 위하여 거래처마다 외상매출을 허용할 수 있는 금액의 한도, 즉 신용한도를 부여하고 있다.. 여신한도는 거래처에 외상매출할 수