📄 chinese_code.s
字号:
.module chinese_code.c
.area text(rom, con, rel)
.dbfile E:\MYWORK~1\开发设计\AVR-MP3\mp3开发板光盘\驱动程序\MP3BOA~1.8\chinese_code.c
.dbfunc e Abtain_code _Abtain_code fV
; code_buffer -> R12,R13
; number -> R10
.even
_Abtain_code::
xcall push_gset4
movw R12,R18
mov R10,R16
sbiw R28,4
.dbline -1
.dbline 17
; //ICC-AVR application builder : 2005-11-12 17:11:59
; // Target : M16
; // Crystal: 8.0000Mhz
; // copyright:鲁军波(endylu)
; // www.shop34612283.taobao.com
; // www.adembed.com
; #include <iom16v.h>
; #include <macros.h>
; #include "main.h"
;
;
; extern uint32 CHINALIB_point;
; extern MP3_INFO mp3_info;
;
; //=======================================================================
; void Abtain_code(uint8 number,uint8 *code_buffer)
; {
.dbline 18
; SD_read_sector2(CHINALIB_point+((long)mp3_info.NAME[number]<<5),code_buffer,24);
ldi R24,24
ldi R25,0
std y+3,R25
std y+2,R24
std y+1,R13
std y+0,R12
ldi R24,2
mul R24,R10
movw R30,R0
ldi R24,<_mp3_info
ldi R25,>_mp3_info
add R30,R24
adc R31,R25
ldd R2,z+0
ldd R3,z+1
clr R4
clr R5
ldi R24,5
ldi R25,0
st -y,R24
movw R16,R2
movw R18,R4
xcall lsl32
lds R4,_CHINALIB_point+2
lds R5,_CHINALIB_point+2+1
lds R2,_CHINALIB_point
lds R3,_CHINALIB_point+1
add R2,R16
adc R3,R17
adc R4,R18
adc R5,R19
movw R16,R2
movw R18,R4
xcall _SD_read_sector2
.dbline -2
L1:
adiw R28,4
xcall pop_gset4
.dbline 0 ; func end
ret
.dbsym r code_buffer 12 pc
.dbsym r number 10 c
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -