1581, 1/80 ȸ  α  
   asdzxc301
   2

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=1135 []


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 ʹ о⸸ մϴ.




  Hit : 8507     Date : 2008/12/13 11:06



    
     [] ¸ ø Ӹ ޾ּ^^ [29] ۸ 02/27 18684
1580   Ե ް ͽϴ     vbnm111
02/11 140
1579   Ŀ 2.6 LKM     jdo
07/25 647
1578   ڵ      ŷϰʹ
01/15 1457
1577   Call by value VS Call by Reference     ŷϰʹ
01/15 847
1576   (ļ) L.O.B ѹ濡 Ŭϱ[2]     ŷϰʹ
01/14 1162
1575   towelroot.c (zip) ڸ.[1]     scube
08/18 3686
1574   levitator.c (ȵ̵ ) м ҽ ڵ .[4]     scube
08/17 3614
1573        chanjung111
06/17 4406
1572   K-Shield ִϾ 5      lrtk
06/17 4150
1571   [] ̽ 2ҽ 3 ִ Ʈ[3]     ѽ
05/13 3843
1570   鸵ũ ۾      wkatnxka
03/30 3297
1569   [] ̷     ѽ
03/09 3984
1568 бԴϴ  ڳ׿̤    
01/15 3
1567   迭 ذ     ѽ
11/27 4460
1566   ȫմϴ. Ż Ŀ´ƼԴϴ.     kimwoojin0952
10/26 4195
1565   ű α׷ [3]     koreal33t
09/06 4591
1564   , ip Ȯ [1]     koreal33t
09/06 3792
1563   CTF Ʈ[1]     koreal33t
09/06 4444
1562   ڰ ()Ʈ [2]     koreal33t
09/06 4262
1 [2][3][4][5][6][7][8][9][10]..[80]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org