?? macro.lst
字號:
194 0000 ;*******************************************************************************
195 0000 RR8 MACRO X,Y
196 0000 Local RR8_End,RR8_Modify_FF,RR8_Modify_FF_End
197 0000 mov a,X
198 0000 inc acc
199 0000 SZ Z
200 0000 jmp RR8_Modify_FF
201 0000 jmp RR8_Modify_FF_End
202 0000 RR8_Modify_FF:
203 0000 clr Y
204 0000 jmp RR8_End
205 0000
206 0000 RR8_Modify_FF_End:
207 0000 CLR C
208 0000 MOV A,X
209 0000 AND A,80H
210 0000 SNZ Z
211 0000 SET C
212 0000 RRCA X
213 0000 MOV Y,A
214 0000
215 0000
216 0000
217 0000 RR8_End:
218 0000 ENDM
219 0000 ;*******************************************************************************
220 0000 ; 8 bit shift left with signed
221 0000 ; use RL16 X,Z
222 0000 ; operation
223 0000 ;*******************************************************************************
224 0000 RL8 MACRO X,Y
225 0000 CLR C
226 0000 RLCA X
227 0000 MOV Y,A
228 0000 ENDM
229 0000
230 0000 ;*******************************************************************************
231 0000 ; 8 bit abs
232 0000 ; use ABS8 X,Y
233 0000 ; operation
234 0000 ;*******************************************************************************
235 0000 ABS8 MACRO X,Y
236 0000 Local ABS8_End
237 0000
238 0000 kmov y,x
239 0000 mov a,x
"File: MACRO.ASM Holtek Cross-Assembler Version 2.86 Page 5
240 0000 and a,80H
241 0000 SZ Z
242 0000 jmp ABS8_End
243 0000 CPL y
244 0000 INC y
245 0000
246 0000 ABS8_End:
247 0000
248 0000 ENDM
249 0000
250 0000
251 0000
252 0000
253 0000
254 0000
255 0000 ;*******************************************************************************
256 0000 ; kmov
257 0000 ; use kmov destination,source
258 0000 ; operation
259 0000 ;*******************************************************************************
260 0000 KMOV MACRO mem1,mem2
261 0000 mov a,mem2
262 0000 mov mem1,a
263 0000 ENDM
264 0000
265 0000 KOR MACRO mem1,mem2
266 0000 mov a,mem2
267 0000 orm a,mem1
268 0000 ENDM
269 0000
270 0000
271 0000
272 0000 ;*******************************************************************************
273 0000 ; make oled column address
274 0000 ; use oled_make_col_add source,MSB,LSB
275 0000 ;
276 0000 ;*******************************************************************************
277 0000 oled_make_col_add macro mem1,mem2,mem3
278 0000 mov a,0FH
279 0000 AND a,mem1
280 0000 mov mem3,a
281 0000 mov a,70H
282 0000 and a,mem1
283 0000 mov mem2,a
284 0000 clr c
285 0000 rrc mem2
286 0000 clr c
287 0000 rrc mem2
288 0000 clr c
289 0000 rrc mem2
290 0000 clr c
291 0000 rrc mem2
292 0000 set mem2.4
293 0000
294 0000 endm
295 0000
296 0000
297 0000
298 0000 ;***************************************
299 0000
"File: MACRO.ASM Holtek Cross-Assembler Version 2.86 Page 6
300 0000 XMOV MACRO mem2,mem1
301 0000 mov a,mem1
302 0000 mov mem2,a
303 0000 ENDM
304 0000 ;-------------------------------------
305 0000 ;;Move ARG2->ARG1(move by bit)
306 0000 xmov1 MACRO ARG1,ARG2
307 0000 LOCAL xmov1_1,xmov1_end
308 0000 sz ARG2
309 0000 jmp xmov1_1
310 0000 clr ARG1
311 0000 jmp xmov1_end
312 0000 xmov1_1:
313 0000 set ARG1
314 0000 xmov1_end:
315 0000 ENDM
316 0000 ;-------------------------------------
317 0000 ;;if MEM2=MEM1 =>Skip Next Instruction
318 0000 EQUJMP MACRO MEM2,MEM1
319 0000 MOV A,MEM1
320 0000 XOR A,MEM2
321 0000 SNZ Z
322 0000 ENDM
323 0000 ;;------------------------
324 0000
325 0000 ;;if MEM2!=MEM1 =>Skip Next Instruction
326 0000 NEJMP MACRO MEM2,MEM1
327 0000 MOV A,MEM1
328 0000 XOR A,MEM2
329 0000 SZ Z
330 0000 ENDM
331 0000 ;;------------------------
332 0000 ;;if (REG1==REG2) goto REG3
333 0000 JLER MACRO REG1,REG2,REG3
334 0000 mov a,REG1
335 0000 sub a,REG2
336 0000 sz z
337 0000 jmp REG3
338 0000 ENDM
339 0000 ;**********************************************
340 0000 ;MACRO: JLNR
341 0000 ;PURPOSE: REG1 != REG2 goto REG3
342 0000 ;**********************************************
343 0000 JLNR MACRO REG1,REG2,REG3
344 0000 mov a,REG1
345 0000 sub a,REG2
346 0000 snz z
347 0000 jmp REG3
348 0000 ENDM
349 0000 ;;------------------------
350 0000 ;;if MEM2>MEM1 =>Skip Next Instruction
351 0000 LBRJ MACRO MEM2,MEM1
352 0000 MOV A,MEM1
353 0000 SUB A,MEM2
354 0000 SZ C
355 0000 ENDM
356 0000 ;;------------------------
357 0000
358 0000 ;;if MEM2<=MEM1 =>Skip Next Instruction
359 0000 LSERJ MACRO MEM2,MEM1
"File: MACRO.ASM Holtek Cross-Assembler Version 2.86 Page 7
360 0000 MOV A,MEM1
361 0000 SUB A,MEM2
362 0000 SNZ C
363 0000 ENDM
364 0000 ;;------------------------
365 0000
366 0000 ;;if MEM2<MEM1 =>Skip Next Instruction
367 0000 LSRJ MACRO MEM2,MEM1
368 0000 MOV A,MEM2
369 0000 SUB A,MEM1
370 0000 SZ C
371 0000 ENDM
372 0000 ;;------------------------
373 0000
374 0000 ;;if MEM2>=MEM1 =>Skip Next Instruction
375 0000 LBERJ MACRO MEM2,MEM1
376 0000 MOV A,MEM2
377 0000 SUB A,MEM1
378 0000 SNZ C
379 0000 ENDM
380 0000 ;;------------------------
381 0000
382 0000 SWAPWORD MACRO DA
383 0000 EQU (DA>>8)+(DA<<8)
384 0000 ENDM
385 0000 ;;------------------------
386 0000
0 Errors
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -