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

📄 cpu01mon.lst

📁 一个简单的cpu的VHDL源码描述
💻 LST
📖 第 1 页 / 共 5 页
字号:
00729   FB9E FD 99                              FDB        IRQ$RT           
00730   FBA0 4F                                 FCB        'O               . SET OR RESET OFFSET
00731   FBA1 FC 14                              FDB        OFS$RT           
00732   FBA3 4C                                 FCB        'L               . 'S1' RECORD LOADER
00733   FBA4 FE 44                              FDB        LOAD             
00734   FBA6 00                                 FCB        0                

00736                          *
00737                          *     GO TO USER PROGRAM
00738                          *
00739   FBA7 7D 00 96          GO$USR           TST        VFLAG            . SEE IF VALID REQUEST
00740   FBAA 27 53                              BEQ        GO$BAD           . CAN'T DO THAT
00741   FBAC 9E 80                              LDS        USTACK           . GET USER'S STACK
00742   FBAE 30                                 TSX                         
00743   FBAF D6 97                              LDAB       VALUE            . GET NEW ADDRESS
00744   FBB1 96 98                              LDAA       VALUE+1          
00745   FBB3 E7 05                              STAB       5,X              . SET PC COUNTER
00746   FBB5 A7 06                              STAA       6,X              
00747   FBB7 BD FC 98          GOU$DO           JSR        SETBRK           . GO SET THE BREAK POINTS
00748   FBBA 3B                                 RTI                         

00750                          *
00751                          *     GO TO USER'S SUB-ROUTINE
00752                          *
00753   FBBB 7D 00 96          GO$SUB           TST        VFLAG            . SEE IF ADDRESS SET
00754   FBBE 27 3F                              BEQ        GO$BAD           . CAN'T
Macro Cross Assembler RMCA6800 (3.11) - Mon Dec 22 07:46:02 2003                                                         Page 0014
 Sunday, October 12, 2003 (mlh) DEBUG MONITOR FOR System6801
 

00755   FBC0 9E 80                              LDS        USTACK           . GET USER'S STACK

00757                          *
00758                          *    MOVE STACK DOWN 2 PLACES
00759                          *
00760   FBC2 34                                 DES                         . MAKE ROOM ON STACK FOR ADDRESS OF PART #2
00761   FBC3 34                                 DES                         
00762   FBC4 30                                 TSX                         . POINT AT DATA ON STACK
00763   FBC5 C6 07                              LDAB       #7               . 7 BYTES TO MOVE
00764   FBC7 A6 02             GO$SBL           LDAA       2,X              . GET A BYTE
00765   FBC9 A7 00                              STAA       0,X              
00766   FBCB 08                                 INX                         
00767   FBCC 5A                                 DECB                        
00768   FBCD 26 F8                              BNE        GO$SBL           
00769   FBCF CE FB E7                           LDX        #GO$SB2          . POINT AT PART #2
00770   FBD2 DF B1                              STX        TMP$00           
00771   FBD4 30                                 TSX                         
00772   FBD5 D6 B1                              LDAB       TMP$00           . POINT AT PART #2 (MSB)
00773   FBD7 96 B2                              LDAA       TMP$00+1         . (LSB)
00774   FBD9 E7 07                              STAB       7,X              . SET 'RETURN' ADDRESS
00775   FBDB A7 08                              STAA       8,X              
00776   FBDD D6 97                              LDAB       VALUE            . USER'S ADDRESS
00777   FBDF 96 98                              LDAA       VALUE+1          
00778   FBE1 E7 05                              STAB       5,X              . SET 'PC'
00779   FBE3 A7 06                              STAA       6,X              
00780   FBE5 20 D0                              BRA        GOU$DO           

00782                          *
00783                          *     SUB-ROUTINE PART #2
00784                          *
00785   FBE7 3F                GO$SB2           SWI                         . CAUSE A BREAKPOINT CHECK
00786   FBE8                   SUB$RK           EQU        *                

00788                          *
00789                          *    PART THREE OF SUB-ROUTINE CALL
00790                          *
00791   FBE8 9F 80             GO$SB3           STS        USTACK           . RESTORE USER'S STACK
00792   FBEA 30                                 TSX                         
00793   FBEB 8E 00 FF                           LDS        #STACK           . GET THE DEBUG STACK
00794   FBEE D6 97                              LDAB       VALUE            
00795   FBF0 96 98                              LDAA       VALUE+1          
00796   FBF2 E7 05                              STAB       5,X              . PUT CALLED ADDRESS IN PC
00797   FBF4 A7 06                              STAA       6,X              
00798   FBF6 BD FA 13                           JSR        DSPRTS           
00799   FBF9 BD FC B9                           JSR        CLRBRK           . GO RESET THE BREAK POINTS
00800   FBFC 7E F9 32                           JMP        MON$             

00802                          *
00803                          *      CAN'T DO IT
00804                          *
00805   FBFF 8E 00 FF          GO$BAD           LDS        #STACK           . RESET DEBUG STACK
00806   FC02 BD F9 58                           JSR        WHATER           . CANT DO IT
00807   FC05 7E F9 32                           JMP        MON$             

00809                          *
00810                          *     CONTINUE WITH USER'S PROGRAM
00811                          *
00812   FC08 DE 80             GO$CON           LDX        USTACK           
Macro Cross Assembler RMCA6800 (3.11) - Mon Dec 22 07:46:02 2003                                                         Page 0015
 Sunday, October 12, 2003 (mlh) DEBUG MONITOR FOR System6801
 

00813   FC0A EE 06                              LDX        6,X              . GET USER'S PC
00814   FC0C 7C 00 96                           INC        VFLAG            . SET THE FLAG
00815   FC0F DF 97                              STX        VALUE            . SET PC
00816   FC11 7E FB A7                           JMP        GO$USR           . GO TO USER'S PROGRAM

00818                          *
00819                          *     SET/DISPLAY THE OFFSET
00820                          *
00821   FC14 7D 00 96          OFS$RT           TST        VFLAG            . SET OR DISPLAY
00822   FC17 27 05                              BEQ        OFS$DS           . DISPLAY
00823   FC19 DE 97                              LDX        VALUE            . GET THE NEW OFFSET
00824   FC1B DF A9                              STX        OFFSET           
00825   FC1D 39                                 RTS                         

00827                          *
00828   FC1E 86 3D             OFS$DS           LDAA       #'=              . SEND AN EQUAL SIGN
00829   FC20 BD F9 F0                           JSR        OUTCH            
00830   FC23 CE 00 A9                           LDX        #OFFSET          . POINT AT THE OFFSET VALUE
00831   FC26 7E FA 6D                           JMP        OUT4HS           

00833                          *
00834                          *      SET/DISPLAY BREAK-POINTS
00835                          *
00836   FC29 7D 00 96          SBKRTN           TST        VFLAG            . SEE IF DISPLAY OR SET
00837   FC2C 27 1F                              BEQ        BK$DSP           

00839                          *
00840                          *      SET A BREAK POINT
00841                          *
00842   FC2E CE 00 99                           LDX        #BRKPTS          . FIND EMPTY BREAK POINT AREA
00843   FC31 C6 03                              LDAB       #3               . 3 PLACES TO CHECK
00844   FC33 A6 00             BRK$L0           LDAA       0,X              . SEE IF EMPTY
00845   FC35 AA 01                              ORAA       1,X              
00846   FC37 27 07                              BEQ        BRK$00           
00847   FC39 08                                 INX                         . MOVE TO NEXT PLACE
00848   FC3A 08                                 INX                         
00849   FC3B 08                                 INX                         
00850   FC3C 08                                 INX                         
00851   FC3D 5A                                 DECB                        
00852   FC3E 26 F3                              BNE        BRK$L0           

00854                          *
00855   FC40 D6 97             BRK$00           LDAB       VALUE            . POINT AT ADDRESS OF BREAK POINT
00856   FC42 96 98                              LDAA       VALUE+1          
00857   FC44 E7 00                              STAB       0,X              . SAVE THIS AREA
00858   FC46 A7 01                              STAA       1,X              
00859   FC48 6F 02                              CLR        2,X              
00860   FC4A 6F 03                              CLR        3,X              
00861   FC4C 39                                 RTS                         

00863                          *
00864                          *     DISPLAY THE BREAK POINTS
00865                          *
00866   FC4D CE F8 92          BK$DSP           LDX        #BRKSTG          . SEND THE STRING MESSAGE
00867   FC50 BD F9 FB                           JSR        PDATA            
00868   FC53 CE 00 99                           LDX        #BRKPTS          . POINT AT THE BREAK POINT ADDRESSES
00869   FC56 C6 04                              LDAB       #4               . 4 TO DISPLAY

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

00871                          *
00872   FC58 BD FA 6D          BK$DL0           JSR        OUT4HS           . PRINT THE ADDRESS
00873   FC5B 08                                 INX                         
00874   FC5C 08                                 INX                         
00875   FC5D 5A                                 DECB                        
00876   FC5E 26 F8                              BNE        BK$DL0           
00877   FC60 39                                 RTS                         

00879                          *
00880                          *     CLEAR BREAK POINTS
00881                          *
00882   FC61 7D 00 96          CBKRTN           TST        VFLAG            . DO ALL OR ONE?
00883   FC64 27 26                              BEQ        CBK$AL           . ALL

00885                          *
00886                          *     SEARCH FOR BREAK POINT ADDRESS
00887                          *
00888   FC66 CE 00 99                           LDX        #BRKPTS          . POINT AT THE TABLE
00889   FC69 C6 04                              LDAB       #4               . 4 PLACES TO CHECK
00890   FC6B 97 B1                              STAA       TMP$00           
00891   FC6D D6 97                              LDAB       VALUE            
00892   FC6F 96 98                              LDAA       VALUE+1          
00893   FC71 E1 00             CBK$L0           CMPB       0,X              . CHECK MSB
00894   FC73 26 04                              BNE        CBK$NX           . NOT THIS ONE
00895   FC75 A1 01                              CMPA       1,X              . CHECK LSB
00896   FC77 27 0A                              BEQ        CBK$CL           . CLEAR THIS LOCATION
00897   FC79 08                CBK$NX           INX                         . MOVE TO NEXT LOCATION
00898   FC7A 08                                 INX                         
00899   FC7B 08                                 INX                         
00900   FC7C 08                                 INX                         
00901   FC7D 7A 00 B1                           DEC        TMP$00           . DECR. COUNTER
00902   FC80 26 EF                              BNE        CBK$L0           
00903   FC82 39                                 RTS                         

00905                          *
00906   FC83 6F 00             CBK$CL           CLR        0,X              . CLEAR THIS LOCATION
00907   FC85 6F 01                              CLR        1,X              
00908   FC87 6F 02                              CLR        2,X              
00909   FC89 6F 03           

⌨️ 快捷键说明

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