⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fw.ls1

📁 提供了usb接口fx2芯片的编程。从io输入到后来的差分信号输出。都给了详细的例子
💻 LS1
📖 第 1 页 / 共 5 页
字号:
0031 750000   F      412             MOV     pStringDscr+01H,#LOW (StringDscr)
                     413     ; 
                     414     ;    if ((WORD)&DeviceDscr & 0xe000)
                     415                             ; SOURCE LINE # 136
0034 EE              416             MOV     A,R6
0035 54E0            417             ANL     A,#0E0H
0037 7003            418             JNZ     $ + 5H
0039 020000   F      419             LJMP    ?C0001
                     420     ;    {
                     421                             ; SOURCE LINE # 137
                     422     ;       IntDescrAddr = INTERNAL_DSCR_ADDR;
                     423                             ; SOURCE LINE # 138
003C 750000   F      424             MOV     IntDescrAddr?044,#00H
003F 750080   F      425             MOV     IntDescrAddr?044+01H,#080H
                     426     ;       ExtDescrAddr = (WORD)&DeviceDscr;
                     427                             ; SOURCE LINE # 139
0042 8E00     F      428             MOV     ExtDescrAddr?045,R6
0044 8F00     F      429             MOV     ExtDescrAddr?045+01H,R7
                     430     ;       DevDescrLen = (WORD)&UserDscr - (WORD)&DeviceDscr + 2;
                     431                             ; SOURCE LINE # 140
0046 C3              432             CLR     C
0047 7400     F      433             MOV     A,#LOW (UserDscr)
0049 9F              434             SUBB    A,R7
004A FF              435             MOV     R7,A
004B 7400     F      436             MOV     A,#HIGH (UserDscr)
004D 9E              437             SUBB    A,R6
004E CF              438             XCH     A,R7
004F 2402            439             ADD     A,#02H
0051 CF              440             XCH     A,R7
0052 3400            441             ADDC    A,#00H
0054 FE              442             MOV     R6,A
0055 E4              443             CLR     A
0056 8F00     F      444             MOV     DevDescrLen?042+03H,R7
0058 8E00     F      445             MOV     DevDescrLen?042+02H,R6
005A F500     F      446             MOV     DevDescrLen?042+01H,A
005C F500     F      447             MOV     DevDescrLen?042,A
                     448     ;       for (i = 0; i < DevDescrLen; i++)
                     449                             ; SOURCE LINE # 141
005E F500     F      450             MOV     i?040+03H,A
0060 F500     F      451             MOV     i?040+02H,A
0062 F500     F      452             MOV     i?040+01H,A
0064 F500     F      453             MOV     i?040,A
0066                 454     ?C0002:
A51 MACRO ASSEMBLER  FW                                                                   12/29/2005 11:19:53 PAGE     8

0066 AF00     F      455             MOV     R7,DevDescrLen?042+03H
0068 AE00     F      456             MOV     R6,DevDescrLen?042+02H
006A AD00     F      457             MOV     R5,DevDescrLen?042+01H
006C AC00     F      458             MOV     R4,DevDescrLen?042
006E AB00     F      459             MOV     R3,i?040+03H
0070 AA00     F      460             MOV     R2,i?040+02H
0072 A900     F      461             MOV     R1,i?040+01H
0074 A800     F      462             MOV     R0,i?040
0076 C3              463             CLR     C
0077 120000   F      464             LCALL   ?C?ULCMP
007A 5026            465             JNC     ?C0003
                     466     ;          *((BYTE xdata *)IntDescrAddr+i) = 0xCD;
                     467                             ; SOURCE LINE # 142
007C E500     F      468             MOV     A,IntDescrAddr?044+01H
007E 2500     F      469             ADD     A,i?040+03H
0080 F582            470             MOV     DPL,A
0082 E500     F      471             MOV     A,IntDescrAddr?044
0084 3500     F      472             ADDC    A,i?040+02H
0086 F583            473             MOV     DPH,A
0088 74CD            474             MOV     A,#0CDH
008A F0              475             MOVX    @DPTR,A
008B E500     F      476             MOV     A,i?040+03H
008D 2401            477             ADD     A,#01H
008F F500     F      478             MOV     i?040+03H,A
0091 E4              479             CLR     A
0092 3500     F      480             ADDC    A,i?040+02H
0094 F500     F      481             MOV     i?040+02H,A
0096 E4              482             CLR     A
0097 3500     F      483             ADDC    A,i?040+01H
0099 F500     F      484             MOV     i?040+01H,A
009B E4              485             CLR     A
009C 3500     F      486             ADDC    A,i?040
009E F500     F      487             MOV     i?040,A
00A0 80C4            488             SJMP    ?C0002
00A2                 489     ?C0003:
                     490     ;       for (i = 0; i < DevDescrLen; i++)
                     491                             ; SOURCE LINE # 143
00A2 E4              492             CLR     A
00A3 F500     F      493             MOV     i?040+03H,A
00A5 F500     F      494             MOV     i?040+02H,A
00A7 F500     F      495             MOV     i?040+01H,A
00A9 F500     F      496             MOV     i?040,A
00AB                 497     ?C0005:
00AB AF00     F      498             MOV     R7,DevDescrLen?042+03H
00AD AE00     F      499             MOV     R6,DevDescrLen?042+02H
00AF AD00     F      500             MOV     R5,DevDescrLen?042+01H
00B1 AC00     F      501             MOV     R4,DevDescrLen?042
00B3 AB00     F      502             MOV     R3,i?040+03H
00B5 AA00     F      503             MOV     R2,i?040+02H
00B7 A900     F      504             MOV     R1,i?040+01H
00B9 A800     F      505             MOV     R0,i?040
00BB C3              506             CLR     C
00BC 120000   F      507             LCALL   ?C?ULCMP
00BF 5033            508             JNC     ?C0006
                     509     ;          *((BYTE xdata *)IntDescrAddr+i) = *((BYTE xdata *)ExtDescrAddr+i);
                     510                             ; SOURCE LINE # 144
00C1 E500     F      511             MOV     A,ExtDescrAddr?045+01H
00C3 2500     F      512             ADD     A,i?040+03H
00C5 F582            513             MOV     DPL,A
00C7 E500     F      514             MOV     A,ExtDescrAddr?045
00C9 3500     F      515             ADDC    A,i?040+02H
00CB F583            516             MOV     DPH,A
00CD E0              517             MOVX    A,@DPTR
00CE FF              518             MOV     R7,A
00CF E500     F      519             MOV     A,IntDescrAddr?044+01H
00D1 2500     F      520             ADD     A,i?040+03H
A51 MACRO ASSEMBLER  FW                                                                   12/29/2005 11:19:53 PAGE     9

00D3 F582            521             MOV     DPL,A
00D5 E500     F      522             MOV     A,IntDescrAddr?044
00D7 3500     F      523             ADDC    A,i?040+02H
00D9 F583            524             MOV     DPH,A
00DB EF              525             MOV     A,R7
00DC F0              526             MOVX    @DPTR,A
00DD E500     F      527             MOV     A,i?040+03H
00DF 2401            528             ADD     A,#01H
00E1 F500     F      529             MOV     i?040+03H,A
00E3 E4              530             CLR     A
00E4 3500     F      531             ADDC    A,i?040+02H
00E6 F500     F      532             MOV     i?040+02H,A
00E8 E4              533             CLR     A
00E9 3500     F      534             ADDC    A,i?040+01H
00EB F500     F      535             MOV     i?040+01H,A
00ED E4              536             CLR     A
00EE 3500     F      537             ADDC    A,i?040
00F0 F500     F      538             MOV     i?040,A
00F2 80B7            539             SJMP    ?C0005
00F4                 540     ?C0006:
                     541     ;       pDeviceDscr = IntDescrAddr;
                     542                             ; SOURCE LINE # 145
00F4 850000   F      543             MOV     pDeviceDscr,IntDescrAddr?044
00F7 850000   F      544             MOV     pDeviceDscr+01H,IntDescrAddr?044+01H
                     545     ;       offset = (WORD)&DeviceDscr - INTERNAL_DSCR_ADDR;
                     546                             ; SOURCE LINE # 146
00FA 7400     F      547             MOV     A,#LOW (DeviceDscr)
00FC 2480            548             ADD     A,#080H
00FE FF              549             MOV     R7,A
00FF 7400     F      550             MOV     A,#HIGH (DeviceDscr)
0101 34FF            551             ADDC    A,#0FFH
0103 FE              552             MOV     R6,A
                     553     ;---- Variable 'offset?041' assigned to Register 'R6/R7' ----
                     554     ;       pDeviceQualDscr -= offset;
                     555                             ; SOURCE LINE # 147
0104 C3              556             CLR     C
0105 E500     F      557             MOV     A,pDeviceQualDscr+01H
0107 9F              558             SUBB    A,R7
0108 F500     F      559             MOV     pDeviceQualDscr+01H,A
010A E500     F      560             MOV     A,pDeviceQualDscr
010C 9E              561             SUBB    A,R6
010D F500     F      562             MOV     pDeviceQualDscr,A
                     563     ;       pConfigDscr -= offset;
                     564                             ; SOURCE LINE # 148
010F C3              565             CLR     C
0110 E500     F      566             MOV     A,pConfigDscr+01H
0112 9F              567             SUBB    A,R7
0113 F500     F      568             MOV     pConfigDscr+01H,A
0115 E500     F      569             MOV     A,pConfigDscr
0117 9E              570             SUBB    A,R6
0118 F500     F      571             MOV     pConfigDscr,A
                     572     ;       pOtherConfigDscr -= offset;
                     573                             ; SOURCE LINE # 149
011A C3              574             CLR     C
011B E500     F      575             MOV     A,pOtherConfigDscr+01H
011D 9F              576             SUBB    A,R7
011E F500     F      577             MOV     pOtherConfigDscr+01H,A
0120 E500     F      578             MOV     A,pOtherConfigDscr
0122 9E              579             SUBB    A,R6
0123 F500     F      580             MOV     pOtherConfigDscr,A
                     581     ;       pHighSpeedConfigDscr -= offset;
                     582                             ; SOURCE LINE # 150
0125 C3              583             CLR     C
0126 E500     F      584             MOV     A,pHighSpeedConfigDscr+01H
0128 9F              585             SUBB    A,R7
0129 F500     F      586             MOV     pHighSpeedConfigDscr+01H,A
A51 MACRO ASSEMBLER  FW                                                                   12/29/2005 11:19:53 PAGE    10

012B E500     F      587             MOV     A,pHighSpeedConfigDscr
012D 9E              588             SUBB    A,R6
012E F500     F      589             MOV     pHighSpeedConfigDscr,A
                     590     ;       pFullSpeedConfigDscr -= offset;
                     591                             ; SOURCE LINE # 151
0130 C3              592             CLR     C
0131 E500     F      593             MOV     A,pFullSpeedConfigDscr+01H
0133 9F              594             SUBB    A,R7
0134 F500     F      595             MOV     pFullSpeedConfigDscr+01H,A
0136 E500     F      596             MOV     A,pFullSpeedConfigDscr
0138 9E              597             SUBB    A,R6
0139 F500     F      598             MOV     pFullSpeedConfigDscr,A
                     599     ;       pStringDscr -= offset;
                     600                             ; SOURCE LINE # 152
013B C3              601             CLR     C
013C E500     F      602             MOV     A,pStringDscr+01H
013E 9F              603             SUBB    A,R7
013F F500     F      604             MOV     pStringDscr+01H,A
0141 E500     F      605             MOV     A,pStringDscr
0143 9E              606             SUBB    A,R6
0144 F500     F      607             MOV     pStringDscr,A
                     608     ;    }
                     609                             ; SOURCE LINE # 153
0146                 610     ?C0001:
                     611     ; 
                     612     ;    EZUSB_IRQ_ENABLE();            // Enable USB interrupt (INT2)
                     613                             ; SOURCE LINE # 155
0146 D2E8            614             SETB    EUSB
                     615     ;    EZUSB_ENABLE_RSMIRQ();            // Wake-up interrupt
                     616                             ; SOURCE LINE # 156
0148 43D820          617             ORL     EICON,#020H
                     618     ; 
                     619     ;    INTSETUP |= (bmAV2EN | bmAV4EN);     // Enable INT 2 & 4 autovectoring
                     620                             ; SOURCE LINE # 158
014B 900000   F      621             MOV     DPTR,#INTSETUP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -