⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cpu01mon.lst

📁 一个简单的cpu的VHDL源码描述
💻 LST
📖 第 1 页 / 共 5 页
字号:

00547                          *
00548                          *     NOT HEX
00549                          *
00550   FABE 31                NO$IHY           INS                         . FIX THE STACK
00551   FABF 0D                NO$IHX           SEC                         
00552   FAC0 39                                 RTS                         

00554                          *
00555                          *     I/O INITIALIZATION
00556                          *
00557   FAC1 86 03             IOSET            LDAA       #%00000011       . TRASH THE ACIA
00558   FAC3 97 10                              STAA       ACCTRL           
00559   FAC5 B6 F8 1E                           LDAA       ACINIT           . GET THE INIT VALUE
00560   FAC8 97 10                              STAA       ACCTRL           
00561   FACA 39                                 RTS                         

00563                          *
00564                          *     EXAMINE MEMORY
00565                          *
00566   FACB D6 97             EXAMIN           LDAB       VALUE            . GET THE ADDRESS
00567   FACD 96 98                              LDAA       VALUE+1          
00568   FACF 9B AA                              ADDA       OFFSET+1         . ADD THE OFFSET
00569   FAD1 D9 A9                              ADCB       OFFSET           
00570   FAD3 D7 90                              STAB       ADDRES           . SAVE THE VALUE
00571   FAD5 97 91                              STAA       ADDRES+1         

00573                          *
00574   FAD7 BD FA 09          EX$LP0           JSR        PCRLF            
00575   FADA CE 00 90                           LDX        #ADDRES          . POINT AT THE DATA ADDRESS
00576   FADD BD FA 6D                           JSR        OUT4HS           . PRINT THE ADDRESS
00577   FAE0 DE 90             EX$LP1           LDX        ADDRES           . POINT AT THE DATA
00578   FAE2 BD FA 6F                           JSR        OUT2HS           . PRINT THE DATA

00580                          *
Macro Cross Assembler RMCA6800 (3.11) - Mon Dec 22 07:46:02 2003                                                         Page 0011
 Sunday, October 12, 2003 (mlh) DEBUG MONITOR FOR System6801
 

00581                          *     WAIT FOR COMMAND
00582                          *
00583   FAE5 CE FA F4          EX$LP2           LDX        #EXMTBL          . POINT AT TABLE OF COMMANDS
00584   FAE8 BD F9 61                           JSR        GETCMD           . GET A VALUE AND/OR A COMMAND
00585   FAEB 24 03                              BCC        EX$JMP           . LEGAL?
00586   FAED 7E F9 58                           JMP        WHATER           . NO!

00588                          *
00589                          *    DO TO IT
00590                          *
00591   FAF0 EE 01             EX$JMP           LDX        1,X              . GET TASK ADDRESS
00592   FAF2 6E 00                              JMP        0,X              . DO THE REQUEST

00594                          *
00595                          *     COMMAND TABLE
00596                          *
00597   FAF4 2F                EXMTBL           FCB        '/               . DISPLAY SAME ADDRESS
00598   FAF5 FB 15                              FDB        EX$SAM           
00599   FAF7 20                                 FCB        SPACE            . DISPLAY NEXT ADDRESS
00600   FAF8 FB 07                              FDB        EX$NXT           
00601   FAFA 0A                                 FCB        LF               . DISPLAY NEXT ADDRESS (ALT. METHOD)
00602   FAFB FB 07                              FDB        EX$NXT           
00603   FAFD 5E                                 FCB        '^               . DISPLAY LAST ADDRESS
00604   FAFE FB 0E                              FDB        EX$BAK           
00605   FB00 0D                                 FCB        CR               . RETURN TO MONITOR
00606   FB01 FB 34                              FDB        EX$RTS           
00607   FB03 3B                                 FCB        ';               . CALCULATE OFFSET
00608   FB04 FB 37                              FDB        EX$OFS           
00609   FB06 00                                 FCB        0                

