📄 main.lst
字号:
271 DEC MEM+1
272 ?skip#
273 DEC MEM
274 PLA
275 ENDM
276
277 HERE MACRO
278 ?HHH#
279 WDT_RST
280 JMP ?HHH#
281 ENDM
282
283 SMBx MACRO MEM,BIT
284 LDA #(01h<<BIT)
285 ORA MEM
286 STA MEM
287 ENDM
288
289 RMBx MACRO MEM,BIT
290 LDA #(0FFh^(01h<<BIT))
291 AND MEM
292 STA MEM
293 ENDM
294
295 XMBx MACRO MEM,BIT
296 LDA #(01h<<BIT)
297 EOR MEM
298 STA MEM
299 ENDM
300
301
302 BR0 MACRO PARA,VAR,LABLE
303 BBR@<VAR> PARA,LABLE
304 ENDM
305
306 BR1 MACRO PARA,VAR,LABLE
307 BBS@<VAR> PARA,LABLE
308 ENDM
309
310 LBR0 MACRO PARA,VAR,LABLE
311 LDA #(01h<<VAR)
312 AND PARA
313 BEQ LABLE
314 ENDM
315
316 LBR1 MACRO PARA,VAR,LABLE
317 LDA #(01h<<VAR)
318 AND PARA
319 BNE LABLE
Mon Oct 23 2006 11:57 Page 10
320 ENDM
321
322 LSETB MACRO PARA,VAR
323 LDA #(01h<<VAR)
324 ORA PARA
325 STA PARA
326 ENDM
327
328 LCLRB MACRO PARA,VAR
329 LDA #(0FFh^(01h<<VAR))
330 AND PARA
331 STA PARA
332 ENDM
333
334 ;ZPFlagBN EQU Bytes
335 ;ZPFlag DB ZPFlagBN
336 ;fMelody EQU 0
337
338 JB MACRO var,label
339 if ZPFlagBN>(var/8)
340 BBS@<var.mod.8> ZPFlag+var/8,label
341 else
342 ---FAIL--- Flag out of range
343 endif
344 ENDM
345
346 JNB MACRO var,label
347 if ZPFlagBN>(var/8)
348 BBR@<var.mod.8> ZPFlag+var/8,label
349 else
350 ---FAIL--- Flag out of range
351 endif
352 ENDM
353
354 SETB MACRO var
355 if ZPFlagBN>(var/8)
356 SMB@<var.mod.8> ZPFlag+var/8
357 else
358 ---FAIL--- Flag out of range
359 endif
360 ENDM
361
362 CLRB MACRO var
363 if ZPFlagBN>(var/8)
364 RMB@<var.mod.8> ZPFlag+var/8
365 else
366 ---FAIL--- Flag out of range
367 endif
368 ENDM
369
370 EORB MACRO var
371 if ZPFlagBN>(var/8)
372 LDA #(01h<<(var.mod.8))
373 EOR ZPFlag+var/8
374 STA ZPFlag+var/8
375 else
376 ---FAIL--- Flag out of range
377 endif
Mon Oct 23 2006 11:57 Page 11
378 ENDM
379
380 xJB MACRO flag,bit,label
381 BBS@<bit> flag,label
382 ENDM
383
384 xJNB MACRO flag,bit,label
385 BBR@<bit> flag,label
386 ENDM
387
388 xSETB MACRO flag,bit
389 SMB@<bit> flag
390 ENDM
391
392 xCLRB MACRO flag,bit
393 RMB@<bit> flag
394 ENDM
395
396 xEORB MACRO flag,bit
397 LDA #(01h<<bit)
398 EOR flag
399 STA flag
400 ENDM
401
402 LCD32CxSx MACRO Cx,Sx
403 DB 32/8*Cx+Sx/8,(01h<<(Sx.mod
.8))
404 ENDM
405
406 LCD32CxSS MACRO Cx,Sx,Sxx
407 DB 32/8*Cx+Sx/8,(01h<<(Sx.mod
.8))+(01h<<(Sxx.mod.8))
408 ENDM
409
410 LCD32CxSb MACRO Cx,Sx
411 DB 32/8*Cx+Sx/8
412 ENDM
413
414 LCD40CxSx MACRO Cx,Sx
415 DB 40/8*Cx+Sx/8,(01h<<(Sx.mod
.8))
416 ENDM
417
418 LCD48CxSx MACRO Cx,Sx
419 DB 48/8*Cx+Sx/8,(01h<<(Sx.mod
.8))
420 ENDM
421
422 LCD40CxSS MACRO Cx,Sx,Sxx
423 DB 40/8*Cx+Sx/8,(01h<<(Sx.mod
.8))+(01h<<(Sxx.mod.8))
424 ENDM
425
426 LCD40CxSb MACRO Cx,Sx
427 DB 40/8*Cx+Sx/8
428 ENDM
429
430 LCD40CxSxb MACRO Cx,Sx
Mon Oct 23 2006 11:57 Page 12
431 DB 40/8*Cx+Sx/8,Sx.mod.8
432 ENDM
433
434 LCD40Cx MACRO Cx
435 DB 40/8*Cx
436 ENDM
437
438 LCD60CxSx MACRO Cx,Sx
439 DB 6*Cx+Sx/8,(01h<<(Sx.mod.8)
)
440 ENDM
441
442
443 SHIFT_LEFT_B MACRO memL,memH
444 LDLN memH
445 STHN memH
446 LDHN memL
447 STLN memH
448 ENDM
449
450 SHIFT_LEFT_B0 MACRO mem
451 LDLN mem
452 STHN mem
453 LDA #00h
454 STLN mem
455 ENDM
456
457 SHIFT_RIGHT_B MACRO memL,memH
458 LDHN memL
459 STLN memL
460 LDLN memH
461 STHN memL
462 ENDM
463
464 SHIFT_RIGHT_B0 MACRO mem
465 LDHN mem
466 STLN mem
467 LDA #00h
468 STHN mem
469 ENDM
470
471 SHIFT_RIGHT_B1 MACRO mem
472 LDHN mem
473 STLN mem
474 LDA #01h
475 STHN mem
476 ENDM
477
478 SHIFT_LEFT_B1 MACRO memL,memH
479 LDHN memL
480 STLN memH
481 ENDM
482
483 SHIFT_LEFT_X MACRO memL,memH
484 LDLN_X memH
485 STHN_X memH
486 LDHN_X memL
487 STLN_X memH
Mon Oct 23 2006 11:57 Page 13
488 ENDM
489
490 SHIFT_LEFT_X0 MACRO mem
491 LDLN_X mem
492 STHN_X mem
493 LDA #00h
494 STLN_X mem
495 ENDM
496
497 SHIFT_RIGHT_X MACRO memL,memH
498 LDHN_X memL
499 STLN_X memL
500 LDLN_X memH
501 STHN_X memL
502 ENDM
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -