📄 mdesign.ls1
字号:
00D9 00 454 DB 000H
00DA 00 455 DB 000H
00DB 00 456 DB 000H
00DC 00 457 DB 000H
00DD 00 458 DB 000H
00DE 00 459 DB 000H
00DF 80 460 DB 080H
00E0 01 461 DB 001H
00E1 00 462 DB 000H
00E2 00 463 DB 000H
00E3 00 464 DB 000H
00E4 00 465 DB 000H
00E5 00 466 DB 000H
00E6 00 467 DB 000H
00E7 80 468 DB 080H
00E8 01 469 DB 001H
00E9 00 470 DB 000H
00EA 00 471 DB 000H
00EB 00 472 DB 000H
00EC 00 473 DB 000H
00ED 00 474 DB 000H
00EE 00 475 DB 000H
00EF 80 476 DB 080H
00F0 FF 477 DB 0FFH
00F1 FF 478 DB 0FFH
00F2 FF 479 DB 0FFH
00F3 FF 480 DB 0FFH
00F4 FF 481 DB 0FFH
00F5 FF 482 DB 0FFH
00F6 FF 483 DB 0FFH
00F7 FF 484 DB 0FFH
485
486
---- 487 RSEG ?C_INITSEG
0000 02 488 DB 002H
0001 00 F 489 DB timer
0002 0000 490 DW 00000H
491
0004 01 492 DB 001H
0005 00 F 493 DB LastKey
0006 FF 494 DB 0FFH
495
0007 08 496 DB 008H
0008 00 F 497 DB LastPoint
0009 00 498 DB 000H
000A 00 499 DB 000H
000B 00 500 DB 000H
000C 00 501 DB 000H
000D 00 502 DB 000H
000E 00 503 DB 000H
000F 00 504 DB 000H
0010 00 505 DB 000H
506
507 ; #include <reg52.h>
508 ; #include <intrins.h>
509 ; #include <stdlib.h>
510 ; #include <math.h>
511 ; #include "KS0108.H"
512 ;
513 ; #include "BlockGame.h"
514 ; #include "KS0108.H"
515 ;
516 ; #define BLOCKSIZE 4
517 ;
518 ; #define KEY P0
519 ;
A51 MACRO ASSEMBLER MDESIGN 04/12/2008 10:44:53 PAGE 9
520 ; sbit kAutoRun = KEY^0;
521 ; sbit kMoveTurn = KEY^1;
522 ; sbit kMoveLeft = KEY^2;
523 ; sbit kMoveRight = KEY^3;
524 ; sbit kMoveDown = KEY^4;
525 ;
526 ; UINT16 timer=0;
527 ; UINT8 LastKey=0xFF;
528 ;
529 ; BLOCK_GAME idata myGame;
530 ;
531 ; UINT8 LastPoint[4][2]={0,0,0,0,0,0,0,0};
532 ;
533 ; /**********延时程序**********
534 ; i delay time/us
535 ; 1 5
536 ; 2 7
537 ; 3 9
538 ; ****************************/
539 ; void Delay(UINT16 i)
540
---- 541 RSEG ?PR?_Delay?MDESIGN
0000 542 L?0115:
543 USING 0
0000 544 L?0116:
0000 7F10 545 MOV R7,#010H
0002 7E27 546 MOV R6,#027H
0004 547 _Delay:
548 USING 0
549 ; SOURCE LINE # 33
550 ;---- Variable 'i?040' assigned to Register 'R6/R7' ----
551 ; {
552 ; SOURCE LINE # 34
0004 553 ?C0001:
554 ; while(--i);
555 ; SOURCE LINE # 35
0004 EF 556 MOV A,R7
0005 1F 557 DEC R7
0006 7001 558 JNZ ?C0106
0008 1E 559 DEC R6
0009 560 ?C0106:
0009 14 561 DEC A
000A 4E 562 ORL A,R6
000B 70F7 563 JNZ ?C0001
564 ; }
565 ; SOURCE LINE # 36
000D 566 ?C0003:
000D 22 567 RET
568 ; END OF _Delay
569
570 ;
571 ; void ClrLastPoint(void)
572
---- 573 RSEG ?PR?ClrLastPoint?MDESIGN
0000 574 ClrLastPoint:
575 USING 0
576 ; SOURCE LINE # 38
577 ; {
578 ; SOURCE LINE # 39
579 ; UINT8 i;
580 ; for(i=0;i<4;i++)
581 ; SOURCE LINE # 41
582 ;---- Variable 'i?141' assigned to Register 'R7' ----
0000 E4 583 CLR A
0001 FF 584 MOV R7,A
0002 585 ?C0004:
A51 MACRO ASSEMBLER MDESIGN 04/12/2008 10:44:53 PAGE 10
586 ; {
587 ; SOURCE LINE # 42
588 ; LastPoint[i][0]=0;
589 ; SOURCE LINE # 43
0002 EF 590 MOV A,R7
0003 25E0 591 ADD A,ACC
0005 2400 F 592 ADD A,#LOW (LastPoint)
0007 F8 593 MOV R0,A
0008 E4 594 CLR A
0009 F6 595 MOV @R0,A
596 ; LastPoint[i][1]=0;
597 ; SOURCE LINE # 44
000A EF 598 MOV A,R7
000B 25E0 599 ADD A,ACC
000D 2400 F 600 ADD A,#LOW (LastPoint+01H)
000F F8 601 MOV R0,A
0010 E4 602 CLR A
0011 F6 603 MOV @R0,A
604 ; }
605 ; SOURCE LINE # 45
0012 0F 606 INC R7
0013 BF04EC 607 CJNE R7,#04H,?C0004
608 ; }
609 ; SOURCE LINE # 46
0016 610 ?C0007:
0016 22 611 RET
612 ; END OF ClrLastPoint
613
614 ;
615 ; void ClrLastBlock(void)
616
---- 617 RSEG ?PR?ClrLastBlock?MDESIGN
0000 618 ClrLastBlock:
619 USING 0
620 ; SOURCE LINE # 48
621 ; {
622 ; SOURCE LINE # 49
623 ; UINT8 i;
624 ; if( (0==LastPoint[0][0] &&0==LastPoint[0][1])
625 ; SOURCE LINE # 51
0000 E500 F 626 MOV A,LastPoint+02H
0002 7009 627 JNZ ?C0009
0004 E500 F 628 MOV A,LastPoint+03H
0006 7005 629 JNZ ?C0009
0008 FE 630 MOV R6,A
0009 7F01 631 MOV R7,#01H
000B 8004 632 SJMP ?C0010
000D 633 ?C0009:
000D 7E00 634 MOV R6,#00H
000F 7F00 635 MOV R7,#00H
0011 636 ?C0010:
0011 E500 F 637 MOV A,LastPoint
0013 7009 638 JNZ ?C0011
0015 E500 F 639 MOV A,LastPoint+01H
0017 7005 640 JNZ ?C0011
0019 FC 641 MOV R4,A
001A 7D01 642 MOV R5,#01H
001C 8004 643 SJMP ?C0012
001E 644 ?C0011:
001E 7C00 645 MOV R4,#00H
0020 7D00 646 MOV R5,#00H
0022 647 ?C0012:
0022 EC 648 MOV A,R4
0023 5E 649 ANL A,R6
0024 FE 650 MOV R6,A
0025 ED 651 MOV A,R5
A51 MACRO ASSEMBLER MDESIGN 04/12/2008 10:44:53 PAGE 11
0026 5F 652 ANL A,R7
0027 FF 653 MOV R7,A
0028 E500 F 654 MOV A,LastPoint+04H
002A 7009 655 JNZ ?C0013
002C E500 F 656 MOV A,LastPoint+05H
002E 7005 657 JNZ ?C0013
0030 FC 658 MOV R4,A
0031 7D01 659 MOV R5,#01H
0033 8004 660 SJMP ?C0014
0035 661 ?C0013:
0035 7C00 662 MOV R4,#00H
0037 7D00 663 MOV R5,#00H
0039 664 ?C0014:
0039 EE 665 MOV A,R6
003A 5C 666 ANL A,R4
003B FE 667 MOV R6,A
003C EF 668 MOV A,R7
003D 5D 669 ANL A,R5
003E FF 670 MOV R7,A
003F E500 F 671 MOV A,LastPoint+06H
0041 7009 672 JNZ ?C0015
0043 E500 F 673 MOV A,LastPoint+07H
0045 7005 674 JNZ ?C0015
0047 FC 675 MOV R4,A
0048 7D01 676 MOV R5,#01H
004A 8004 677 SJMP ?C0016
004C 678 ?C0015:
004C 7C00 679 MOV R4,#00H
004E 7D00 680 MOV R5,#00H
0050 681 ?C0016:
0050 EE 682 MOV A,R6
0051 5C 683 ANL A,R4
0052 FE 684 MOV R6,A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -