📄 macro.lst
字号:
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 ;******* set tmr0
271 0000 STMR0 MACRO tm0h,tm0l
272 0000 mov a,tm0h
273 0000 mov tmr0h.a
274 0000 mov a,tm0l
275 0000 mov tmr0l,a
276 0000 ENDM
277 0000
278 0000
279 0000
280 0000 ;*******************************************************************************
281 0000 ; make oled column address
282 0000 ; use oled_make_col_add source,MSB,LSB
283 0000 ;
284 0000 ;*******************************************************************************
285 0000 oled_make_col_add macro mem1,mem2,mem3
286 0000 mov a,0FH
287 0000 AND a,mem1
288 0000 mov mem3,a
289 0000 mov a,70H
290 0000 and a,mem1
291 0000 mov mem2,a
292 0000 clr c
293 0000 rrc mem2
294 0000 clr c
295 0000 rrc mem2
296 0000 clr c
297 0000 rrc mem2
298 0000 clr c
299 0000 rrc mem2
"File: MACRO.ASM Holtek Cross-Assembler Version 2.86 Page 6
300 0000 set mem2.4
301 0000
302 0000 endm
303 0000
304 0000
305 0000
306 0000 ;***************************************
307 0000
308 0000 XMOV MACRO mem2,mem1
309 0000 mov a,mem1
310 0000 mov mem2,a
311 0000 ENDM
312 0000 ;-------------------------------------
313 0000 ;;Move ARG2->ARG1(move by bit)
314 0000 xmov1 MACRO ARG1,ARG2
315 0000 LOCAL xmov1_1,xmov1_end
316 0000 sz ARG2
317 0000 jmp xmov1_1
318 0000 clr ARG1
319 0000 jmp xmov1_end
320 0000 xmov1_1:
321 0000 set ARG1
322 0000 xmov1_end:
323 0000 ENDM
324 0000 ;-------------------------------------
325 0000 ;;if MEM2=MEM1 =>Skip Next Instruction
326 0000 EQUJMP MACRO MEM2,MEM1
327 0000 MOV A,MEM1
328 0000 XOR A,MEM2
329 0000 SNZ Z
330 0000 ENDM
331 0000 ;;------------------------
332 0000
333 0000 ;;if MEM2!=MEM1 =>Skip Next Instruction
334 0000 NEJMP MACRO MEM2,MEM1
335 0000 MOV A,MEM1
336 0000 XOR A,MEM2
337 0000 SZ Z
338 0000 ENDM
339 0000 ;;------------------------
340 0000 ;;if (REG1==REG2) goto REG3
341 0000 JLER MACRO REG1,REG2,REG3
342 0000 mov a,REG1
343 0000 sub a,REG2
344 0000 sz z
345 0000 jmp REG3
346 0000 ENDM
347 0000 ;**********************************************
348 0000 ;MACRO: JLNR
349 0000 ;PURPOSE: REG1 != REG2 goto REG3
350 0000 ;**********************************************
351 0000 JLNR MACRO REG1,REG2,REG3
352 0000 mov a,REG1
353 0000 sub a,REG2
354 0000 snz z
355 0000 jmp REG3
356 0000 ENDM
357 0000 ;;------------------------
358 0000 ;;if MEM2>MEM1 =>Skip Next Instruction
359 0000 LBRJ 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 SZ C
363 0000 ENDM
364 0000 ;;------------------------
365 0000
366 0000 ;;if MEM2<=MEM1 =>Skip Next Instruction
367 0000 LSERJ MACRO MEM2,MEM1
368 0000 MOV A,MEM1
369 0000 SUB A,MEM2
370 0000 SNZ C
371 0000 ENDM
372 0000 ;;------------------------
373 0000
374 0000 ;;if MEM2<MEM1 =>Skip Next Instruction
375 0000 LSRJ MACRO MEM2,MEM1
376 0000 MOV A,MEM2
377 0000 SUB A,MEM1
378 0000 SZ C
379 0000 ENDM
380 0000 ;;------------------------
381 0000
382 0000 ;;if MEM2>=MEM1 =>Skip Next Instruction
383 0000 LBERJ MACRO MEM2,MEM1
384 0000 MOV A,MEM2
385 0000 SUB A,MEM1
386 0000 SNZ C
387 0000 ENDM
388 0000 ;;------------------------
389 0000
390 0000 SWAPWORD MACRO DA
391 0000 EQU (DA>>8)+(DA<<8)
392 0000 ENDM
393 0000 ;;------------------------
394 0000
0 Errors
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -