亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cpu01mon.sa

?? SoC-Wishbone System IP核的VHDL語言源代碼
?? SA
?? 第 1 頁 / 共 2 頁
字號(hào):
**===========================================================================**
**
**  D E B U G G E R    CPU01 Debug Monitor
**
**  www.OpenCores.Org - August 2003
**  This software adheres to the GNU public license  
**
** File name      : cpu01mon.sa
**
** Purpose        : Implements a built-in Debug monitor
**                  for the System6801 compatible CPU core
**
** Author         : Michael L. Hasenfratz Sr.
**
**===========================================================================**
**
** Revision History:
**
** Date:		Revision	Author
**===========================================================================**
** 12 Oct 2003		0.1		Michael L. Hasenfratz Sr.
**
 NAM CPU01MON
 TTL Sunday, October 12, 2003 (mlh) DEBUG MONITOR FOR System6801
 SPC 1
*
*    This is a debug monitor for use with
*    the OpenCore System6801 CPU 
*    Or MOTOROLA MC6800 MICROPROCESSORS
*
 SPC 1
*
*    PROGRAM START ADDRESS
*
ROMSTR EQU $F800 . ROM START ADDRESS
RAMSTR EQU $0080 . RAM START ADDRESS
RAMEND EQU $0100 . RAM END ADDRESS
IO$STR EQU $0000 . INTERNAL REGISTERS
 SPC 1
*
*      wb_acia (ACIA) SERIAL PORT ADDRESS DEFINITION
*
ACIA$S EQU IO$STR+$10 . Start of the ACIA
ACCTRL EQU ACIA$S+0 . ACIA CONTROL
ACSTAT EQU ACIA$S+0 . ACIA STATUS
RXDATA EQU ACIA$S+1 . RECEIVE DATA PORT
TXDATA EQU ACIA$S+1 . TRANSMIT DATA PORT
RDRF   EQU %00000001 . RCV DATA REG FULL
TDRE   EQU %00000010 . TX DATA REG EMPTY
 SPC 1
*
*    SOME ASCII CHARACTER DEFINITIONS
*
CR EQU $0D . <CR>
LF EQU $0A . <LF>
SPACE EQU $20 . <SPACE>
BELL EQU $07 . <BELL/BEEP>
 SPC 1
*
*     RAM LOCATIONS REQUIRED 
*
       ORG RAMSTR
VARSTR EQU *
USTACK RMB 2 . USER'S STACK POINTER
 SPC 1
*
*      VECTOR BUFFER
*
VECBUF EQU *
IRQSCI RMB 2 . 'SCI' VECTOR
IRQTOF RMB 2 . 'TOF' VECTOR
IRQOCF RMB 2 . 'OCF' VECTOR
IRQICF RMB 2 . 'ICF' VECTOR
IRQ$VC RMB 2 . IRQ VECTOR
SWI$VC RMB 2 . SWI #1 VECTOR
NMI$VC RMB 2 . NMI VECTOR
 SPC 1
*
*      MISC. REGISTERS
*
ADDRES RMB 2 . ADDRESS TEMPORARY STORAGE
AECHO RMB 1 . ECHO FLAG
BYTECT RMB 1 . BYTE COUNT (LOADER)
CHKSUM RMB 1 . CHECK-SUM (LOADER)
IRQFLG RMB 1 . IRQ FLAG 0=STOP IRQ
VFLAG RMB 1 . VALUE FLAG 0=NO ENTRY
VALUE RMB 2 . BINARY VALUE ENTERED
BRKPTS RMB 4*4 . 4 BREAK-POINTS MAY BE SET
OFFSET RMB 2 . OFFSET TO BE ADDED TO ADDRESSES
DB$STK RMB 2 . DEBUG STACK
BEGADR RMB 2 . BEGIN ADDRESS
ENDADR RMB 2 . END ADDRESS
TMP$00 RMB 2 . SOME TEMPORARY STORAGE
TMP$01 RMB 2
TMP$02 RMB 2
TMP$03 RMB 2
VAREND EQU *
 SPC 1
U$STK EQU (VAREND+((RAMEND-VAREND)/2))-1 . USER'S STACK
STACK EQU RAMEND-1
 SPC 1
*
*    ROM START (JUMP TABLE)
*
 ORG ROMSTR
 JMP INCH . INPUT 1 CHAR FROM CONSOLE (W/PARITY)
 JMP INCHNP . INPUT 1 CHAR FROM CONSOLE (WO/PARITY)
 JMP OUTCH . OUTPUT 1 CHAR TO CONSOLE
 JMP PDATA . PRINT <CR>,<LF>,<NULLS> & STRING (TO EOT)
 JMP PDATA1 . PRINT STRING (TO EOT)
 JMP PCRLF . PRINT <CR>,<LF>,<NULLS>
 JMP GO$SB2 . RE-ENTER MONITOR (WO/INITIALIZATION)
 JMP BEGEND . GET BEGIN/END ADDRESSES
 JMP OUT2HS . PRINT 2 HEX CHARS & <SP>
 JMP OUT4HS . PRINT 4 HEX CHARS & <SP>
 SPC 1
*
*   (wb_acia) ACIA INITIALIZATION VALUE
*
ACINIT FCB %00010101 . NO RCV IRQ, NO XMIT IRQ, 8 BIT, NO PARITY, 1 STOP, 9600 BAUD (CNTL)
 SPC 1
*
*    S T R I N G S   A N D   T H I N G S
*
HEADER FCC /CPU01MON Ver. 2.2/
 FCB 4
PRMT FCB 0,0,0,0,'>,4
INVAL FCC / - INV/
 FCB 4
BEGMSG FCC /BEG ADDR - /
 FCB 4
ENDMSG FCC /END ADDR - /
 FCB 4
MEMERR FCB $13 . READER OFF
 FCC / - NO CHANGE/
WHAT FCB BELL,4
CMPMSG FCC /NO COMPARE @/
 FCB BELL,4
CHKERR FCB $13 . READER OFF
 FCC / - CHK SUM ERR/
 FCB BELL,4
LOADER FCB $13 . READER OFF
 FCC / - LOAD ERR/
 FCB BELL,4
BRKSTG FCC /   BREAK - POINTS/
CRLF FCB CR,LF,0,0,0,0,4
RTSSTR FCC /RETURN/
 FCB 4
REGSTR FCC /REG/
 FCB 4
IRQSTR FCC /IRQ/
 FCB 4
SWISTR FCC /SWI/
 FCB 4
NMISTR FCC /NMI/
 FCB 4
BRKSTR FCC /BRK PNT/
 FCB 4
DSPSTR FCC / - CC=/ . REGISTER DUMP STRING
 FCB 4
 FCC /B=/
 FCB 4
 FCC /A=/
 FCB 4
 FCC /X=/
 FCB 4
 FCC /PC=/
 FCB 4
 FCC /S=/
 FCB 4
 SPC 1
*
*    R E S T A R T   E N T R Y   P O I N T
*
COLD$ LDS #STACK . SET THE STACK
 SPC 1
*
*       SET UP USERS STACK
*
 LDX #U$STK . POINT AT THE USER'S STACK
 STX USTACK . SET USER'S STACK
 JSR IOSET . INIT THE PORTS
 SPC 1
*
*    RESET THE VECTORS
*
 LDX #VECTBL . POINT AT THE TABLE
 STX TMP$00 . SAVE THE SOURCE
 LDX #VECBUF . POINT AT THE BUFFER
 STX TMP$01 . SAVE THE DESTINATION
 LDAB #2*7 . 14 BYTES TO MOVE
VCTLP0 LDX TMP$00 . GET THE POINTER
 LDAA 0,X . GET A BYTE
 INX
 STX TMP$00
 LDX TMP$01 . GET THE DESTINATION
 STAA 0,X
 INX
 STX TMP$01
 DECB
 BNE VCTLP0 . LOOP UNTIL FULL
 SPC 1
*
*    CLEAR THE BREAK POINT TABLE
*
 LDX #BRKPTS . POINT AT THE TABLE
 LDAB #4*4
C$BRK CLR 0,X
 INX
 DECB
 BNE C$BRK
 LDAA #1 . SET THE IRQ BIT
 STAA IRQFLG . CLR THE IRQ FLAG
 CLR OFFSET . RESET THE ADDRESS OFFSET
 CLR OFFSET+1
 SPC 1
*
*    PREPARE TO TALK TO THE USER
*
 LDX #HEADER . SEND SIGN-ON MESSAGE
 JSR PDATA
 SPC 1
*
*    CLEAR THE USER'S STACK
*
 LDX USTACK
 INX
 LDAA #7
CL$STK CLR 0,X . CLEAR THIS BYTE
 INX
 DECA
 BNE CL$STK
 LDS USTACK . POINT AT USER'S STACK
 SPC 1
*
*    W A R M   S T A R T   E N T R Y   P O I N T
*
WARM$ STS USTACK . SAVE THE USER'S STACK
 SPC 1
*
*     H O T   S T A R T   E N T R Y   P O I N T
*
MON$ LDS #STACK . RESET MONITOR STACK
 LDX #PRMT . SEND PROMPT TO USER
 JSR PDATA
 CLR AECHO . RESET THE ECHO FLAG
 LDAB IRQFLG . SEE IF WE SHOULD SET/RESET IRQ BIT
 ANDB #1 . ISOLATE THE BIT
 ASLB
 ASLB
 ASLB
 ASLB . PUT THE BIT IN IT'S PLACE
 TPA . GET THE CC'S
 ANDA #%11101111 . ISOLATE THE IRQ BIT
 ABA . ADD THE BIT
 TAP . RESTORE THE CC'S
 LDX #CMDTBL . POINT AT TABLE OF COMMANDS
 BSR GETCMD
 BCS WHATER
 LDX 1,X . DO THE COMMAND
 JSR 0,X
 BRA MON$
 SPC 1
*
*   SEND A 'WHAT' TO USER
*
WHATER LDX #WHAT
 JSR PDATA1
 JMP MON$
 SPC 1
*
*    GET USER'S REQUEST
*
GETCMD STX TMP$03 . SAVE TABLE ADDRESS
CMDLOP LDX #0 . ZERO OUT VALUE
 STX VALUE
 CLR VFLAG
CMDLP0 JSR INCHNP . GET A CHAR. FROM THE USER
 JSR CHKHEX . IS IT A HEX CHAR
 BCS CHKCM0 . CHECK FOR COMMAND
 JSR ADDHEX . ADD TO 'VALUE' A HEX NUMBER
 BRA CMDLP0 . RETURN TO LOOP
 SPC 1
*
*     CHECK FOR COMMAND
*
CHKCMD JSR INCHNP . GET A CHAR.
 STX TMP$03 . SAVE THE POINTER
CHKCM0 LDX TMP$03 . POINT AT TABLE OF LEGAL COMMANDS
 TST 0,X . SEE IF DUMMY TABLE
 BEQ CHKDUM . JUST EXIT
CHKCL0 CMPA 0,X . THIS COMMAND?
 BEQ CMD$DO . YES
 INX . MOVE TO NEXT COMMAND
 INX
 INX
 TST 0,X . END OF TABLE?
 BNE CHKCL0 . NO KEEP GOING
CHKDUM SEC . SET FOR ILLEGAL COMMAND
 RTS
 SPC 1
*
*    GOOD COMMAND
*
CMD$DO CLC . SET FOR LEGAL COMMAND RECEIVED
 RTS
 SPC 1
*
*    TABLE OF LEGAL COMMANDS
*
CMDTBL FCB '/ . EXAMINE MEMORY
 FDB EXAMIN
 FCB '; . SUB-PROGRAM ROUTINE
 FDB SUBPRG
 FCB CR . DUMMY COMMAND (IGNORE)
 FDB CHKDUM
 FCB 0 . END OF TABLE
 SPC 1
*
*    CHECK CHARACTER IN 'A' FOR HEX
*
CHKHEX CMPA #'0 . SEE IF NUMERIC
 BLT CHKHNO
 CMPA #'9
 BLS CISHEX
 CMPA #'A . ALFA?
 BLT CHKHNO
 CMPA #'F 
 BLS CISHEX
CHKHNO SEC
 RTS
 SPC 1
*
CISHEX SUBA #'0
 CMPA #9 . DONE?
 BLS CHKHDN
 SUBA #7 . ALFA
CHKHDN CLC
 RTS
 SPC 1
*
*      ADD A HEX NUMBER IN 'A' TO 'VALUE'
*
ADDHEX ASL VALUE+1 . MULTIPLY VALUE BY 16
 ROL VALUE
 ASL VALUE+1
 ROL VALUE
 ASL VALUE+1
 ROL VALUE
 ASL VALUE+1
 ROL VALUE
 ADDA VALUE+1
 STAA VALUE+1
 BCC ADDONE
 INC VALUE
ADDONE LDAA #1 . SET FLAG
 STAA VFLAG
 RTS
 SPC 1
*
*    INPUT 1 CHARACTER FROM ACIA WO/PARITY
*
INCHNP BSR INCH . GET A CHAR.
 ANDA #$7F . REMOVE THE PARITY BIT
 RTS
 SPC 1
*
*    INPUT 1 CHARACTER FROM ACIA W/PARITY
*
INCH LDAA ACSTAT . CHECK FOR RDRF
 BITA #RDRF
 BEQ INCH
 LDAA RXDATA . GET THE CHAR.
 TST AECHO . SHOULD WE ECHO THE CHAR.
 BNE OUTRTS
 SPC 1
*
*    OUTPUT 1 CHARACTER
*
OUTCH PSHB . SAVE B REG
OUT$LP LDAB ACSTAT . WAIT FOR TDRE
 BITB #TDRE
 BEQ OUT$LP
 STAA TXDATA . OUTPUT THE CHAR.
 PULB . RESTORE THE REGS
OUTRTS RTS
 SPC 1
*
*     PRINT <CR><LF>'STRING'
*
PDATA BSR PCRLF . PRINT A <CR><LF>
PDATA1 LDAA 0,X . GET A CHAR.
 INX . MOVE TO NEXT CHAR.
 CMPA #4 . EOT?
 BEQ P$DONE . YES
 BSR OUTCH
 BRA PDATA1
P$DONE RTS
 SPC 1
*
*   PRINT A <CR><LF>
*
PCRLF STX TMP$02 . SAVE THE XREG
 LDX #CRLF
 BSR PDATA1 . SEND THIS STRING
 LDX TMP$02 . RESTORE THE XREG
 RTS
 SPC 1
*
*    DISPLAY MPU REGISTERS
*
DSPRTS LDX #RTSSTR
 BRA DSPRTN
 SPC 1
*
DSPREG LDX #REGSTR
 BRA DSPRTN
 SPC 1
*
DSPSWI LDX #SWISTR
 BRA DSPRTN
 SPC 1
*
DSPIRQ LDX #IRQSTR
 BRA DSPRTN
 SPC 1
*
DSPBRK LDX #BRKSTR
 BRA DSPRTN
 SPC 1
*
DSPNMI LDX #NMISTR
 BRA DSPRTN
 SPC 1
*
*    DISPLAY THE REGISTERS
*
DSPRTN JSR PDATA . PRINT THE STRING
 LDX #DSPSTR
 STX TMP$01
 LDX USTACK . POINT AT THE USER'S STACK
 INX
 LDAB #3 . PRINT THE 3, 2 BYTE REGISTERS
 BSR PRNT2B
 LDAB #2 . PRINT THE 2, 4 BYTE REGISTERS
 BSR PRNT4B
 LDX #USTACK . POINT AT THE ADDRESS
 LDAB #1 . PRINT THE STACK ADDRESS
 SPC 1
*
*    PRINT 4 BYTE REGISTER
*
PRNT4B STX TMP$00
 LDX TMP$01
 JSR PDATA1 . PRINT THE STRING
 STX TMP$01 . SWAP THE REGISTERS
 LDX TMP$00
 JSR OUT4HS . PRINT VALUE
 DECB
 BNE PRNT4B
 RTS
 SPC 1
*
*    PRINT 2 BYTE REGISTER
*
PRNT2B STX TMP$00
 LDX TMP$01
 JSR PDATA1 . PRINT THE STRING
 STX TMP$01 . SWAP THE REGISTERS
 LDX TMP$00
 JSR OUT2HS . PRINT THE DATA
 DECB
 BNE PRNT2B
 RTS
 SPC 1
*
*     OUTPUT HEX CHARS W/SPACE
*
OUT4HS BSR OUT2H
OUT2HS BSR OUT2H
OUTS LDAA #SPACE . OUTPUT A SPACE
 JMP OUTCH
 SPC 1
*
*     OUTPUT 2 HEX CHAR.S
*
OUT2H LDAA 0,X . GET THE CHAR.
 LSRA . MOVE MSN TO LSN
 LSRA
 LSRA
 LSRA
 BSR HEX$IT
 LDAA 0,X . GET CHAR. AGAIN
 INX
 SPC 1
*
*     CONVERT 'A' REG TO BINARY (LSN) TO ASCII
*
HEX$IT ANDA #%1111 . SAVE ONLY LSN
 ORAA #'0 . MAKE ASCII
 CMPA #'9
 BLS OUTHX . OUTPUT THE CHAR
 ADDA #7 . MAKE ALFA
OUTHX JMP OUTCH
 SPC 1
*
*     INPUT 4 HEX CHARS
*
IN4HEX BSR IN2HEX
 BCS NO$IHX . WAS'NT HEX
 PSHA . SAVE THE MSB
 PSHA
 BSR IN2HEX
 TSX . POINT AT RESULT
 STAA 1,X . SAVE THE LSB
 LDX 0,X . GET THE RESULT
 INS . FIX THE STACK
 INS
 RTS
 SPC 1
*
*    INPUT 2 HEX CHARS
*
IN2HEX BSR INHEX . GET THE MSN
 BCS NO$IHX . NOT HEX
 ASLA . PUT IT IN THE MS NIBBLE
 ASLA
 ASLA
 ASLA
 STAA TMP$00 . SAVE IT
 BSR INHEX . GET THE LSN
 BCS NO$IHX . NOT HEX
 ADDA TMP$00 . ADD NIBBLES
 STAA TMP$00 . SAVE IT
 ADDA CHKSUM . ADD TO CHECK SUM
 STAA CHKSUM
 LDAA TMP$00 . GET THE CHAR.
 CLC
 RTS
 SPC 1
*
*     INPUT 1 HEX CHAR. IN A
*
INHEX JSR INCHNP . GET A BYTE FROM USER
 JMP CHKHEX . CHECK AND CONVERT
 SPC 1
*
*     NOT HEX
*
NO$IHY INS . FIX THE STACK
NO$IHX SEC
 RTS
 SPC 1
*
*     I/O INITIALIZATION
*
IOSET LDAA #%00000011 . TRASH THE ACIA
 STAA ACCTRL
 LDAA ACINIT . GET THE INIT VALUE
 STAA ACCTRL
 RTS
 SPC 1
*
*     EXAMINE MEMORY
*
EXAMIN LDAB VALUE . GET THE ADDRESS
 LDAA VALUE+1
 ADDA OFFSET+1 . ADD THE OFFSET
 ADCB OFFSET
 STAB ADDRES . SAVE THE VALUE
 STAA ADDRES+1
 SPC 1  
*
EX$LP0 JSR PCRLF
 LDX #ADDRES . POINT AT THE DATA ADDRESS
 JSR OUT4HS . PRINT THE ADDRESS
EX$LP1 LDX ADDRES . POINT AT THE DATA
 JSR OUT2HS . PRINT THE DATA
 SPC 1
*
*     WAIT FOR COMMAND
*
EX$LP2 LDX #EXMTBL . POINT AT TABLE OF COMMANDS
 JSR GETCMD . GET A VALUE AND/OR A COMMAND
 BCC EX$JMP . LEGAL?
 JMP WHATER . NO!
 SPC 1
*
*    DO TO IT
*
EX$JMP LDX 1,X . GET TASK ADDRESS
 JMP 0,X . DO THE REQUEST
 SPC 1
*
*     COMMAND TABLE
*
EXMTBL FCB '/ . DISPLAY SAME ADDRESS
 FDB EX$SAM
 FCB SPACE . DISPLAY NEXT ADDRESS
 FDB EX$NXT
 FCB LF . DISPLAY NEXT ADDRESS (ALT. METHOD)
 FDB EX$NXT
 FCB '^ . DISPLAY LAST ADDRESS
 FDB EX$BAK
 FCB CR . RETURN TO MONITOR
 FDB EX$RTS
 FCB '; . CALCULATE OFFSET
 FDB EX$OFS
 FCB 0
 SPC 1
*
*    DISPLAY NEXT ADDRESS
*
EX$NXT BSR EX$STR . TRY TO STORE VALUE
 INX
 STX ADDRES
 BRA EX$LP0
 SPC 1
*
*    DISPLAY LAST ADDRESS
*
EX$BAK BSR EX$STR . TRY TO STORE THE CHAR.
 DEX
 STX ADDRES . SAVE THE NEW VALUE
 BRA EX$LP0
 SPC 1
*
*    DISPLAY SAME ADDRESS
*
EX$SAM BSR EX$STR . TRY TO STORE THE CHAR.
 BRA EX$LP1 . DON'T MOVE TO NEW LINE
 SPC 1
*
*   STORE THE VALUE
*
EX$STR LDX ADDRES . POINT AT MEMORY
 TST VFLAG . SHOULD WE STORE IT?
 BEQ EXNSTR . NO
 LDAA VALUE+1 . GET THE VALUE
 STAA 0,X . STORE IT
 CMPA 0,X . SEE IF GOOD MEMORY
 BNE EX$BEL . NO CHANGE
EXNSTR RTS
 SPC 1
*
*   NO CHANGE IN MEMORY
*
EX$BEL STX TMP$00 . SAVE ADDRESS
 LDX #MEMERR . MEMORY ERROR
 JSR PDATA1
 LDX TMP$00 . RESTORE ADDRESS
 RTS
 SPC 1
*
*    RETURN TO THE MONITOR
*
EX$RTS BSR EX$STR . TRY TO STORE THE VALUE
 RTS . RETURN TO THE MONITOR
 SPC 1
*
*    CALCULATE OFFSET TO ADDRESS
*
EX$OFS JSR INCHNP . GET THE NEXT CHAR.
 CMPA #'O . OFFSET?
 BNE EX$OEX . NO
 JSR OUTS . SEND A SPACE
 LDAB VALUE . GET THE OFFSET VALUE
 LDAA VALUE+1
 SUBA ADDRES+1 . SUBTRACT THE CURRENT ADDRESS
 SBCB ADDRES
 SUBA #1 . SAME ADDRES =-1
 SBCB #0
 PSHA . SAVE IT ON THE STACK
 TSX . POINT AT LONG VALUE
 CMPB #0 . IF A <> $FF OR $00 THEN ILLEGAL BRANCH
 BNE EX$SHX . MIGHT STILL BE GOOD
 BITA #$80 . MSB MUST BE 0
 BEQ EX$SHT . GOOD BRANCH
 BRA EX$LNG . INVALID
EX$SHX CMPB #$FF
 BNE EX$LNG . GOOD SHORT
 BITA #$80 . MSB MUST BE 1
 BNE EX$SHT . GOOD BRANCH
EX$LNG LDX #INVAL . INVALID BRANCH
 JSR PDATA1
 BRA EX$FST . GO FIX THE STACK
EX$SHT JSR OUT2HS . OUTPUT (SHORT) VALUE
EX$FST INS . FIX THE STACK
EX$OEX JMP EX$LP0
 SPC 1
*
*    SUB-COMMANDS
*
SUBPRG LDX #SUBTBL . POINT AT TABLE OF SUB-COMMANDS
 JSR CHKCMD . GET THE REQUEST
 BCC SB$JMP . LEGAL?
 JMP WHATER . ILLEGAL COMMAND
 SPC 1
*
*    GO DO IT
*
SB$JMP LDX 1,X . GET THE TASK
 JMP 0,X . GO TO IT.
 SPC 1
