📄 usb_hid_led_et.asm
字号:
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (258)
; }
RET
; exit point of _AddUsbBmRequestType
BANK 0
;***
; pBlock Stats: dbName = C
;***
;entry: _AddUsbGetReportSub: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;; Starting pCode block
_AddUsbGetReportSub: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (251)
; }
RET
; exit point of _AddUsbGetReportSub
BANK 0
;***
; pBlock Stats: dbName = C
;***
;entry: _AddUsbRt0xA3Request: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;; Starting pCode block
_AddUsbRt0xA3Request: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (243)
; }
RET
; exit point of _AddUsbRt0xA3Request
BANK 0
;***
; pBlock Stats: dbName = C
;***
;entry: _AddUsbRt0xA1Request: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;; Starting pCode block
_AddUsbRt0xA1Request: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (236)
; }
RET
; exit point of _AddUsbRt0xA1Request
BANK 0
;***
; pBlock Stats: dbName = C
;***
;entry: _AddUsbRt0xA0Request: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;; Starting pCode block
_AddUsbRt0xA0Request: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (229)
; }
RET
; exit point of _AddUsbRt0xA0Request
BANK 0
;***
; pBlock Stats: dbName = C
;***
;entry: _AddUsbRt0x23Request: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;; Starting pCode block
_AddUsbRt0x23Request: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (222)
; }
RET
; exit point of _AddUsbRt0x23Request
BANK 0
;***
; pBlock Stats: dbName = C
;***
;entry: _AddUsbRt0x21Request: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;; Starting pCode block
_AddUsbRt0x21Request: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (215)
; }
RET
; exit point of _AddUsbRt0x21Request
BANK 0
;***
; pBlock Stats: dbName = C
;***
;entry: _AddUsbRt0x20Request: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;; Starting pCode block
_AddUsbRt0x20Request: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (209)
; }
RET
; exit point of _AddUsbRt0x20Request
BANK 0
;***
; pBlock Stats: dbName = C
;***
;entry: _AddUsbRt0x82Request: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;; Starting pCode block
_AddUsbRt0x82Request: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (203)
; }
RET
; exit point of _AddUsbRt0x82Request
BANK 0
;***
; pBlock Stats: dbName = C
;***
;entry: _AddUsbRt0x80Request: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;; Starting pCode block
_AddUsbRt0x80Request: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (196)
; }
RET
; exit point of _AddUsbRt0x80Request
BANK 0
;***
; pBlock Stats: dbName = C
;***
;entry: _AddUsbRt0x00Request: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;; Starting pCode block
_AddUsbRt0x00Request: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (190)
; }
RET
; exit point of _AddUsbRt0x00Request
BANK 0
;***
; pBlock Stats: dbName = C
;***
;entry: _AddUsbRt0x02Request: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;; Starting pCode block
_AddUsbRt0x02Request: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (183)
; }
RET
; exit point of _AddUsbRt0x02Request
BANK 0
;***
; pBlock Stats: dbName = C
;***
;entry: _AddUsbRt0x01Request: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;; Starting pCode block
_AddUsbRt0x01Request: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (177)
; }
RET
; exit point of _AddUsbRt0x01Request
BANK 0
;***
; pBlock Stats: dbName = C
;***
;entry: _AddUsbInitialWorkSub: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;; Starting pCode block
_AddUsbInitialWorkSub: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (170)
; }
RET
; exit point of _AddUsbInitialWorkSub
BANK 0
;***
; pBlock Stats: dbName = C
;***
;entry: _AddUsbSetReportSub: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;; Starting pCode block
_AddUsbSetReportSub: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (163)
; }
RET
; exit point of _AddUsbSetReportSub
BANK 0
;***
; pBlock Stats: dbName = C
;***
;entry: _DelayNs: ;Function start
; 1 exit point
;Using Bank: Bank0
;has an exit
;2 compiler assigned registers:
; r0xAB
; r0xAC
;; Starting pCode block
_DelayNs: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (143)
; //;============================================================
MOV r0xAB,A
MOV A,r0xAB
MOV r0xAC,A
_00169_DS_usb_hid_led_DelayNs:
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (150)
; while(nNs)
ZCHK r0xAC
JBS _STTS,2,_00172_DS_usb_hid_led_DelayNs
NOP ;inline asm
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (153)
; nNs--;
DEC r0xAC
JMP _00169_DS_usb_hid_led_DelayNs
_00172_DS_usb_hid_led_DelayNs:
RET
; exit point of _DelayNs
;***
; pBlock Stats: dbName = C
;***
;entry: _DelayMs: ;Function start
; 1 exit point
;Using Bank: Bank0
;has an exit
;functions called:
; _DelayNs
; _DelayNs
; _DelayNs
; _DelayNs
;2 compiler assigned registers:
; r0xA9
; r0xAA
;; Starting pCode block
_DelayMs: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (106)
; //;============================================================
MOV r0xA9,A
MOV A,r0xA9
MOV r0xAA,A
_00161_DS_usb_hid_led_DelayMs:
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (137)
; while(nMs)
ZCHK r0xAA
JBS _STTS,2,_00164_DS_usb_hid_led_DelayMs
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (139)
; DelayNs(250);
MOV A,#0xfa
CALL _DelayNs
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (140)
; DelayNs(250);
MOV A,#0xfa
CALL _DelayNs
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (141)
; DelayNs(250);
MOV A,#0xfa
CALL _DelayNs
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (142)
; DelayNs(250);
MOV A,#0xfa
CALL _DelayNs
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (143)
; nMs--;
DEC r0xAA
JMP _00161_DS_usb_hid_led_DelayMs
_00164_DS_usb_hid_led_DelayMs:
RET
; exit point of _DelayMs
;***
; pBlock Stats: dbName = C
;***
;entry: _ScanButton: ;Function start
; 1 exit point
;Using Bank: Bank0
;has an exit
;8 compiler assigned registers:
; r0xA0
; r0xA2
; r0xA3
; r0xA4
; r0xA5
; r0xA6
; r0xA7
; r0xA8
;; Starting pCode block
_ScanButton: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (102)
; IOCC = 0x0F;
MOV A,#0x0f
MOV _IOCC,A
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (103)
; PUCC = 0x0F; // col
MOV A,#0x0f
MOV _PUCC,A
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (104)
; IOCB = 0;
CLR _IOCB
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (105)
; BtnRow =0;
CLR _PORTB
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (106)
; for(byi=0;byi<4;byi++)
CLR _byi
_00133_DS_usb_hid_led_ScanButton:
MOV A,#0x04
SUB A,_byi
JBS _STTS,0,_00137_DS_usb_hid_led_ScanButton
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (108)
; IOCB = 0;
CLR _IOCB
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (109)
; BtnRow =0;
CLR _PORTB
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (110)
; if(M_ISBC(BtnCol,byi))
MOV A,#0x01
MOV r0xA0,A
COMA _byi
RRC r0xA0,1
_00148_DS_usb_hid_led_ScanButton:
RLC r0xA0,1
ADD A,#0x01
JBC _STTS,0,_00148_DS_usb_hid_led_ScanButton
MOV A,r0xA0
AND A,_PORTC
JBC _STTS,2,_00135_DS_usb_hid_led_ScanButton
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (112)
; for(byj=0;byj<4;byj++)
CLR _byj
_00129_DS_usb_hid_led_ScanButton:
MOV A,#0x04
SUB A,_byj
JBS _STTS,0,_00135_DS_usb_hid_led_ScanButton
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (114)
; BtnRow = 15-(0x01<<byj);
MOV A,#0x01
MOV r0xA2,A
COMA _byj
RRC r0xA2,1
_00151_DS_usb_hid_led_ScanButton:
RLC r0xA2,1
ADD A,#0x01
JBC _STTS,0,_00151_DS_usb_hid_led_ScanButton
MOV A,r0xA2
SUB A,#0x0f
MOV _PORTB,A
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (115)
; if(M_ISBC(BtnCol,byi))
MOV A,r0xA0
AND A,_PORTC
JBC _STTS,2,_00131_DS_usb_hid_led_ScanButton
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (117)
; byOffset = byi*4 + byj;
MOV A,_byi
CLR r0xA3
CLR r0xA4
ADD r0xA4,A
RRC r0xA4,1
RRC r0xA3,1
RRC r0xA4,1
RRC r0xA3,1
RRC r0xA4,1
RRC r0xA3,1
RRC r0xA4,1
RRC r0xA3,1
RRC r0xA4,1
RRC r0xA3,1
RRC r0xA4,1
RRC r0xA3,1
MOV A,_byj
MOV r0xA5,A
CLR r0xA6
MOV A,r0xA5
ADD A,r0xA3
MOV _byOffset,A
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (118)
; byOffset &= 0x0f;
MOV A,#0x0f
AND _byOffset,A
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (119)
; if(byOffset < 8)
MOV A,#0x08
SUB A,_byOffset
JBS _STTS,0,_00123_DS_usb_hid_led_ScanButton
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (121)
; M_BS(byData1,byOffset);
MOV A,#0x01
MOV r0xA7,A
COMA _byOffset
RRC r0xA7,1
_00155_DS_usb_hid_led_ScanButton:
RLC r0xA7,1
ADD A,#0x01
JBC _STTS,0,_00155_DS_usb_hid_led_ScanButton
MOV A,r0xA7
OR _byData1,A
JMP _00131_DS_usb_hid_led_ScanButton
_00123_DS_usb_hid_led_ScanButton:
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (125)
; byOffset -= 8;
MOV A,#0xf8
ADD _byOffset,A
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (126)
; M_BS(byData2,byOffset);
MOV A,#0x01
MOV r0xA8,A
COMA _byOffset
RRC r0xA8,1
_00156_DS_usb_hid_led_ScanButton:
RLC r0xA8,1
ADD A,#0x01
JBC _STTS,0,_00156_DS_usb_hid_led_ScanButton
MOV A,r0xA8
OR _byData2,A
_00131_DS_usb_hid_led_ScanButton:
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (112)
; for(byj=0;byj<4;byj++)
INC _byj
JMP _00129_DS_usb_hid_led_ScanButton
_00135_DS_usb_hid_led_ScanButton:
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (106)
; for(byi=0;byi<4;byi++)
INC _byi
JMP _00133_DS_usb_hid_led_ScanButton
_00137_DS_usb_hid_led_ScanButton:
RET
; exit point of _ScanButton
;***
; pBlock Stats: dbName = C
;***
;entry: _LedStart: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;functions called:
; _AddUsbEp1Sub
; _ScanButton
; _DelayMs
; _DelayMs
;; Starting pCode block
_LedStart: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (52)
; AddUsbEp1Sub();
CALL _AddUsbEp1Sub
_00117_DS_usb_hid_led_LedStart:
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (56)
; byData1 =0;
CLR _byData1
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (57)
; byData2 = 0;
CLR _byData2
BANK 0
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (58)
; ScanButton();
CALL _ScanButton
BANK 1
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (61)
; M_BS(EP1CSR,RXTXEN);
BS _EP1CSR,0
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (63)
; DelayMs(4);
MOV A,#0x04
BANK 0
CALL _DelayMs
BANK 1
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (65)
; M_BS(EP2CSR,RXTXEN);
BS _EP2CSR,0
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (68)
; if(M_ISBS(RegState,LedGet))
JBC _RegState,2,_00115_DS_usb_hid_led_LedStart
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (70)
; M_BC(RegState,LedGet);
BC _RegState,2
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (71)
; PORTLED = byLedData;
MOV A,_byLedData
MOV _PORTA,A
_00115_DS_usb_hid_led_LedStart:
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (73)
; DelayMs(5);
MOV A,#0x05
BANK 0
CALL _DelayMs
BANK 1
JMP _00117_DS_usb_hid_led_LedStart
RET
; exit point of _LedStart
BANK 0
;***
; pBlock Stats: dbName = C
;***
;entry: _LedInitial: ;Function start
; 1 exit point
;Using Bank: Bank0
;has an exit
;; Starting pCode block
_LedInitial: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (36)
; byLedData = 0;
CLR _byLedData
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (37)
; byData1 = 0;
CLR _byData1
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (38)
; byData2 = 0;
CLR _byData2
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (40)
; PORTA = 0;
CLR _PORTA
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (41)
; PORTB = 0;
CLR _PORTB
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (42)
; PORTC = 0;
CLR _PORTC
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (43)
; PUCB = 0;
CLR _PUCB
BANK 1
;#CSRC E:\Usb_Hid\Interrupt\HID_LED\firmware_c_led\usb_hid_led.c (45)
; M_BC(EP1CSR,RXTXEN);
BC _EP1CSR,0
BANK 0
RET
; exit point of _LedInitial
; end
;Code Option Setting Value:0x4010
;Protect :DISABLE
;USBClock:ENABLE
;RFClock :6M
;MCUClock:6M
ORG 0x3FFF
DW 0x4010
ENDO
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -