2
--------------------------------------------------------------------------------
MOV ɰ
° ۸ɿ ؼ ؼ մϴ.
*.Ϳ ġ Ѵ.
*.Ϳ ̿ Ѵ.
*.Ϳ ̿ Ѵ.
ȭ鿡 " AB " ǥ ϴ α
MAIN SEGMENT ; Ʈ ˸ ǻ
ASSUME CS:MAIN ;
;
MOV DL,41H ; ƽŰڵ 41H ' A ' ̴.
MOV AH,2
INT 21H
MOV DL,'B'
MOV BL,2
MOV AH,BL
INT 21H
; ; ܼ Ե
MOV AH,4CH ; α
INT 21H
;
MAIN ENDS
END
ڱⰡ ۼ ҽα ״ Ʈ ȭ .LST
.ǻ , ۾ 帧
Ҷ ߿ ݴϴ.
⼭ MAIN ̸̵ .
ASSUME CS:MAIN
̶ ǻ Ҷ ڵ弼Ʈ(CS:) ϶
MAIN ̶ ̸ Ʈ ϶ ϴ Դϴ.
ASSUME 4 Ʈ(CS,DS,SS,ES) Ʈ ̸ Ű
ϴ.
ݵ CS:(ڵ弼Ʈ )
END . END ۹ Ҽִ.
α ⺻
AMIN SEGMENT
ASSUME CS:MAIN
..........
..........
MAIN ENDS
END
(comment, ּ) ¹
;
Դϴ. ; ڴ Դϴ.
8086 (register)
--------------------------------------------------------------------------------
AX,BX,CX,DX 8 Ʈ Ҽ ִ.
SI,DI,BP,SP 16 Ʈμ ۿ Ҽ .
Ư ǥ ʴ ġ 10μ ˴ϴ.
16 Ҷ ڿ H(Hexa decimal) ٿ ǥմϴ.
ġ ĺ Ҷ " 0 " ٿ ̸ ȥ Ѵ.
MOV DL, 41H ; DL <----- 41H 41H DL ϶.
+--- | | ----------+
| +----+ |
༱(DESTINATION), (SOURCE)
ý ȣ INT 21H <---- ͷƮ (interrupt-)
CPU ϴ Ű
MOV DL,'1' ; ڸ οȣ ʿ 쿡
ڿ ϴ ƽŰڵ尡 ֵ˴ϴ.
1 ƽŰڵ尪 31H ġ˴ϴ.
α ġ
MOV AH,4CH ; MS-DOS SYSTEM CALL 4CH ° ƾ
INT 21H ; α ġ OS ư.
δ (1)
--------------------------------------------------------------------------------
α߿ ΰ , Ϳ ϴ
̸ :
XXX DB 'X' ; DB define byte
YYY DW 3456H ; DW define word
| | ---------> ʱġ
| +---------------->
+-----------------------≯
DB ..... Ʈ
DW ..... (2Ʈ)
DD ..... (4Ʈ)
DQ ..... Ʈ (8Ʈ)
DT ..... 10 Ʈ
*. +----------+--------+-----------+
| ̸ | DB | |
+----------+--------+-----------+
Ʈ ϴ ASSUME ǻ
MAIN SEGMENT
ASSUME CS:MAIN, DS:MAIN
MAIN : Ʈ ø
CS:MAIN ڵ弼Ʈ MAIN ̶ ̸ Ʈ Ǿִٴ°
DS:MAIN ŸƮ MAIN ̶ ̸ Ʈ Ǿ ִٴ°
8086 Ÿ ŸƮ ִ μ ؼǹǷ ,ͼƮ
ִ° ؾѴ.
ɵ Ÿ Ѵ MAIN ̶ ̸ Ʈ Ƿ
ASSUME CS:MAIN, DS:MAIN
̰ ̴
Ÿ óϴ δ ʴ´
Ʈ ʱ⼳(initialize) ϱؼ
MOV AX,CS
MOV DS,AX
̿ͰϿ ,AX Ͽ DS CS ǰ Ͽ
2 Ʈ ġŰ ȵ˴ϴ.
̰ Դϴ.
⼭
MOV DS,CS
Ҽ ϴ.Ʈ (CS,DS,SS,ES) ͵ ۿ
ϴ Ǿ ʱ Դϴ.
Ʈ Ϳ ڳ Ҽ ϴ.
Ʈ
8A 16 0020 R
R .... ̶ (relative address) Ÿ ϴ.
δ (2)
--------------------------------------------------------------------------------
Ʈ δ
MAIN SEGMENT ---+
...... |
MAIN ENDS ---+
DATA SEGMENT ---+
..... |
DATA ENDS ---+ ̿ ΰ Ʈ ϰ Ѵ.
ASSUME CS:MAIN,DS:DATA
ϴ ִ 쿡 ʹ DATA ̸ Ʈ ִ
ϰ ۼ϶ Դϴ.
MOV AX,DATA
MOV DS,AX
Ʈ ʱ ϴ κԴϴ.
α Ҷ Ʈ θ ߿
Ʈ ִ° Ű澲 ʰ ,α ۼҼϴ.
(1)
--------------------------------------------------------------------------------
Ʈ ʹ Ͽ Ҽִ.
DB Ͽ ϴ 쿡 ' ABC ' Ͽ ڶ
Ҽ ϴ.
XXX DB 'ABC' ------+ ΰ.
XXX DB 'A','B','C' |
XXX DB 41H,42H,43H ---+
|
+---->DW,DD,DQ,DT ٸ ͵ Ҽ ֽϴ.
ġν ڿν ־ ѹ 2
ڿۿ ټ .
AAA DD 'AB','CD','EF'
AAA DD 'ABCD', 'EFGH' ȵȴ.
DB 쿡 Ưϰ 3 ̻ ڿ
'A','B','C' ϴ ſ 'ABC' Ҽִ.
, XXX ̸ ҿ Ǿִ
ִ°
MOV AL,XXX
ϸ XXX ҿ ڿ ó 'A'=41H AL
Ϳ ۵˴ϴ.(XXX ϴ ̸ ҿ ִ ALͿ ϶)
ڸ ִ (OFFSET ):
MOV BX,offset XXX
| ̸ ٿ ü BX Ϳ
+-----> Դϴ.
OFFSET : ̸ ٿ Ͱ ִ .
¹ : Ʈ
MOV BL,XXX ; BL XXX 8 Ʈ ̹Ƿ
MOV BX,XXX ; BX 16Ʈ , XXX 8Ʈ ̹Ƿ
[ ] :
[ ] [ ] δ.
MOV DL,[1FH] ; 1FH ִ DL ͷ ϶
BX ͳ XXX ó Ͱ DL ͷ ۵˴ϴ.
̰ ǥ մϴ.
2 ° ʹ +1 Ǿ Ƿ, ⼭ BX + 1
Ǵ Դϴ. BX+2,BX+3 .......
MOV DL,[BX+1]
[ ] Ÿ
Ǿ ִ ϰ ϴ.
̿ (indirect addressing )̶ θϴ.
MOV AX,[1234H]
μ
(direct addressing mode) ̶ θϴ
MAIN SEGMAIN ; *. Ʈ δ
ASSUME CS:CODE,DS:DATA
MOV AX,DATA
MOV DS,AX
+-----------+
| |
+-----------+
MAIN ENDS
DATA SEGMENT
XXX DB 'ABC'
DATA ENDS
END
(2)
--------------------------------------------------------------------------------
Ҽ ִ ʹ 4̴
BX,BP,SI,DI
ֱ ϴ 8086 ڰ س ̴.
[BX+DI]
[BX+SI+1]
̵鳢 մϴ
) [BX+SI+4]
BX=1000H
SI=1234H
1000H + 1234H + 4H = 2238H ȴ.
չ Ģ:
+----+ +-------+ +--------------+
| BX | | SI | | 16Ʈ |
| BP | + | DI | + | 8Ʈ |
|| | | | |
+----+ +-------+ +--------------+
[BP] ܵ Ҽ ϴ.
ܼ Դϴ ϰ ʹٸ [BP+0] մϴ.
MOV DL,[BX+SI]
; BX ۹ , SI 3 ,
DL η 4 ° Ʈ Ͱ DL Ϳ
. *.SI= 0 θ Ų.
) MOV5.ASM
ڿ" ABCDEFG" °, ټ° DE
MAIN SEGMENT
ASSDUME CS:MAIN,DS:DATA
;
MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET AAA
MOV SI,3
MOV DL,[BX+SI]
MOV AH,2
INT 21H
MOV DL,[BX+SI+1]
MOV AH,2
INT 21H
;
MAIN ENDS
;
DATA SEGMENT
AAA DB 'ABCDEFG'
;
DATA ENDS
END
*. ϴ Ϳ BP Ͱ ԵǴ 쿡 ,
ؼƮ(SS:) Ͱ ִ μ ؼȴ.
( BP ϴ° Դϴ. )
--------------------------------------------------------------------------------
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
;
MOV AX,DATA ; DS
MOV DS,AX
;
MOV BX,OFFSET AAA ; AAA BX
MOV AX,'AB' ; ϳ 8Ʈ
MOV [BX],AX ; BX Ű AAA 'AB' ִ´
MOV CX,AAA
MOV DL,CH ; DL A ִ´
MOV AH,2 ----+
INT 21H ----+ A δ.
MOV DL,CL ; DL B ִ´.
MOV AH,2 ----+ B δ.
INT 21H ----+
MOV AH,4CH
INT 21H ; ϰ OS εư.
;
CODE ENDS
;
DATA SEGMENT
AAA DW ; AAA ؼ Ȯ϶
DATA ENDS
END
AAA DW ? '? ' ڴ ƹ̶ ٶ ǹԴϴ.
̹ δ
MOV [BX+SI+5],1234H
MOV AAA,'AB'
մϴ.
MOV [BX],[SI+3]
̿ ,۷ Ҽ ϴ.
MOV BX,[0008] -----> 8 ´
ʰ ġ ϴ ̷
(direct addressing)̶ մϴ.
, MASM ̿ ӿ ϴ.
װ Ŀ (dynamic) ȰDZ ,
Ҽٰ DZ ̶ ˴ϴ.
EQU ǻ
--------------------------------------------------------------------------------
ϴ EQU ǻ
MAIN SEGMENT
ASSUME CS:MAIN
CHAR1 EQU 'A' ;'A' = 41H ˴ϴ --+
CHAR2 = 42H ; = ǰ |
DISP EQU 2 ; EQU ǰ Ұ, --+ Ҷ ġȯ
;
MOV DL,CHAR1
MOV AH,DISP
INT 21H
MOV DL,CHAR2
MOV AH,DISP
INT 21H
MOV AH,4CH
INT 21H
;
MAIN ENDS
END
EQU ǻɿ ǿ DB ǿ ̴ :
EQU ؼ - Ҷ ڷ ġȯ
DB ؼ - Ͱ Ǿ ִ μ ġȯ
)
MOV CHAR1,DL -----> Ұ
'=' ؼ ǵ ڸ ٽ Ҷ ,ٽ '=' ؼ Ѵ.
ۼ س鼭 ֱ ǵ ڸ
ڷν մϴ.
˴ϴ.
CHAR1 = 41H
MOV DL,CHAR1
CHAR1 = 56H
MOV DL,CHAR1
:
= 0041
0000 B2 41
= 0056
0002 B2 56
PTR
--------------------------------------------------------------------------------
(type):
Ʈ,(2Ʈ),(4Ʈ)
ũ ٰ ֵȴ.
)
۷忡 ũ ʿ
) , Դϴ.
MOV [BX],12H
BX 10H սô. ⼭
1) 10H Ʈ 12H Ұ,
2) 10H 11 0012H ϴ ˼ ϴ.
*.Ʈ *.嵥
| | | | | | | |
+--------+ +---------+ +---------+ +-------+
10H | 55 | 12H | 12 | 10H | 55 | 0012H | 12 |
+--------+------> +---------+ +---------+-------> +-------+
11H | 66 | | 66 | 11H | 66 | | 00 |
+--------+ +---------| +---------+ +-------+
| | | | | | | |
12H Ʈ ͷν 쿡 11H ʰ
12H ͷν 쿡 11H ϴ.
PTR
--------------------------------------------------------------------------------
Ȯϰ ϱϿ
MOV BYTE PTR [BX],12H ; PTR POINTER
MOV WORD PTR [BX],12H
̿ ۵Ǵ BYTE Ǵ WORD մϴ.
̶ PTR ̶ Ʈ (overwrite) ڿ Բ ϵ Ǿ ϴ.
Ǿ ִ DB ̵ DW ̵ BYTE , WORD ʴ Ҽ
ϴ.
MOV ɰ
---------------------------------
ADDRESING MODE:
*.ġ (immediate mode)
AAA EQU 1234H
MOV AX,AAA ; Ʈ Ʈ ̳ϰ
CS,DS,ES,SS IP,FL Ϳ ġ Ҽ ϴ.
*. ( )
ϴ
MOV DS,AX
MOV CL,BH ; ũⰡ ġϴ 8Ʈ Ȥ 16Ʈ Ѵ.
Ʈ Ͱ Ҽ . IP ,FL ʹ Ҽ ,
CS ͷ Ҽ ϴ.
*. ( )
ϴ Ǿ ִ - 2
1) BX,BP,SI,DI 4 Ϳ ڸ սŲ.
MOV AX,[BX+DI+4]
2) μ ϰ ,̸ Ͽ ϴ
MOV AX,AAA ; ڰ ִ ٿ ̸Ͽ ϴ°
Ŀ :
+- BX -+ +- SI -+ +- 8Ʈ -+
| BP | + | DI | + | 16Ʈ |
+- -+ +- -+ +- -+
ʴ չ
1) 8Ʈ ڸ ϴ ( 16Ʈ ƴϸ Ҽ )
MOV AX,[1234H] Ҽ .
Ͽ ϰ -
MOV BX,1234H
MOV AX,[BX] ; ȵ˴ϴ.
2) [BP] Ҽ .
[BP] ϰ [BP + 0 ] ϸ ȴ
Ҷ :
1) ڵ Ʈ ִٰ
2)ʹ Ʈ ִٰ ȴ.
3)BP ϴ ʹ Ʈ ִٰ ȴ.
4)α ó Ʈ ʱ⼳ ʿ
MOV AX,DATA
MOV DS,AX ; DATA Ÿ Ʈ .
MOV AX,CS
MOV DS,AX ; Ÿ Ʈ ڵ弼Ʈ .
ؼ Ʈ ̿ Ʈκ
ʹٴ Ʈ Ʈ Ƚ(segment overwrite prefix) ,
ɿ ؼ Ʈ ų,
ϴ.
)
MOV AX,ES:[BX]
MOV CS:[DI+2],CX
Ʈ Ʈ Ƚ 4 Դϴ.
CS:,DS:,SS:,ES:
MOV ۰
--------------------------------------------------------------------------------
MOV AX,CS
MOV DS,AX
· DS <---- CS ,Ʈ Ͱ
ʱ Դϴ.
,Ʈ Ϳ ڸ ϴ Ǿ ʽϴ.
IP,FL ʹ MOV ɿ Ҽ Ǿ ϴ.
CS Ϳ ʽϴ.
CS ʹ о⸸ մϴ.
|