📄 readwrite.asm
字号:
include body.inc
#include usbfifo.inc
extern FIFO_OUT1 :byte
extern FIFO_OUT2 :byte
extern FIFO_OUT3 :byte
extern FIFO_OUT4 :byte
extern FIFO_OUT5 :byte
extern FIFO_OUT6 :byte
extern FIFO_OUT7 :byte
extern FIFO_OUT8 :byte
extern bDataUpdate_IN :bit
extern bDataUpdate_OUT :bit
;function
public FromUSB1
public FromUSB
public ToUSB
public VAR_Init
public Timer1_ISR
public User_Action
sdata .section 'data' ;
myMP0 db ?
myStatus db ? ;push status
myAcc db ? ;pop acc
DataBuf_IN db 8 DUP(0)
DataBuf_OUT db 8 DUP(0)
KeepData db 8 DUP(0)
fakeData db ?
serial .section 'code' ;
;----------------------------------------------------------
User_Action:
SNZ bDataUpdate_OUT
RET
CLR bDataUpdate_OUT
MOV a,DataBuf_OUT[0]
MOV DataBuf_IN[0],A
MOV a,DataBuf_OUT[1]
MOV DataBuf_IN[1],A
MOV a,DataBuf_OUT[2]
MOV DataBuf_IN[2],A
MOV a,DataBuf_OUT[3]
MOV DataBuf_IN[3],A
MOV a,DataBuf_OUT[4]
MOV DataBuf_IN[4],A
MOV a,DataBuf_OUT[5]
MOV DataBuf_IN[5],A
MOV a,DataBuf_OUT[6]
MOV DataBuf_IN[6],A
MOV a,DataBuf_OUT[7]
MOV DataBuf_IN[7],A
SET bDataUpdate_IN
ret
;----------------------------------------------------------
; from device to host (IN)
;----------------------------------------------------------
ToUSB:
mov a, DataBuf_IN[0]
mov FIFO_OUT1,a
mov a, DataBuf_IN[1]
mov FIFO_OUT2,a
mov a, DataBuf_IN[2]
mov FIFO_OUT3,a
mov a, DataBuf_IN[3]
mov FIFO_OUT4,a
mov a, DataBuf_IN[4]
mov FIFO_OUT5,a
mov a, DataBuf_IN[5]
mov FIFO_OUT6,a
mov a, DataBuf_IN[6]
mov FIFO_OUT7,a
mov a, DataBuf_IN[7]
mov FIFO_OUT8,a
clr bDataUpdate_IN
ret
;----------------------------------------------------------
; from host to device (OUT)
;----------------------------------------------------------
FromUSB:
mov a, FIFO_OUT1
;mov KeepData[0],a
mov DataBuf_OUT[0],a
mov a, FIFO_OUT2
;mov KeepData[1],a
mov DataBuf_OUT[1],a
mov a, FIFO_OUT3
;mov KeepData[2],a
mov DataBuf_OUT[2],a
mov a, FIFO_OUT4
;mov KeepData[3],a
mov DataBuf_OUT[3],a
mov a, FIFO_OUT5
;mov KeepData[4],a
mov DataBuf_OUT[4],a
mov a, FIFO_OUT6
;mov KeepData[5],a
mov DataBuf_OUT[5],a
mov a, FIFO_OUT7
;mov KeepData[6],a
mov DataBuf_OUT[6],a
mov a, FIFO_OUT8
;mov KeepData[7],a
mov DataBuf_OUT[7],a
set bDataUpdate_OUT
ret
;----------------------------------------------------------
; from host to device (OUT)
;----------------------------------------------------------
FromUSB1:
mov a, FIFO_OUT1
;mov KeepData[0],a
mov DataBuf_OUT[0],a
mov a, FIFO_OUT2
;mov KeepData[1],a
mov DataBuf_OUT[1],a
mov a, FIFO_OUT3
;mov KeepData[2],a
mov DataBuf_OUT[2],a
mov a, FIFO_OUT4
;mov KeepData[3],a
mov DataBuf_OUT[3],a
mov a, FIFO_OUT5
;mov KeepData[4],a
mov DataBuf_OUT[4],a
mov a, FIFO_OUT6
;mov KeepData[5],a
mov DataBuf_OUT[5],a
mov a, FIFO_OUT7
;mov KeepData[6],a
mov DataBuf_OUT[6],a
mov a, FIFO_OUT8
;mov KeepData[7],a
mov DataBuf_OUT[7],a
set bDataUpdate_IN
RET
;----------------------------------------------------------
VAR_Init:
;clr fakeData
ret
;----------------------------------------------------------
; timer 1 interrupt subroutine
; enter this subroutine per 4ms
;----------------------------------------------------------
Timer1_ISR:
reti
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -