BYTE 5.1 PG 56 A computer controlled light dimmer Part 1
BYTE 5.2 PG 72 A computer controlled light dimmer Part 2
BYTE 4.10 PG 202
addr value of address label or absolute address
adrr =addr-2-PC, relitive address
im byte immediate
fp byte offset in first page memory
imwd =im,im word immediate
xx =im index offset
a accumulator registor
0 A
1 B
mm memory address mode
00 immediate op #<immediate value>
01 first page op <address in first page>
10 index op <offset>,X
11 absolute op <absolute address>
d direction
0 load
1 store
maop Math Operation
0000 SUB
0001 CMP
0100 AND
0101 BIT
0110 LDA
0111 STA
1000 EOR
1001 ADC
1010 ORA
1011 ADD
1100 CPX
PC program counter register
A First accumulator register
B second accumulator register
X index register
P CCR Condition Code Register
H Half carry 5
I Interrupt mask 4
N Negative 3
Z Zero 2
V oVerflow 1
C Carry 0
S Stack pointer register
01 NOP
02
03
04
05
06 TAP ;P=A Transfer to CCR
07 TPA ;A=P Transfer from CCR
08 INX ;Increment X, Compare with 0?
09 DEX ;Decrement X, Compare with 0?
0A CLV ;Clear Overflow
0B SEV ;Set Overflow
0C CLC ;Clear Carry
0D SEC ;Set Carry
0E CLI ;Clear IRQ Mask
0F SEI ;Set IRQ Mask
16 TAB ;Transfer A to B?
17 TBA ;Transfer B to A
18 ;?
19 DAA ;Decimal adjust accumulator
1B ABA ;A=A+B Add accumulators
20 ar BRA adrr ; Skip (Branch Always)
21 ar BRN adrr ; Branch Never
22 ar BHI adrr ;C|Z=0? Branch Higher
23 ar BLS adrr ;C|Z=1? Branch Lower or Same
24 ar BCC adrr ;C=0? Branch Carry Clear
25 ar BCS adrr ;C=1? Branch Carry Set
26 ar BNE adrr ;Z=1? Branch Not Equal
27 ar BEQ adrr ;Branch Equal
28 ar BVC adrr ;Branch oVerflow Clear
29 ar BVS adrr ;Branch Half Carry Set
2A ar BPL adrr ;N=0? Branch Plus
2B ar BM1 adrr ;N=1? Branch Minus
2C ar BGE adrr ;N^V=0? Branch Greater than or Equal
2D ar BLT adrr ;N^V=1? Branch Less Than
2E ar BGT adrr ;Z|{N^V}=0? !Z&!{N^V}=1? Branch Greater than
2F ar BLE adrr ;Z|{N^V}=1? Branch Less than or Equal
32 PUL A
33 PUL B
34 DES ;Decrement Stack, Compare with 0?
35
36 PSH A
37 PSH B
38
39 RTS ;RETURN
3A
3B RTI ;Return from interrupt?
80 12 SUB A #18
90
A0
B0
81 im CMP A im
91 fp CMP A fp
A1 xx CMP A xx,X
B1 addr CMP A addr
C1 im CMP B im
D1 fp CMP B fp
E1 xx CMP B xx,X
F1 addr CMP B addr
1amm 0100
84 im AND A im ;A=A&im And A with immediate byte
94 fp AND A fp ;A=A&(fp) And A with first page memory byte at immediate byte
A4 xx AND A xx,X ;A=A&(xx+X) And A with memory byte at X+byte offset
B4 addr AND A addr ;A=A&(addr) And A with memory byte at addr
C4 im AND B im ;B=B&im And B with immediate byte
D4 fp AND B fp ;B=B&(fp) And B with first page memory byte at immediate byte
E4 xx AND B xx,X ;B=B&(xx+X) And B with memory byte at X+byte offset
F4 addr AND B addr ;B=B&(addr) And B with memory byte at addr
1amm 0101
85 im BIT A im ;A&im Bit test
95 fp BIT A fp ;A&(fp)
A5 xx BIT A xx,X ;A&(xx+X)
B5 addr BIT A addr ;A&(addr)
C5 im BIT B im ;B&im
D5 fp BIT B fp ;B&(fp)
E5 xx BIT B xx,X ;B&(xx+X)
F5 addr BIT B addr ;B&(addr)
1amm 011d ; Load Accumulator register
86 3F LDA A #$3F ;Load A byte immediate
96 20 LDA A RNDM ;Load A with byte memory at first page address byte immediate
A6 00 LDA A 0,X ;Load A with byte memory at X+byte immediate
B6 A000 LDA A ASSA ;Load A with byte memory at word immediate
C6 18 LDA B $24 ;Load B byte immediate (24d is 18h)
D6 20 LDA B RNDM ;Load B with byte memory at first page address byte immediate
E6 00 LDA B 0,X ;Load B with byte memory at X+byte immediate
F6 A000 LDA B ASSA ;Load B with byte memory at word immediate
87 ; not used?
97 22 STA A RNDM+2 ;Store A in first page memory address byte immediate (RNDM is at address 20 in first page)
A7 00 STA A 0,X ;Store A in memory at X+byte immediate
B7 ; not used?
C7 ; not used?
D7 22 STA B RNDM+2 ;Store B in first page memory address byte immediate (RNDM is at address 20 in first page)
E7 02 STA B 2,X ;Store B in memory at X+byte immediate
F7 ; not used?
88
98 20 EOR A RNDM ;XOR
A8
B8
C8
D8
E8
F8
1amm 1001
89 im ADC A im ;A=A+im+C Add A with Carry to immediate byte
99 fp ADC A fp ;A=A+(fp)+C Add A with Carry to first page memory byte at immediate byte
A9 xx ADC A xx,X ;A=A+(xx+X)+C Add A with Carry to memory byte at X+byte offset
B9 addr ADC A addr ;A=A+(addr)+C Add A with Carry to memory byte at addr
C9 im ADC B im ;B=B+im+C Add B with Carry to immediate byte
D9 fp ADC B fp ;B=B+(fp)+C Add B with Carry to first page memory byte at immediate byte
E9 xx ADC B xx,X ;B=B+(xx+X)+C Add B with Carry to memory byte at X+byte offset
F9 addr ADC B addr ;B=B+(addr)+C Add B with Carry to memory byte at addr
1amm 1010
8A im ORA A im ;A=A|im ORA with byte immediate
9A fp ORA A fp ;A=A|(fp) ORA with byte in first page address
AA xx ORA A xx,X ;A=A|(xx+X) ORA with byte at X+byte offset
BA addr ORA A addr ;A=A|(addr) ORA with byte at memory address word immediate
CA im ORA B im ;B=B|im ORB with byte immediate
DA fp ORA B fp ;B=B|(fp) ORB with byte in first page address
EA xx ORA B xx,X ;B=B|(xx+X) ORB with byte at X+byte offset
FA addr ORA B addr ;B=B|(addr) ORB with byte at memory address word immediate
1amm 1011
8B im ADD A im ;A=A+im Add A to immediate byte
9B fp ADD A fp ;A=A+(fp) Add A to first page memory byte at immediate byte
AB xx ADD A xx,X ;A=A+(xx+X) Add A to memory byte at X+byte offset
BB addr ADD A addr ;A=A+(addr) Add A to memory byte at addr
CB im ADD B im ;B=B+im Add B to immediate byte
DB fp ADD B fp ;B=B+(fp) Add B to first page memory byte at immediate byte
EB xx ADD B xx,X ;B=B+(xx+X) Add B to memory byte at X+byte offset
FB addr ADD B addr ;B=B+(addr) Add B to memory byte at addr
8C 0013 CPX #$13 ;
9C 75 CPX SaveSum ;SaveSum equates to 75
AC
BC
CC
DC
EC
FC
8D os BSR <PC-addr> ;(S--)=PC, PC=PC+2+os Branch to Service Routine at PC+offset+2
9D ;?
AD xx JSR xx,X ;(S--)=PC, PC=X+xx Jump to Service Routine at indeX plus immediate byte
BD 012C JSR addr RANDOM ;(S--)=PC, PC=addr Jump to Service Routine at immediate word (CALL) RANDOM is at address 012C
CD
DD
ED
FD
1pmm 111d ; Load Pointer register p=Stack/Index mm=Immediate/FirstPage/Index/Address d=Load/Store
8E 8004 LDS #PIAD ;Load Stack pointer with immediate word
9E 56 LDS fp WTBLRP ;Load Stack pointer with first page memory word at byte immediate
AE xx LDS xx,X ;Load Stack pointer with memory word at indeX plus byte immediate
BE A000 LDS addr ASSA ;Load Stack pointer with memory word at word immediate
CE 8004 LDX #PIAD ;Load indeX with immediate word
DE 23 LDX fp TBLADR ;Load indeX with word memory at byte immediate in first page (TBLADR is at address 0023 in first page)
EE xx LDX xx,X ;Load indeX with word memory at indeX plus byte immediate
FE A000 LDX addr ASSA ;Load indeX with word memory at word immediate
8F STS ? ;
9F 56 STS fp WTBLRP ;Store Stack pointer in first page memory address byte immediate (WTBLRP is at address 56 in first page)
AF xx STS xx,X ;Store Stack pointer in memory word at indeX plus byte immediate
BF addr STS addr ;Store Stack pointer in memory word at word immediate
CF 8004 STX #PIAD ? ;
DF 23 STX fp TBLADR ;Store indeX in memory word at first page memory address plus byte immediate (TBLADR is at address 23 in first page)
EF xx STX xx,X ;Store indeX in memory word at indeX plus byte immediate
FF A000 STX addr ASSA ;Store indeX in memory word at word immediate
40 NEG A ;?
50 NEG B
60
70
41
51
61
71
42
52
62
72
43 COM A ;Complement A
53
63
73 44 COM MPTPAT
44 LSR A ;Logical Shift Right
54 LSR B ;Shift right
64 xx LSR xx,X
74 addr LSR addr
45 ASR A ;Arithmetic Shift Right
55 ASR B
65 xx ASR xx,X
75 addr ASR addr
46 ROR A
56 ROR B
66 00 ROR 0,X
76 0022 ROR RNDM+2
47 ASR A ;A=A/2 Arithmetic Shift Right
57 ASR B ;B=B/2
67 xx ASR xx,X ;(xx+X)=(xx+X)/2
77 addr ASR addr ;(addr)=(addr)/2
48 ASL A ;A=A*2 Arithmetic Shift Left
58 ASL B ;B=B*2
68 xx ASL xx,X ;(xx+X)=(xx+X)*2
78 addr ASL addr ;(addr)=(addr)*2
49 ROL A ;A=A<<
59 ROL B
69 xx ROL xx,X
79 addr ROL addr
4A DEC A
5A DEC B
6A 02 DEC 2,X
7A XXXX DEC (XXXX) ;?
4B
5B
6B
7B
4C INC A ;?
5C INC B
6C 02 INC 2,X
7C 8006 INC PIA
4D TST A ;
5D TST B ;
6D 02 TST 2,X ;
7D XXXX TST (XXXX) ;GOOD
4E
5E
6E
7E 0100 JMP START
4F CLR A
5F CLR B
6F 02 CLR 2,X ;
7F 49 CLR ENDGAM ;ENDGAM is at 49 in first page
| file: /Techref/6800/Ops.htm, 8KB, , updated: 1999/1/2 00:12, local time: 2025/10/24 14:28,
216.73.216.188,10-3-157-36:LOG IN
|
| ©2025 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://massmind.ecomorder.com/Techref/6800/Ops.htm"> 6800 Ops</A> |
| Did you find what you needed? |
Welcome to ecomorder.com! |
Welcome to massmind.ecomorder.com! |
.