*
*     TABLE OF SUB-COMANDS
*
SUBTBL FCB 'R . DISPLAY REGISTERS
 FDB DSPREG
 FCB 'G . GO TO USER'S PROGRAM
 FDB GO$USR
 FCB 'S . GO TO USER'S SUB-ROUTINE
 FDB GO$SUB
 FCB 'V . SET/DISPLAY BREAK-POINTS
 FDB SBKRTN
 FCB 'U . CLEAR BREAK-POINTS
 FDB CBKRTN
 FCB 'D . DISPLAY MEMORY
 FDB DSPMEM
 FCB 'P . CONTINUE USER'S PROGRAM
 FDB GO$CON
 FCB 'F . FILL MEMORY WITH CHAR.
 FDB FILMEM
 FCB 'C . COMPARE MEMORY WITH CHAR.
 FDB CMPMEM
 FCB 'M . MOVE MEMORY
 FDB MOVMEM
 FCB 'I . SET/RESET/PRINT IRQ FLAG
 FDB IRQ$RT
 FCB 'O . SET OR RESET OFFSET
 FDB OFS$RT
 FCB 'L . 'S1' RECORD LOADER
 FDB LOAD
 FCB 0
 SPC 1
*
*     GO TO USER PROGRAM
*
GO$USR TST VFLAG . SEE IF VALID REQUEST
 BEQ GO$BAD . CAN'T DO THAT
 LDS USTACK . GET USER'S STACK
 TSX
 LDAB VALUE . GET NEW ADDRESS
 LDAA VALUE+1
 STAB 5,X . SET PC COUNTER
 STAA 6,X
GOU$DO JSR SETBRK . GO SET THE BREAK POINTS
 RTI
 SPC 1
*
*     GO TO USER'S SUB-ROUTINE
*
GO$SUB TST VFLAG . SEE IF ADDRESS SET
 BEQ GO$BAD . CAN'T
 LDS USTACK . GET USER'S STACK
 SPC 1
