📄 d12setup.lis
字号:
; case 0x02 :
; //?XmtBuff.wrLength = sizeof(USBStringDescription2);
; //?XmtBuff.p = USBStringDescription2;
; break;
0314 L67:
0314 .dbline 392
; default :
; void_function();
0314 E7DE rcall _void_function
0316 .dbline 393
; return;
0316 03C0 rjmp L47
0318 X5:
0318 .dbline 395
; }
; break;
0318 L49:
0318 .dbline 397
; default :
; void_function();
0318 E5DE rcall _void_function
031A .dbline 398
; return;
031A 01C0 rjmp L47
031C L50:
031C .dbline 400
; }
; USB_submit();
031C 00D0 rcall _USB_submit
031E .dbline -2
031E .dbline 401
; }
031E L47:
031E 00D0 rcall pop_gset1
0320 .dbline 0 ; func end
0320 0895 ret
0322 .dbsym r i 20 i
0322 .dbfunc s get_configuration _get_configuration fI
.even
0322 _get_configuration::
0322 .dbline -1
0322 .dbline 426
; /************************************************************
; **工程名称:U盘固件程序开发
; **编译器类型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **创建人:陈驰
; **所属单位:湖南大学计算机与通信学院
;
; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **时钟频率:8MHZ
;
; **函数功能:标准设备请求
; **函数输入参数及说明:无
;
; **函数返回值:无
; **在本函数以外定义的变量:D12_COMMAND,D12_DATA
; **调用的函数说明:
; USB_submit();
; 控制端点提交函数
;
; **修改人:陈驰
; **修改日期:2004.4.30
; **修改说明:创建
; *************************************************************/
; void get_configuration(void)
; {
0322 .dbline 427
; XmtBuff.b[0] = 1;//返回是否被配置(非 0 为配置)
0322 81E0 ldi R24,1
0324 80930000 sts _XmtBuff,R24
0328 .dbline 428
; XmtBuff.wrLength = 16;
0328 80E1 ldi R24,16
032A 90E0 ldi R25,0
032C 90934100 sts _XmtBuff+64+1,R25
0330 80934000 sts _XmtBuff+64,R24
0334 .dbline 429
; XmtBuff.p_p=0;
0334 2224 clr R2
0336 20924600 sts _XmtBuff+70,R2
033A .dbline 430
; XmtBuff.p = XmtBuff.b;
033A 80E0 ldi R24,<_XmtBuff
033C 90E0 ldi R25,>_XmtBuff
033E 90934500 sts _XmtBuff+68+1,R25
0342 80934400 sts _XmtBuff+68,R24
0346 .dbline 431
; USB_submit();
0346 00D0 rcall _USB_submit
0348 .dbline -2
0348 .dbline 432
; }
0348 L74:
0348 .dbline 0 ; func end
0348 0895 ret
034A .dbfunc s set_configuration _set_configuration fI
; j -> R20
.even
034A _set_configuration::
034A 00D0 rcall push_gset1
034C .dbline -1
034C .dbline 457
; /************************************************************
; **工程名称:U盘固件程序开发
; **编译器类型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **创建人:陈驰
; **所属单位:湖南大学计算机与通信学院
;
; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **时钟频率:8MHZ
;
; **函数功能:标准设备请求
; **函数输入参数及说明:无
;
; **函数返回值:无
; **在本函数以外定义的变量:D12_COMMAND,D12_DATA
; **调用的函数说明:
; USB_submit();
; 控制端点提交函数
;
; **修改人:陈驰
; **修改日期:2004.4.30
; **修改说明:创建
; *************************************************************/
; void set_configuration(void)
; {
034C .dbline 459
; unsigned char j;
; if (XmtBuff.b[0] == 0x00)
034C 20900000 lds R2,_XmtBuff
0350 2220 tst R2
0352 51F5 brne L79
0354 .dbline 460
; {
0354 .dbline 461
; XmtBuff.wrLength = 0;
0354 2224 clr R2
0356 3324 clr R3
0358 30924100 sts _XmtBuff+64+1,R3
035C 20924000 sts _XmtBuff+64,R2
0360 .dbline 462
; USB_submit();
0360 00D0 rcall _USB_submit
0362 .dbline 463
; j = XmtBuff.b[2];
0362 40910200 lds R20,_XmtBuff+2
0366 .dbline 464
; D12_COMMAND = 0xd8;
0366 88ED ldi R24,216
0368 8093017C sts 31745,R24
036C .dbline 465
; if(j == 0x00)
036C 4423 tst R20
036E 21F4 brne L83
0370 .dbline 466
; {
0370 .dbline 467
; D12_DATA = 0x00; // 停止普通/同步端点
0370 2224 clr R2
0372 2092007C sts 31744,R2
0376 .dbline 468
0376 15C0 rjmp L84
0378 L83:
0378 .dbline 468
; }else if(j == 0x01)
0378 4130 cpi R20,1
037A 99F4 brne L85
037C .dbline 469
; {
037C .dbline 470
; D12_DATA = 0x01; // 使能普通/同步端点
037C 81E0 ldi R24,1
037E 8093007C sts 31744,R24
0382 .dbline 471
; cwait;
0382 0000 nop
0384 .dbline 472
; D12_COMMAND = 0x03;
0384 83E0 ldi R24,3
0386 8093017C sts 31745,R24
038A .dbline 473
; cwait;
038A 0000 nop
038C .dbline 474
; D12_COMMAND = 0xfa;// 设置 IN 缓冲区有效(满标志)
038C 8AEF ldi R24,250
038E 8093017C sts 31745,R24
0392 .dbline 475
; cwait;
0392 0000 nop
0394 .dbline 476
; D12_COMMAND = 0x05;
0394 85E0 ldi R24,5
0396 8093017C sts 31745,R24
039A .dbline 477
; cwait;
039A 0000 nop
039C .dbline 478
; D12_COMMAND = 0xfa;// 设置 IN 缓冲区有效(满标志)
039C 8AEF ldi R24,250
039E 8093017C sts 31745,R24
03A2 .dbline 479
; }
03A2 L85:
03A2 L84:
03A2 .dbline 480
; csram;
03A2 609301FC sts 0xfc01,R22
03A6 .dbline 480
03A6 .dbline 481
; }
03A6 01C0 rjmp L80
03A8 L79:
03A8 .dbline 483
03A8 9DDE rcall _void_function
03AA L80:
03AA .dbline -2
03AA .dbline 484
; else
; void_function();
; }
03AA L78:
03AA 00D0 rcall pop_gset1
03AC .dbline 0 ; func end
03AC 0895 ret
03AE .dbsym r j 20 c
03AE .dbfunc s get_interface _get_interface fI
.even
03AE _get_interface::
03AE .dbline -1
03AE .dbline 509
; /************************************************************
; **工程名称:U盘固件程序开发
; **编译器类型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **创建人:陈驰
; **所属单位:湖南大学计算机与通信学院
;
; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **时钟频率:8MHZ
;
; **函数功能:标准设备请求
; **函数输入参数及说明:无
;
; **函数返回值:无
; **在本函数以外定义的变量:传输结构体
; **调用的函数说明:
; USB_submit();
; 控制端点提交函数
;
; **修改人:陈驰
; **修改日期:2004.4.30
; **修改说明:创建
; *************************************************************/
; void get_interface(void)
; {
03AE .dbline 510
; XmtBuff.b[0] = 0;
03AE 2224 clr R2
03B0 20920000 sts _XmtBuff,R2
03B4 .dbline 511
; XmtBuff.wrLength = 1;
03B4 81E0 ldi R24,1
03B6 90E0 ldi R25,0
03B8 90934100 sts _XmtBuff+64+1,R25
03BC 80934000 sts _XmtBuff+64,R24
03C0 .dbline 512
; XmtBuff.p_p=0;
03C0 20924600 sts _XmtBuff+70,R2
03C4 .dbline 513
; XmtBuff.p = XmtBuff.b;
03C4 80E0 ldi R24,<_XmtBuff
03C6 90E0 ldi R25,>_XmtBuff
03C8 90934500 sts _XmtBuff+68+1,R25
03CC 80934400 sts _XmtBuff+68,R24
03D0 .dbline 514
; USB_submit();
03D0 00D0 rcall _USB_submit
03D2 .dbline -2
03D2 .dbline 515
; }
03D2 L87:
03D2 .dbline 0 ; func end
03D2 0895 ret
03D4 .dbfunc s set_interface _set_interface fI
.even
03D4 _set_interface::
03D4 .dbline -1
03D4 .dbline 540
; /************************************************************
; **工程名称:U盘固件程序开发
; **编译器类型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **创建人:陈驰
; **所属单位:湖南大学计算机与通信学院
;
; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **时钟频率:8MHZ
;
; **函数功能:标准设备请求
; **函数输入参数及说明:无
;
; **函数返回值:无
; **在本函数以外定义的变量:传输结构体
; **调用的函数说明:
; USB_submit();
; 控制端点提交函数
;
; **修改人:陈驰
; **修改日期:2004.4.30
; **修改说明:创建
; *************************************************************/
; void set_interface(void)
; {
03D4 .dbline 541
; XmtBuff.wrLength = 0;
03D4 2224 clr R2
03D6 3324 clr R3
03D8 30924100 sts _XmtBuff+64+1,R3
03DC 20924000 sts _XmtBuff+64,R2
03E0 .dbline 542
; USB_submit();
03E0 00D0 rcall _USB_submit
03E2 .dbline -2
03E2 .dbline 543
; }
03E2 L91:
03E2 .dbline 0 ; func end
03E2 0895 ret
.area bss(ram, con, rel)
0000 .dbfile G:\source\D12Setup.c
0000 _XmtBuff::
0000 .blkb 71
0047 .dbsym s XmtBuff _XmtBuff X
.area func_lit
0000 EA01 PL_set_interface: .word `_set_interface
0002 D701 PL_get_interface: .word `_get_interface
0004 A501 PL_set_configuration: .word `_set_configuration
0006 9101 PL_get_configuration: .word `_get_configuration
0008 2F01 PL_get_descriptor: .word `_get_descriptor
000A 1A01 PL_set_address: .word `_set_address
000C E700 PL_set_feature: .word `_set_feature
000E 7200 PL_void_function: .word `_void_function
0010 B500 PL_clear_feature: .word `_clear_feature
0012 8800 PL_get_status: .word `_get_status
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -