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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? runtime3.asm

?? 在單片機內(nèi)嵌BASIC語言解釋程序的完整代碼
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
*         title    RUNTIME3.TXT
*         page
*
*
RFOR:	EQU    *
	LDD    FORSTACK     ; GET FOR STACK POINTER.
	SUBD   #10          ; ALLOCATE NEW FOR-NEXT DESCRIPTOR BLOCK.
	CPD    EFORSTK      ; HAVE WE RUN OUT OF FOR-NEXT STACK SPACE?
	BHS    RFOR1        ; NO. CONTINUE.
	LDAA   #FORNXERR    ; YES. ERROR.
	JMP    RPTRERR      ; REPORT ERROR.
RFOR1:	STD    FORSTACK     ; SAVE NEW STACK POINTER.
	PSHY                ; SAVE IP ON STACK.
	JSR    RVARPTR      ; GET POINTER TO ASIGNMENT VARIABLE.
	PULY                ; RESTORE IP.
	LDX    FORSTACK     ; GET FOR STACK POINTER.
	STD    0,X          ; PUT POINTER TO CONTROL VARIABLE IN STACK.
	LDD    CURLINE      ; GET CURRENT LINE NUMBER.
	STD    8,X          ; SAVE CURRENT LINE NUMBER IN STACK.
	JSR    RLET         ; GO DO ASIGNMENT PART OF FOR.
	JSR    RSKIPSPC     ; SKIP SPACES.
	INY                 ; SKIP PAST "TO" TOKEN.
	JSR    RSKIPSPC     ; SKIP SPACES.
	JSR    DONEXP       ; CALCULATE THE TERMINATING LOOP VALUE.
	JSR    PULNUM       ; GET NUMBER OFF OF THE STACK.
	LDX    FORSTACK     ; GET STACK POINTER.
	STD    4,X          ; PUT VALUE IN STACK BLOCK.
	LDD    #1           ; ASSUME A "STEP" VALUE OF 1.
RFOR3:	STD    2,X          ; PUT IT IN THE STACK.
	JSR    RSKIPSPC     ; SKIP SPACES.
	LDAA   0,Y          ; GET NEXT TOKEN.
	CMPA   #STEPTOK     ; IS THE STEP CLAUSE PRESENT?
	BEQ    RFOR2        ; YES. GO GET THE "STEP" VALUE.
	STY    6,X          ; PUT TERMINATING CHARACTER OF "FOR" STATEMENT ON.
	RTS                 ; EXECUTE NEXT STATEMENT.
RFOR2:	INY                 ; SKIP PAST THE "STEP" TOKEN.
	JSR    RSKIPSPC     ; SKIP SPACES.
	JSR    DONEXP       ; GO CALCULATE THE "STEP" VALUE.
	JSR    PULNUM       ; GET VALUE OFF OPERAND STACK.
	LDX    FORSTACK     ; GET POINTER TO FOR STACK.
	BRA    RFOR3        ; GO PUT VALUE IN STACK.
*
*
RNEXT:	EQU    *
	JSR    RVARPTR      ; GET POINTER TO LOOP INDEX VARIABLE.
	LDX    FORSTACK     ; GET "FOR" STACK POINTER.
	CPD    0,X          ; IS THE LOOP VARIABLE THE SAME?
	BEQ    RNEXT1       ; YES. CONTINUE.
	LDAA   #MFRNXERR    ; NO. ERROR.
	JMP    RPTRERR      ; GO REPORT IT.
RNEXT1:	PSHY                ; SAVE IP.
	LDY    0,X          ; GET POINTER TO CONTROL VARIABLE.
	LDD    0,Y          ; GET CONTROL VARIABLE VALUE.
	ADDD   2,X          ; ADD THE STEP VALUE TO IT.
	STD    0,Y          ; SAVE THE RESULT.
	TST    2,X          ; IS THE STEP VALUE NEGATIVE?
	BMI    RNEXT2       ; YES. GO DO TEST.
	CPD    4,X          ; NO. ARE WE DONE?
	BLE    RNEXT3       ; NO. GO DO THE LOOP AGAIN.
RNEXT4:	PULY                ; RESTORE THE CURRENT IP.
	XGDX                ; PUT "FOR - NEXT" STACK POINTER IN D.
	ADDD   #10          ; REMOVE DESCRIPTOR FROM STACK.
	STD    FORSTACK     ; SAVE NEW STACK VALUE.
	JSR    RSKIPSPC     ; SKIP SPACES AFTER CONTROL VARIABLE.
	RTS                 ; DO THE STATEMENT AFTER THE NEXT.
RNEXT2:	CPD    4,X          ; ARE WE DONE?
	BLT    RNEXT4       ; YES. CONTINUE.
RNEXT3:	PULY                ; CLEAN Y OFF OF STACK.
	LDY    6,X          ; GET NEW IP.
	LDD    8,X          ; GET LINE NUMBER OF FOR STATEMENT.
	STD    CURLINE      ; MAKE IT THE CURRENT LINE.
	RTS         
*
*
*
*
RINPUT:	EQU    *
	BSR    CHCKDEV      ; CHECK FOR ALTERNATE INPUT DEVICE.
	LDAA   0,Y          ; GET A TOKEN.
	CMPA   #SCONTOK     ; IS THERE A PROMPT TO PRINT?
	BNE    RINPUT1      ; NO JUST GO GET THE DATA.
	PSHY                ; YES. SAVE POINTER.
	LDAB   #2           ; COMPENSATE FOR CONSTANT & LENGTH BYTE.
	ADDB   1,Y          ; ADD IN LENGTH BYTE.
	ABY                 ; POINT BEYOND PROMPT.
	PULX                ; GET POINTER INTO X.
	INX                 ; POINT TO LENGTH BYTE.
	LDAB   0,X          ; GET IT.
	SUBB   #2           ; SUBTRACT OUT THE DELIMETER COUNT.
	INX                 ; POINT TO STRING.
	INX
	JSR    OUTSTR       ; GO PRINT THE STRING.
	INY                 ; BYPASS COMMA.
	JSR    RSKIPSPC     ; SKIP SPACES AFTER COMMA.
	BRA    RINPUT6
RINPUT1:	JSR    NL
RINPUT6:	EQU    *
	LDX    #QSP         ; POINT TO PROMPT.
	JSR    PL           ; PRINT IT.
	JSR    GETLINE      ; GET THE DATA IN THE INPUT BUFFER.
	BSR    RINRDC
	BCS    RINPUT1
	JSR    NL
	CLR    DEVNUM       ; SET DEVICE NUMBER BACK TO 0.
	RTS
*
*
QSP:	FCC    "? "
	FCB    0
*
*
CHCKDEV:	LDAA   0,Y          ; GET A TOKEN.
	CMPA   #PNUMTOK     ; IS AN ALTERNATE DEVICE SPECIFYED?
	BEQ    CHCKDEV1     ; YES. CONTINUE.
	RTS                 ; NO. RETURN.
CHCKDEV1:	INY                 ; YES. PASS THE '#' TOKEN.
	JSR    RSKIPSPC     ; SKIP SPACES.
	JSR    DONEXP       ; GO EVALUATE THE NUMERIC EXPRESSION.
	JSR    PULNUM       ; GET THE NUMBER OFF THE STACK.
	BPL    CHCKDEV2     ; NEGATIVE NUMBERS NOT ALLOWED.
CHCKDEV3:	LDAA   #ILLIOERR    ; REPORT THE ERROR.
	JMP    RPTRERR
CHCKDEV2:	CPD    #$0007       ; IS IT LARGER THAN 7?
	BHI    CHCKDEV3
	STAB   DEVNUM       ; MAKE IT THE NEW DEVICE NUMBER.
	JSR    RSKIPSPC     ; SKIP SPACES.
	CMPA   #EOLTOK      ; IF THIS IS A PRINT STATEMENT, IS IT EOL?
	BEQ    CHCKDEV4     ; YES. DON'T BUMP THE IP.
	INY                 ; BYPASS THE COMMA.
	JSR    RSKIPSPC     ; SKIP SPACES.
CHCKDEV4:	RTS                 ; RETURN.
*
*
*
RINRDC:	JSR    SKIPSPCS
	CMPA   #EOL
	BNE    RINRDC1
	SEC
	RTS
RINRDC1:	BSR    INNUMD
	JSR    RSKIPSPC
	LDAA   0,Y
	CMPA   #EOLTOK
	BEQ    RINRDC2
	CMPA   #MEOLTOK
	BEQ    RINRDC2
	INY                 ; BUMP PAST THE COMMA.
	JSR    RSKIPSPC
	BRA    RINRDC 
RINRDC2:	CLC
	RTS
*
*
INNUMD:	EQU    *
	CMPA   #'$'
	BNE    INNUM2
	JSR    INCIBP
	JSR    GETHEX
	BRA    INNUM3
INNUM2:	JSR    INDECI
INNUM3:	EQU    *
*        PSHD
	PSHB
	PSHA
	JSR    SKIPSPCS
	CMPA   #COMMA
	BEQ    INNUM4
	CMPA   #EOL
	BEQ    INNUM7
	LDAA   #MCOMAERR
	JMP    RPTRERR
INNUM4:	JSR    INCIBP
INNUM7:	JSR    RVARPTR
	XGDX
	PULA
	PULB
	STD    0,X
	RTS
*
OUTSTR   EQU    *
	TSTB
	BEQ    OUTSTR2
OUTSTR1  LDAA   0,X
	INX
	JSR    OUTBYTE
	DECB
	BNE    OUTSTR1
OUTSTR2  RTS
*
*
INDECI:	EQU    *
	JSR    GETCHR       ; GET A CHARACTER.
	CMPA   #'-'	; IS IT A NEGATIVE NUMBER?
	BNE    INDECI1      ; NO. GO GET POSITIVE NUMBER.
	JSR    INCIBP       ; YES. BUMP INPUT BUFFER PAST IT.
	JSR    GETDECI      ; GET THE NUMBER.
	COMA		; NEGATE IT.
	COMB
	ADDD   #1
	RTS		; RETURN.
INDECI1:	JSR    GETDECI
	RTS
*
*
RREAD:	EQU    *
	LDX    DATAPTR      ; GET POINTER TO DATA. IS IT POINTING TO DATA?
	BNE    RREAD1       ; YES. CONTINUE TO READ DATA.
	BSR    RRESTOR      ; NO. GO GET POINTER TO FIRST DATA STATEMENT.
	LDX    DATAPTR      ; GET POINTER TO DATA.
RREAD1:	STX    IBUFPTR      ; PUT IT IN THE INPUT BUFFER POINTER.
	JSR    RINRDC       ; GO USE INPUT/READ COMMON CODE.
	BCS    RREAD2       ; IF CARRY SET, MORE DATA TO READ.
	LDX    IBUFPTR      ; GET POINTER TO DATA LINE.
	STX    DATAPTR      ; SAVE DATA POINTER FOR NEXT READ.
	RTS                 ; RETURN.
RREAD2:	PSHY                ; SAVE Y.
	LDY    IBUFPTR      
	INY
	INY
	BSR    RESTOR4      ; GO FIND NEXT "DATA" STATEMENT.
	PULY                ; RESTORE Y.
	BRA    RREAD        ; KEEP READING DATA.
*
*
RRESTOR:	EQU    *
	PSHY                ; SAVE Y.
	LDY    BASBEG       ; START SEARCH FOR "DATA" STATEMENTS AT THE BEGIN.
RESTOR2:	PSHY                ; SAVE POINTER TO THIS LINE.
	LDAB   2,Y          ; GET LINE LENGTH.
	ABY                 ; GET START OF NEXT LINE.
	STY    DATAPTR      ; SAVE IN "DATAPTR".
	PULY                ; RESTORE POINTER.
	LDAB   #3
	ABY                 ; POINT TO FIRST TOKEN IN LINE.
	JSR    RSKIPSPC     ; SKIP SPACES.
	LDAA   0,Y          ; GET THE KEYWORD.
	CMPA   #DATATOK     ; IS IT A DATA LINE?
	BEQ    RESTOR1      ; YES. GO SET UP POINTER.
	LDY    DATAPTR      ; GET ADDRESS OF NEXT LINE.
RESTOR3:	CPY    BASEND       ; ARE WE AT THE END OF THE PROGRAM?
	BNE    RESTOR2      ; NO. KEEP LOOKING.
	LDAA   #ODRDERR     ; OUT OF DATA ERROR.
	JMP    RPTRERR      ; REPORT THE ERROR.
RESTOR1:	INY                 ; POINT PAST DATA TOKEN & THE DATA LENGTH.
	INY
	STY    DATAPTR      ; SAVE POINTER TO DATA.
	PULY                ; RESTORE Y.
	RTS                 ; RETURN.
*
*
RESTOR4:	PSHY                ; CALL TO COMPENSATE FOR PULL OF Y ON RETURN.
	BRA    RESTOR3
*
*
RIF:	EQU    *
	JSR    DONEXP       ; GO DO A NUMERIC EXPRESSION.
	JSR    RSKIPSPC     ; SKIP SPACES.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃av噜噜一区| 亚洲国产sm捆绑调教视频| 日本一区二区三区在线不卡| 国产日韩欧美精品综合| 国产精品69毛片高清亚洲| 91电影在线观看| 久久久噜噜噜久噜久久综合| 亚洲老妇xxxxxx| 蜜桃在线一区二区三区| 亚洲精品一区二区三区香蕉| 成人欧美一区二区三区视频网页| 视频一区二区三区在线| 高清不卡一区二区在线| 欧美日韩成人一区二区| 中文子幕无线码一区tr| 久久精品99国产精品日本| 欧美色涩在线第一页| 国产精品私人自拍| 国产一区二区不卡| 欧美一区二区三区视频免费播放| 中文无字幕一区二区三区 | 老司机精品视频线观看86| 精品国产第一区二区三区观看体验 | 午夜国产精品影院在线观看| eeuss鲁片一区二区三区 | 国产婷婷色一区二区三区四区| 日本中文字幕不卡| 欧美丰满少妇xxxbbb| 亚洲电影第三页| 欧美色图在线观看| 亚洲国产视频直播| 久久一夜天堂av一区二区三区| 精品一区二区三区久久| 日韩一级大片在线观看| 首页亚洲欧美制服丝腿| 国产精品毛片久久久久久| 911国产精品| 美女高潮久久久| 亚洲人快播电影网| 欧美色区777第一页| 国产69精品久久777的优势| 亚洲图片有声小说| 中文字幕av不卡| 欧美xxxxxxxxx| 成人午夜精品在线| 亚洲欧美偷拍三级| 亚洲理论在线观看| 国产女人18水真多18精品一级做| 欧美区一区二区三区| 99天天综合性| 国产一区二区视频在线播放| 香蕉久久夜色精品国产使用方法| 日本一区二区三区在线观看| 精品国产91乱码一区二区三区 | 国产精品影音先锋| 日韩成人av影视| 亚洲成av人片在线| 一区二区三区精品在线| 欧美日韩国产精品自在自线| 91浏览器打开| 日本伊人午夜精品| 亚洲美女视频在线| 中文字幕一区二区三区在线播放| 久久久久国产精品麻豆ai换脸| 欧美大片国产精品| 粉嫩绯色av一区二区在线观看| 久久激情综合网| 丝袜亚洲另类欧美| 偷拍日韩校园综合在线| 亚洲444eee在线观看| 亚洲一区二区免费视频| 久久综合九色综合欧美98 | 2020国产精品久久精品美国| 777欧美精品| 欧美精品日韩精品| 欧美日本一区二区| 欧美丰满高潮xxxx喷水动漫| 精品婷婷伊人一区三区三| 欧美视频精品在线| 欧美日韩国产综合一区二区三区| 欧美在线三级电影| 国内精品第一页| 亚洲自拍偷拍麻豆| 亚洲午夜视频在线观看| 亚洲成人www| 日本视频在线一区| 狠狠色综合日日| 国产成a人亚洲精品| 国产很黄免费观看久久| 香蕉影视欧美成人| 青椒成人免费视频| 亚洲高清在线精品| 天堂一区二区在线免费观看| 久久国产精品区| 国产激情一区二区三区| 99国产精品久久久久久久久久 | 欧美疯狂性受xxxxx喷水图片| 91精品国产综合久久福利软件| 日韩欧美成人激情| 中文字幕欧美激情一区| 亚洲视频每日更新| 亚洲成人你懂的| 日本人妖一区二区| 成人永久aaa| 欧美视频在线观看一区二区| 日韩久久久精品| 国产精品丝袜久久久久久app| 亚洲美女少妇撒尿| 久久国产精品72免费观看| 国产99久久久国产精品免费看 | 欧美精品色综合| 久久久久88色偷偷免费| 一区二区三区不卡在线观看| 美女久久久精品| 91免费视频网址| 日韩一级二级三级| 亚洲视频网在线直播| 蜜臀av亚洲一区中文字幕| 粉嫩嫩av羞羞动漫久久久| 欧美日韩激情在线| 国产精品嫩草影院com| 日韩激情一区二区| av中文字幕在线不卡| 91精品国产乱码久久蜜臀| 亚洲国产精品v| 欧美a级一区二区| 91视频www| 欧美精品一区二| 午夜国产精品一区| aaa亚洲精品| 久久天堂av综合合色蜜桃网| 亚洲高清视频的网址| 成a人片亚洲日本久久| 国产福利一区二区三区视频| 欧美人牲a欧美精品| 中文字幕在线一区二区三区| 中文字幕视频一区| 韩国三级在线一区| 538在线一区二区精品国产| 国产精品久久久久9999吃药| 久久精品噜噜噜成人88aⅴ| 色哟哟亚洲精品| 欧美精品欧美精品系列| 日韩美女视频一区| 国产精品69久久久久水密桃| 精品国产一区二区精华 | 激情欧美一区二区三区在线观看| 日本道在线观看一区二区| 国产清纯白嫩初高生在线观看91 | 亚洲一区二区三区美女| 99久久久久久99| 国产欧美一区二区精品性色| 久久国产精品免费| 日韩欧美一区二区视频| 日韩成人精品在线观看| 欧美精品一级二级三级| 一区二区三区91| 99精品视频免费在线观看| 国产欧美精品国产国产专区| 老司机免费视频一区二区| 在线不卡免费欧美| 日日夜夜精品视频免费| 欧美精品aⅴ在线视频| 亚洲成a人v欧美综合天堂| 欧美视频在线一区| 亚洲韩国一区二区三区| 欧美优质美女网站| 夜夜精品浪潮av一区二区三区| 93久久精品日日躁夜夜躁欧美| 中文字幕日本乱码精品影院| 99久久婷婷国产精品综合| 《视频一区视频二区| 一本到不卡免费一区二区| 亚洲精品视频在线| 欧美午夜影院一区| 亚洲成人免费在线| 日韩欧美一区二区免费| 国产一区二区在线电影| 久久精品欧美日韩| 成人精品gif动图一区| 最新不卡av在线| 色999日韩国产欧美一区二区| 亚洲一区二区三区四区五区黄| 欧美肥胖老妇做爰| 久久国产剧场电影| 国产精品网站在线播放| 色婷婷综合在线| 日韩电影在线观看网站| 久久伊人中文字幕| a级高清视频欧美日韩| 亚洲一区二区美女| 精品理论电影在线观看| 成人av在线电影| 亚洲一区在线观看免费观看电影高清| 欧美疯狂做受xxxx富婆| 国产乱码精品一区二区三区av| 中文字幕一区二区三区四区不卡 | 中文文精品字幕一区二区| 色香蕉成人二区免费| 婷婷丁香久久五月婷婷|