08 ( CPU08) 8- . CPU08 (. 4.46) , , , , .
() 8- , , . .
(:)- 16- (- , - ). - . . CPU08 , . X. 0, , 05. X.
(PC) 16- , , . , $FFFE ( ) $FFFF ( ). .
(SP) - 16- , . CPU05, 08 . 2 , - 5 . , CPU05 , CPU08 PC, , X CCR, . $OOFF, .
(CCR)- 8- , 6 : (), (Z), (N), (V), (), (I). Z N (. ). CPU08 8- Motorola - .
1 , SWI. , I = 0, PC, , X , 1 . , I = 1, . , I . RTI ( ) I 0 . CPU08 : CLI - , SEI - .
|
|
I 1, . ( I 0) CLI.
08 :
(INH - Inherent);
(IMM - Immediate);
(DIP - Direct);
(EXT - Extended);
(IX - Indexed);
(1X1 - Indexed, 8 bit offset);
(IX2 - Indexed, 16 bit offset);
(IX+ - Indexed with post incrementer);
(1X1+ - Indexed, 8 bit offset with post incrementer);
(SP1 - Stack pointer, 8 bit
offset);
(SP2 - Stack pointer, 16 bit offset);
(PEL - Relative).
. , - , STOP RTI.
, , , SEC INCA. 1 .
. . 1 . , , .. . 2 . - #:
.
ADD #opr;3 ADD .
ADD #3; 3,
; .
ORA #$0;
; $. .
. 2 . , , . 08 , $00 -$FF, , $00. - :
.
ADD opr; ADD .
|
|
ADD $31;
; $0031. .
ORA $0;
; $0031. .
. 3 . , , . . . , . , .
.
ADD opr; ADD .
ADD $011;
; $011. .
LDX $011; X
011h
. 1 , . :.
.
ADD,X; ADD .
ADD,X; ,
; :.
LDA,; ,
; :.
1 . 2 . , - , . :, . : . .
.
ADD opr.X; ADD
; , .
ADD $80,; ,
; (:)+128.
LDA $1,; ,
; (:)+1.
2 . 3 . , - . :. :. . 1 2 . . , .
ADD opr.X; ADD
; , .
ADD $0100,X; ,
; (:)+512.
LDA $01FF.X; ,
; (:)+1023.
. -
MOV CBEQ. :. : 1.
|
|
.
MOV X+,opr; MOV
; .
MOV +,$68; $68 ,
; :. 1
; :.
CBEQ X+,rel; CBEQ
; .
CBEQ X+,m1; ,
; :. ml
; . 1 :.
.
CBEQ.
:, . : , . . : 1.
.
CBEQ opr,X+,rel; CBEQ
; .
CBEQ $80,X+,m1;
; , (:)+128. ml
; . 1 :.
1 . 3 . , - . SP, . SP . .
ADD opr.SP; ADD
; .
ADD $80,SP; ,
; (SP)+128.
LDA $1,SP; ,
; (SP)+1.
2 . 4 . , - . SP. SP. . 1 2 . . , .
.
ADD opr.SP; ADD
; .
ADD $0100,SP; ,
; (SP)+512. LDA $01 FF.SP
; ,
; (SPJ+1023.
. , . . , - . : -128 +127.
|
|
, ,
,
. ,
.
. , .
JZ table1; lablel, 0.