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

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

?? cpu01mon.sa

?? 一個(gè)簡單的cpu的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一区二区三区免费野_久草精品视频
久久99精品国产91久久来源| 裸体一区二区三区| 国产在线精品一区二区不卡了| 成人精品小蝌蚪| 欧美大胆人体bbbb| 亚洲国产毛片aaaaa无费看| 国产成人av电影在线观看| 制服丝袜av成人在线看| 亚洲少妇30p| 成人免费高清在线| 欧美精品一区二区三| 视频精品一区二区| 欧美性感一区二区三区| 亚洲欧洲日韩女同| 成人激情小说网站| 久久久777精品电影网影网 | 国产人妖乱国产精品人妖| 婷婷成人综合网| 在线免费观看日韩欧美| 国产精品毛片无遮挡高清| 韩国在线一区二区| 精品少妇一区二区三区免费观看| 午夜精品福利在线| 欧美少妇性性性| 亚洲综合一区二区三区| 色综合夜色一区| 最新中文字幕一区二区三区| 国产成人免费视频网站| 精品国产髙清在线看国产毛片 | 国产精品乱码一区二区三区软件| 激情综合一区二区三区| 欧美不卡一区二区三区四区| 日韩精品电影一区亚洲| 欧美一区二区日韩| 日韩精品一二三四| 欧美一区二区在线免费播放| 日韩综合一区二区| 91精品国产综合久久精品麻豆| 亚洲成人av中文| 欧美日韩高清影院| 日韩av一级片| 精品日韩一区二区三区| 精品一区二区三区免费毛片爱| 精品久久久久香蕉网| 国产在线精品一区二区三区不卡 | www精品美女久久久tv| 久久99国产精品尤物| 精品少妇一区二区三区| 国产精品乡下勾搭老头1| 久久精品一区四区| 成人性生交大片免费| 中文字幕字幕中文在线中不卡视频| 99久久99久久精品免费看蜜桃| 亚洲三级小视频| 91精品办公室少妇高潮对白| 亚洲综合图片区| 51精品视频一区二区三区| 麻豆精品久久精品色综合| 久久亚洲精精品中文字幕早川悠里 | 欧美一区日本一区韩国一区| 久久黄色级2电影| 国产欧美日韩在线看| 成人av资源在线观看| 亚洲另类色综合网站| 欧美精品色一区二区三区| 免费精品99久久国产综合精品| 精品成人在线观看| caoporn国产精品| 亚洲在线视频一区| 欧美一二三区在线| 国产精品 日产精品 欧美精品| 1区2区3区国产精品| 欧美少妇xxx| 激情图区综合网| 中文字幕在线不卡视频| 欧美日韩aaaaaa| 国产一区不卡视频| 亚洲视频电影在线| 日韩一区二区三区在线观看| 国产高清精品在线| 亚洲综合色丁香婷婷六月图片| 日韩一区二区三区视频| 成人免费视频网站在线观看| 一区二区成人在线视频| 欧美大肚乱孕交hd孕妇| 99在线精品观看| 日产精品久久久久久久性色| 欧美国产日本韩| 欧美精品v国产精品v日韩精品| 国产一区二区毛片| 一区二区三区毛片| 精品久久久三级丝袜| 在线精品视频一区二区三四| 久久69国产一区二区蜜臀| 中文字幕亚洲一区二区va在线| 91精品在线一区二区| av综合在线播放| 久久电影网电视剧免费观看| 亚洲免费av网站| 欧美精品一区二区久久婷婷| 色综合天天综合网天天看片| 另类成人小视频在线| 亚洲欧美日本韩国| 久久丝袜美腿综合| 欧美日高清视频| 99久久伊人久久99| 精一区二区三区| 亚洲综合色网站| 国产精品卡一卡二| 欧美变态凌虐bdsm| 欧美日韩精品二区第二页| 成人国产精品视频| 久久超碰97中文字幕| 亚洲国产综合人成综合网站| 国产精品久久午夜| 久久婷婷成人综合色| 在线电影欧美成精品| 91网站黄www| 国产高清精品在线| 激情丁香综合五月| 亚洲r级在线视频| 亚洲日本欧美天堂| 国产欧美精品国产国产专区 | 欧美三级日韩三级| 99精品欧美一区| 国产美女一区二区三区| 日本va欧美va精品| 一二三区精品福利视频| 国产精品久久久久精k8| 久久久久久久综合| 精品理论电影在线| 欧美一级午夜免费电影| 在线电影一区二区三区| 欧美日韩中文另类| 91免费看`日韩一区二区| 成人污污视频在线观看| 国产成人精品影院| 九一久久久久久| 久久精品久久久精品美女| 日韩电影在线一区| 日本中文字幕一区二区有限公司| 一级中文字幕一区二区| 亚洲美女少妇撒尿| 亚洲丝袜精品丝袜在线| 中文字幕一区二区在线播放| 国产精品萝li| 国产精品美女久久久久久久网站| 久久久激情视频| 久久蜜桃香蕉精品一区二区三区| 久久综合久久综合久久综合| 精品国产一区二区精华| 日韩免费性生活视频播放| 欧美一区二区三区免费视频| 欧美一区国产二区| 日韩欧美国产麻豆| 欧美mv日韩mv亚洲| 久久人人爽人人爽| 国产欧美一区二区精品秋霞影院| 久久嫩草精品久久久精品| 国产亚洲精品7777| 中文字幕+乱码+中文字幕一区| 中文无字幕一区二区三区| 国产精品女人毛片| 国产精品国产三级国产三级人妇 | 久久精品国产久精国产| 精品一区二区av| 国产精品亚洲人在线观看| 国产精品亚洲成人| av毛片久久久久**hd| 一本大道av伊人久久综合| 欧美视频一区二区在线观看| 欧美日韩国产首页| 日韩一区二区视频| 久久久av毛片精品| 中文字幕日韩欧美一区二区三区| 亚洲色图视频网站| 午夜精品一区二区三区电影天堂| 日韩av成人高清| 国产精品一二一区| 99九九99九九九视频精品| 91福利视频网站| 日韩一级黄色片| 国产亚洲精品久| 一区二区三区自拍| 日韩精品五月天| 国产91丝袜在线观看| 91浏览器在线视频| 6080亚洲精品一区二区| 2021中文字幕一区亚洲| 日韩毛片一二三区| 日日夜夜精品视频免费| 国产美女一区二区| 色乱码一区二区三区88| 日韩一区二区在线看| 中文字幕第一区| 亚洲成人免费视频| 国产精品一级在线| 欧美撒尿777hd撒尿| 欧美精品一区二区在线观看| 亚洲欧美国产三级|