00611                          *
00612                          *    DISPLAY NEXT ADDRESS
00613                          *
00614   FB07 8D 10             EX$NXT           BSR        EX$STR           . TRY TO STORE VALUE
00615   FB09 08                                 INX                         
00616   FB0A DF 90                              STX        ADDRES           
00617   FB0C 20 C9                              BRA        EX$LP0           

00619                          *
00620                          *    DISPLAY LAST ADDRESS
00621                          *
00622   FB0E 8D 09             EX$BAK           BSR        EX$STR           . TRY TO STORE THE CHAR.
00623   FB10 09                                 DEX                         
00624   FB11 DF 90                              STX        ADDRES           . SAVE THE NEW VALUE
00625   FB13 20 C2                              BRA        EX$LP0           

00627                          *
00628                          *    DISPLAY SAME ADDRESS
00629                          *
00630   FB15 8D 02             EX$SAM           BSR        EX$STR           . TRY TO STORE THE CHAR.
00631   FB17 20 C7                              BRA        EX$LP1           . DON'T MOVE TO NEW LINE

00633                          *
00634                          *   STORE THE VALUE
00635                          *
00636   FB19 DE 90             EX$STR           LDX        ADDRES           . POINT AT MEMORY
00637   FB1B 7D 00 96                           TST        VFLAG            . SHOULD WE STORE IT?
00638   FB1E 27 08                              BEQ        EXNSTR           . NO
Macro Cross Assembler RMCA6800 (3.11) - Mon Dec 22 07:46:02 2003                                                         Page 0012
 Sunday, October 12, 2003 (mlh) DEBUG MONITOR FOR System6801
 

00639   FB20 96 98                              LDAA       VALUE+1          . GET THE VALUE
00640   FB22 A7 00                              STAA       0,X              . STORE IT
00641   FB24 A1 00                              CMPA       0,X              . SEE IF GOOD MEMORY
00642   FB26 26 01                              BNE        EX$BEL           . NO CHANGE
00643   FB28 39                EXNSTR           RTS                         

00645                          *
00646                          *   NO CHANGE IN MEMORY
00647                          *
00648   FB29 DF B1             EX$BEL           STX        TMP$00           . SAVE ADDRESS
00649   FB2B CE F8 56                           LDX        #MEMERR          . MEMORY ERROR
00650   FB2E BD F9 FD                           JSR        PDATA1           
00651   FB31 DE B1                              LDX        TMP$00           . RESTORE ADDRESS
00652   FB33 39                                 RTS                         

00654                          *
00655                          *    RETURN TO THE MONITOR
00656                          *
00657   FB34 8D E3             EX$RTS           BSR        EX$STR           . TRY TO STORE THE VALUE
00658   FB36 39                                 RTS                         . RETURN TO THE MONITOR