*

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日本电影在线| 色哟哟国产精品| 日韩女优av电影| 日韩主播视频在线| 欧美一区二区三区喷汁尤物| 五月天一区二区三区| 欧美二区乱c少妇| 成人黄色软件下载| 中文字幕高清一区| 91色视频在线| 日产精品久久久久久久性色| 日韩一区二区三区在线观看| 激情综合网最新| 久久精品视频免费| 99久免费精品视频在线观看| 亚洲精品乱码久久久久久日本蜜臀| 91在线视频免费观看| 日韩精品91亚洲二区在线观看| 26uuu亚洲| 色综合久久综合网97色综合| 天堂在线一区二区| 国产精品美女一区二区三区 | 国产人久久人人人人爽| 在线观看欧美精品| 免费在线观看一区| 亚洲欧洲av在线| 欧美mv日韩mv国产网站app| 99久久综合狠狠综合久久| 首页国产欧美日韩丝袜| 中文字幕av资源一区| 欧美精品欧美精品系列| 欧美中文字幕亚洲一区二区va在线| 国精产品一区一区三区mba桃花| 亚洲少妇最新在线视频| 2020国产成人综合网| 国产女同互慰高潮91漫画| 欧美一区日本一区韩国一区| 欧美午夜电影一区| 91成人在线观看喷潮| 成人av网站在线| 欧美日韩在线精品一区二区三区激情 | 99re这里都是精品| 国产精品99久久久久久有的能看| 性欧美大战久久久久久久久| 亚洲三级在线播放| 亚洲人成网站色在线观看| 欧美国产乱子伦 | 在线免费视频一区二区| 日本韩国视频一区二区| 91一区二区在线观看| 99精品欧美一区二区三区小说 | 日韩欧美一级二级三级| 欧美不卡一区二区三区| 欧美精品一区二区三区一线天视频| 欧美成人国产一区二区| 欧美电影免费观看高清完整版在线| 国产午夜亚洲精品理论片色戒| 国产精品一区二区在线看| 成人国产电影网| 2024国产精品| 青草国产精品久久久久久| 天天综合色天天| 免费人成黄页网站在线一区二区| 久久99在线观看| 国产成人精品免费一区二区| 成人免费看视频| 精品欧美一区二区三区精品久久 | 色综合天天做天天爱| 91蝌蚪porny| 26uuu亚洲婷婷狠狠天堂| 亚洲精品国产精品乱码不99| 黄色精品一二区| 欧美日韩视频在线第一区| 日韩欧美精品在线视频| 自拍偷拍国产精品| 国产精品中文欧美| 欧美精选午夜久久久乱码6080| 久久精品夜夜夜夜久久| 日韩精品欧美成人高清一区二区| 成人激情免费网站| 亚洲与欧洲av电影| 亚洲色图19p| 亚洲va韩国va欧美va精品| 99久久婷婷国产精品综合| 亚洲国产精品一区二区www在线| 成人av影视在线观看| 国产精品日韩精品欧美在线| 国产呦萝稀缺另类资源| 日韩精品一区在线观看| 午夜精品久久久久影视| 色婷婷综合激情| 亚洲制服丝袜av| 欧美亚洲一区二区在线观看| 亚洲精品亚洲人成人网在线播放| 成人av网站在线观看免费| 亚洲卡通动漫在线| 91精品婷婷国产综合久久竹菊| 亚洲同性同志一二三专区| 色婷婷av一区二区| 亚洲制服丝袜在线| 日韩午夜精品电影| 麻豆freexxxx性91精品| 久久综合色综合88| 国产精品资源在线观看| 日本一区二区久久| 日本电影欧美片| 香蕉影视欧美成人| 欧美日韩一区二区在线视频| 污片在线观看一区二区| 日韩精品一区二区三区视频播放| 成人免费毛片app| 午夜成人免费视频| 国产精品丝袜一区| 日韩西西人体444www| 欧美在线看片a免费观看| 高清国产一区二区三区| 热久久一区二区| 2021国产精品久久精品| 高清不卡一区二区在线| 一区二区三区自拍| 欧美精品一区二区三区蜜桃| 91麻豆文化传媒在线观看| 午夜精品国产更新| 国产精品麻豆视频| 日韩免费高清av| 91视频你懂的| 国产·精品毛片| 麻豆精品一区二区av白丝在线| 综合电影一区二区三区| 国产亚洲欧美日韩在线一区| 欧美日韩国产精品成人| 91久久精品一区二区二区| 东方aⅴ免费观看久久av| 日韩经典中文字幕一区| 亚洲观看高清完整版在线观看| 中文字幕视频一区二区三区久| 久久嫩草精品久久久久| 日韩精品一区二区三区四区视频| 欧美精品国产精品| 欧美日韩三级视频| 91久久精品午夜一区二区| 91免费版在线看| 色先锋久久av资源部| 色呦呦国产精品| 在线观看日韩一区| 国产喷白浆一区二区三区| 久久蜜桃av一区精品变态类天堂 | 国产精品一区二区你懂的| 麻豆精品在线播放| 久草热8精品视频在线观看| 久久精品久久综合| 国内久久精品视频| 国产91清纯白嫩初高中在线观看 | 国产精品一区在线| 粉嫩aⅴ一区二区三区四区五区 | 色偷偷久久一区二区三区| 91久久精品国产91性色tv| 欧美丰满一区二区免费视频 | 91精品国产乱| 久久精品一级爱片| 亚洲一区二区精品3399| 日韩不卡在线观看日韩不卡视频| 男人的天堂亚洲一区| 99久久久无码国产精品| 91在线视频观看| 精品久久久久久久久久久久久久久 | 久久se精品一区二区| 成人美女在线观看| 欧美日韩国产在线观看| 久久久噜噜噜久久人人看| 亚洲免费色视频| 国产成人在线影院| 欧美精品精品一区| 国产精品久久久久桃色tv| 日本aⅴ亚洲精品中文乱码| 91亚洲精品一区二区乱码| 精品国产一区a| 日日夜夜免费精品视频| 91视频国产观看| 精品国内二区三区| 蜜臀国产一区二区三区在线播放| 99久免费精品视频在线观看| 精品国产一区二区精华| 日韩国产欧美在线视频| 99re成人精品视频| 欧美国产精品v| 国产一区二区h| 日韩视频免费观看高清完整版| 亚洲成人av电影| 欧美日韩一区二区三区四区 | 亚洲精品一区二区三区在线观看 | 日本不卡123| 欧美电影免费观看完整版| 亚洲国产日韩精品| 欧美剧情电影在线观看完整版免费励志电影 | 免费在线一区观看| 26uuu亚洲综合色欧美| 国产精品自拍在线| 欧美激情在线一区二区三区| 成人精品视频网站|