1 | ****************************************
|
---|
2 | * *
|
---|
3 | * Essai de l'assembleur croisé 6805 *
|
---|
4 | * *
|
---|
5 | *--------------------------------------*
|
---|
6 | * *
|
---|
7 | * les instuctions commentées par * *
|
---|
8 | * sont des mnémos ajoutés par esprit *
|
---|
9 | * cartésien et soucis de cohérence *
|
---|
10 | * avec le code 6809 !!! *
|
---|
11 | * *
|
---|
12 | ****************************************
|
---|
13 |
|
---|
14 | TITLE ESSAIASM6805
|
---|
15 |
|
---|
16 | LED EQU 3 bit commande led
|
---|
17 | SWITCH EQU 7 bit interrupteur
|
---|
18 | PORTB EQU $0001
|
---|
19 | FLG SET 50
|
---|
20 |
|
---|
21 | ORG $0010 ram
|
---|
22 |
|
---|
23 | MEMPT RMB 2
|
---|
24 | VAR RMB 1
|
---|
25 |
|
---|
26 | PAGE
|
---|
27 | ORG $0080 rom
|
---|
28 |
|
---|
29 | CNST1 FCB 10
|
---|
30 | CNST2 FDB $1234
|
---|
31 | MESS FCC 'SALUTOHBRICOLEUR'
|
---|
32 | * INCLUD FILE include mis en
|
---|
33 | * commentaire !!
|
---|
34 |
|
---|
35 |
|
---|
36 | * Assemblage type 0
|
---|
37 | *
|
---|
38 | * adressage inherent
|
---|
39 | *---------------------------------------
|
---|
40 |
|
---|
41 | T0 TAX
|
---|
42 | TXA
|
---|
43 | SEC
|
---|
44 | CLC
|
---|
45 | SEI
|
---|
46 | CLI
|
---|
47 | SWI
|
---|
48 | RTS
|
---|
49 | RTI
|
---|
50 | RSP
|
---|
51 | NOP
|
---|
52 | STOP
|
---|
53 | WAIT
|
---|
54 | INCA
|
---|
55 | INCX
|
---|
56 | DECA
|
---|
57 | DECX
|
---|
58 | CLRA
|
---|
59 | CLRX
|
---|
60 | COMA
|
---|
61 | COMX
|
---|
62 | NEGA
|
---|
63 | NEGX
|
---|
64 | ROLA
|
---|
65 | ROLX
|
---|
66 | RORA
|
---|
67 | RORX
|
---|
68 | LSLA
|
---|
69 | LSLX
|
---|
70 | LSRA
|
---|
71 | LSRX
|
---|
72 | ASLA *
|
---|
73 | ASLX *
|
---|
74 | ASRA
|
---|
75 | ASRX
|
---|
76 | TSTA
|
---|
77 | TSTX
|
---|
78 |
|
---|
79 |
|
---|
80 | * Assemblage type 1
|
---|
81 | *
|
---|
82 | * adressage PC relatif -128..+127
|
---|
83 | *
|
---|
84 | * BRA LABEL
|
---|
85 | * BRA LABEL+1
|
---|
86 | * BRA *+25
|
---|
87 | *---------------------------------------
|
---|
88 |
|
---|
89 | T1 BRA *
|
---|
90 | BRN T1
|
---|
91 | BHI *
|
---|
92 | BLS *
|
---|
93 | BCC *
|
---|
94 | BHS *
|
---|
95 | BCS *
|
---|
96 | BLO *
|
---|
97 | BNE *
|
---|
98 | BEQ *
|
---|
99 | BHCC *
|
---|
100 | BHCS *
|
---|
101 | BPL *
|
---|
102 | BMI *
|
---|
103 | BMC *
|
---|
104 | BMS *
|
---|
105 | BIL *
|
---|
106 | BIH *
|
---|
107 | BSR *
|
---|
108 |
|
---|
109 |
|
---|
110 | * Assemblage type 2
|
---|
111 | *
|
---|
112 | * INC [<]<exp. 8 bits> direct
|
---|
113 | *
|
---|
114 | * INC ,X indexe pas
|
---|
115 | * d'offset
|
---|
116 | * INC [<]<exp. 8 bits>,X indexe offset
|
---|
117 | * sur 8 bits
|
---|
118 | *---------------------------------------
|
---|
119 |
|
---|
120 | T2 INC VAR
|
---|
121 | INC ,X
|
---|
122 | INC CNST2,X
|
---|
123 | DEC VAR
|
---|
124 | CLR VAR
|
---|
125 | COM VAR
|
---|
126 | NEG VAR
|
---|
127 | ROL VAR
|
---|
128 | ROR VAR
|
---|
129 | LSL VAR
|
---|
130 | LSR VAR
|
---|
131 | ASL VAR *
|
---|
132 | ASR VAR
|
---|
133 | TST VAR
|
---|
134 |
|
---|
135 |
|
---|
136 | * Assemblage type 3
|
---|
137 | *
|
---|
138 | * BRSET #<exp. 3 bits>,
|
---|
139 | * [<]<exp. 8 bits>,
|
---|
140 | * <déplacement relat. -128..127>
|
---|
141 | *---------------------------------------
|
---|
142 |
|
---|
143 | T3 BRSET #SWITCH,PORTB,T1
|
---|
144 | BRCLR #SWITCH,<PORTB,T2
|
---|
145 |
|
---|
146 |
|
---|
147 | * Assemblage type 4
|
---|
148 | *
|
---|
149 | * BSET #<exp. 3 bits>,
|
---|
150 | * [<]<exp. 8 bits>
|
---|
151 | *---------------------------------------
|
---|
152 |
|
---|
153 | T4 BSET #LED,PORTB
|
---|
154 | BCLR #LED,<PORTB
|
---|
155 |
|
---|
156 |
|
---|
157 | * Assemblage type 5
|
---|
158 | *
|
---|
159 | * STA [<]<exp. 8 bits>
|
---|
160 | * STA [>]<exp. 16 bits>
|
---|
161 | * STA ,X
|
---|
162 | * STA [<]<exp. 8 bits>,X
|
---|
163 | * STA [>]<exp. 16 bits>,X
|
---|
164 | *
|
---|
165 | * Nb: si '<' impose mode direct
|
---|
166 | * si '>' impose mode étendu
|
---|
167 | * si rien fait au mieux selon expres
|
---|
168 | *---------------------------------------
|
---|
169 |
|
---|
170 | T5 STA VAR
|
---|
171 | STA >VAR
|
---|
172 | STA ,X
|
---|
173 | STA <VAR,X
|
---|
174 | STA >VAR,X
|
---|
175 | STX VAR
|
---|
176 | JMP T1
|
---|
177 | JMP FINPRG
|
---|
178 | JMP ,X
|
---|
179 | JMP T1,X
|
---|
180 | JMP FINPRG,X
|
---|
181 | JSR T1
|
---|
182 |
|
---|
183 |
|
---|
184 | * Assemblage type 6
|
---|
185 | *
|
---|
186 | * LDA #<exp. 8 bits>
|
---|
187 | * LDA [<]<exp. 8 bits>
|
---|
188 | * LDA [>]<exp. 16 bits>
|
---|
189 | * LDA ,X
|
---|
190 | * LDA [<]<exp. 8 bits>,X
|
---|
191 | * LDA [>]<exp. 16 bits>,X
|
---|
192 | *
|
---|
193 | * Nb: si '<' impose mode direct
|
---|
194 | * si '>' impose mode étendu
|
---|
195 | * si rien fait au mieux selon expres
|
---|
196 | *---------------------------------------
|
---|
197 |
|
---|
198 | T6 LDA #CNST1
|
---|
199 | LDA #25
|
---|
200 | LDA #$23
|
---|
201 | LDA VAR
|
---|
202 | LDA >VAR
|
---|
203 | LDA $1000
|
---|
204 | LDA ,X
|
---|
205 | LDA <VAR,X
|
---|
206 | LDA >$1235,X
|
---|
207 | LDX #CNST1
|
---|
208 | ADD #CNST1
|
---|
209 | ADC #CNST1
|
---|
210 | SUB #CNST1
|
---|
211 | SBC #CNST1
|
---|
212 | AND #CNST1
|
---|
213 | ORA #CNST1
|
---|
214 | EOR #CNST1
|
---|
215 | CMP #CNST1
|
---|
216 | CPX #CNST1
|
---|
217 | BIT #CNST1
|
---|
218 |
|
---|
219 | ADDA #CNST1 *
|
---|
220 | ADCA #CNST1 *
|
---|
221 | SUBA #CNST1 *
|
---|
222 | SBCA #CNST1 *
|
---|
223 | ANDA #CNST1 *
|
---|
224 | EORA #CNST1 *
|
---|
225 | CMPA #CNST1 *
|
---|
226 | CMPX #CNST1 *
|
---|
227 | BITA #CNST1 *
|
---|
228 |
|
---|
229 | FINPRG EQU *
|
---|
230 | END
|
---|