00660                          *
00661                          *    CALCULATE OFFSET TO ADDRESS
00662                          *
00663   FB37 BD F9 DE          EX$OFS           JSR        INCHNP           . GET THE NEXT CHAR.
00664   FB3A 81 4F                              CMPA       #'O              . OFFSET?
00665   FB3C 26 2F                              BNE        EX$OEX           . NO
00666   FB3E BD FA 71                           JSR        OUTS             . SEND A SPACE
00667   FB41 D6 97                              LDAB       VALUE            . GET THE OFFSET VALUE
00668   FB43 96 98                              LDAA       VALUE+1          
00669   FB45 90 91                              SUBA       ADDRES+1         . SUBTRACT THE CURRENT ADDRESS
00670   FB47 D2 90                              SBCB       ADDRES           
00671   FB49 80 01                              SUBA       #1               . SAME ADDRES =-1
00672   FB4B C2 00                              SBCB       #0               
00673   FB4D 36                                 PSHA                        . SAVE IT ON THE STACK
00674   FB4E 30                                 TSX                         . POINT AT LONG VALUE
00675   FB4F C1 00                              CMPB       #0               . IF A <> $FF OR $00 THEN ILLEGAL BRANCH
00676   FB51 26 06                              BNE        EX$SHX           . MIGHT STILL BE GOOD
00677   FB53 85 80                              BITA       #$80             . MSB MUST BE 0
00678   FB55 27 12                              BEQ        EX$SHT           . GOOD BRANCH
00679   FB57 20 08                              BRA        EX$LNG           . INVALID
00680   FB59 C1 FF             EX$SHX           CMPB       #$FF             
00681   FB5B 26 04                              BNE        EX$LNG           . GOOD SHORT
00682   FB5D 85 80                              BITA       #$80             . MSB MUST BE 1
00683   FB5F 26 08                              BNE        EX$SHT           . GOOD BRANCH
00684   FB61 CE F8 37          EX$LNG           LDX        #INVAL           . INVALID BRANCH
00685   FB64 BD F9 FD                           JSR        PDATA1           
00686   FB67 20 03                              BRA        EX$FST           . GO FIX THE STACK
00687   FB69 BD FA 6F          EX$SHT           JSR        OUT2HS           . OUTPUT (SHORT) VALUE
00688   FB6C 31                EX$FST           INS                         . FIX THE STACK
00689   FB6D 7E FA D7          EX$OEX           JMP        EX$LP0           

00691                          *
00692                          *    SUB-COMMANDS
00693                          *
00694   FB70 CE FB 7F          SUBPRG           LDX        #SUBTBL          . POINT AT TABLE OF SUB-COMMANDS
00695   FB73 BD F9 78                           JSR        CHKCMD           . GET THE REQUEST
00696   FB76 24 03                              BCC        SB$JMP           . LEGAL?
Macro Cross Assembler RMCA6800 (3.11) - Mon Dec 22 07:46:02 2003                                                         Page 0013
 Sunday, October 12, 2003 (mlh) DEBUG MONITOR FOR System6801
 

00697   FB78 7E F9 58                           JMP        WHATER           . ILLEGAL COMMAND

00699                          *
00700                          *    GO DO IT
00701                          *
00702   FB7B EE 01             SB$JMP           LDX        1,X              . GET THE TASK
00703   FB7D 6E 00                              JMP        0,X              . GO TO IT.

00705                          *
00706                          *     TABLE OF SUB-COMANDS
00707                          *
00708   FB7F 52                SUBTBL           FCB        'R               . DISPLAY REGISTERS
00709   FB80 FA 18                              FDB        DSPREG           
00710   FB82 47                                 FCB        'G               . GO TO USER'S PROGRAM
00711   FB83 FB A7                              FDB        GO$USR           
00712   FB85 53                                 FCB        'S               . GO TO USER'S SUB-ROUTINE
00713   FB86 FB BB                              FDB        GO$SUB           
00714   FB88 56                                 FCB        'V               . SET/DISPLAY BREAK-POINTS
00715   FB89 FC 29                              FDB        SBKRTN           
00716   FB8B 55                                 FCB        'U               . CLEAR BREAK-POINTS
00717   FB8C FC 61                              FDB        CBKRTN           
00718   FB8E 44                                 FCB        'D               . DISPLAY MEMORY
00719   FB8F FD CC                              FDB        DSPMEM           
00720   FB91 50                                 FCB        'P               . CONTINUE USER'S PROGRAM
00721   FB92 FC 08                              FDB        GO$CON           
00722   FB94 46                                 FCB        'F               . FILL MEMORY WITH CHAR.
00723   FB95 FC F7                              FDB        FILMEM           
00724   FB97 43                                 FCB        'C               . COMPARE MEMORY WITH CHAR.
00725   FB98 FD 27                              FDB        CMPMEM           
00726   FB9A 4D                                 FCB        'M               . MOVE MEMORY
00727   FB9B FD 71                              FDB        MOVMEM           
00728   FB9D 49                                 FCB        'I               . SET/RESET/PRINT IRQ FLAG

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -