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

📄 queue.lis

📁 mp3代码 要用的干净下啊 希望用东西共享啊
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module queue.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\桌面\mp3\queue\queue.c
 0000                   .dbfunc e InitQueue _InitQueue fV
 0000                   .dbstruct 0 9 .1
 0000                   .dbfield 0 front c
 0000                   .dbfield 1 rear c
 0000                   .dbfield 2 count c
 0000                   .dbfield 3 data pc
 0000                   .dbfield 5 queuesize c
 0000                   .dbfield 6 errorcode c
 0000                   .dbfield 7 status c
 0000                   .dbfield 8 memo c
 0000                   .dbend
 0000           ;              Q -> R16,R17
                        .even
 0000           _InitQueue::
 0000                   .dbline -1
 0000                   .dbline 53
 0000           ; /*********************************************************************************************************
 0000           ; **                                                            QUEUE队列头文件 
 0000           ; **                                  (c) Copyright 2006-2008, limaokui
 0000           ; **                                           All Rights Reserved
 0000           ; **
 0000           ; **                                             V1.0.0
 0000           ; **
 0000           ; **
 0000           ; **--------------文件信息--------------------------------------------------------------------------------
 0000           ; **文   件   名:queue.h
 0000           ; **创   建   人: 李茂奎
 0000           ; **最后修改日期:  2006年8月29日
 0000           ; **描        述:  
 0000           ; **
 0000           ; **--------------历史版本信息----------------------------------------------------------------------------
 0000           ; ** 创建人: 李茂奎
 0000           ; ** 版  本: V1.00
 0000           ; ** 日 期: 2006年8月29日
 0000           ; ** 描 述: 原始版本
 0000           ; **
 0000           ; **------------------------------------------------------------------------------------------------------
 0000           ; ** 修改人: 李茂奎
 0000           ; ** 版  本:
 0000           ; ** 日 期:
 0000           ; ** 描 述: 
 0000           ; **
 0000           ; **--------------当前版本修订------------------------------------------------------------------------------
 0000           ; ** 修改人:    李茂奎                                                                                                                                                                    
 0000           ; ** 日 期:     2006年8月29日
 0000           ; ** 描 述:   
 0000           ; **
 0000           ; **------------------------------------------------------------------------------------------------------
 0000           ; *********************************************************************************************************
 0000           ; **使用说明:在定义队列时请定义一个静态数组,并将此数组传递给队列的data,并将数据长度传递给queuesize
 0000           ;   #define TWI_SEND_DATA_BUFFER_SIZE 100
 0000           ;   static uint8 Twi_SendData[TWI_SEND_DATA_BUFFER_SIZE];
 0000           ;   CirQueue Twi_SendBuffer={0,0,0,Twi_SendData,TWI_SEND_DATA_BUFFER_SIZE,QUEUE_OK};
 0000           ; 
 0000           ; *********************************************************************************************************/
 0000           ; #include "config.h"
 0000           ; /*********************************************************************************************************
 0000           ; ** 函数名称:InitQueue
 0000           ; ** 功能描述:初始化队列
 0000           ; ** 输 入:  
 0000           ; ** 输  出:             
 0000           ; ** 全局变量: 
 0000           ; ** 调用模块: 
 0000           ; ** 说明:
 0000           ; ** 注意:    
 0000           ; ** 日 期:   2006年8月29日
 0000           ; ********************************************************************************************************/
 0000           ; void InitQueue(CirQueue * Q)
 0000           ; {
 0000                   .dbline 55
 0000           ; //CLI();
 0000           ; Q->front=Q->rear=0;
 0000 2224              clr R2
 0002 F801              movw R30,R16
 0004 2182              std z+1,R2
 0006 F801              movw R30,R16
 0008 2082              std z+0,R2
 000A                   .dbline 56
 000A           ; Q->count=0;
 000A 2282              std z+2,R2
 000C                   .dbline 57
 000C           ; Q->errorcode= QUEUE_OK;
 000C F801              movw R30,R16
 000E 2682              std z+6,R2
 0010                   .dbline 58
 0010           ; Q->memo=0;
 0010 F801              movw R30,R16
 0012 2086              std z+8,R2
 0014                   .dbline 59
 0014           ; Q->status=TWI_DATA_FREE;
 0014 F801              movw R30,R16
 0016 2782              std z+7,R2
 0018                   .dbline -2
 0018           L7:
 0018                   .dbline 0 ; func end
 0018 0895              ret
 001A                   .dbsym r Q 16 pS[.1]
 001A                   .dbend
 001A                   .dbfunc e EnQueue _EnQueue fV
 001A           ;              x -> R22
 001A           ;              Q -> R20,R21
                        .even
 001A           _EnQueue::
 001A 0E940000          xcall push_gset2
 001E 622F              mov R22,R18
 0020 A801              movw R20,R16
 0022                   .dbline -1
 0022                   .dbline 105
 0022           ; //SEI();
 0022           ; }
 0022           ; /*********************************************************************************************************
 0022           ; ** 函数名称:EmptyQueue(CirQueue *Q)
 0022           ; ** 功能描述:判断队列是否为空
 0022           ; ** 输 入:  
 0022           ; ** 输  出:             
 0022           ; ** 全局变量: 
 0022           ; ** 调用模块: 
 0022           ; ** 说明:
 0022           ; ** 注意:    
 0022           ; ** 日 期:   2006年8月29日
 0022           ; ********************************************************************************************************
 0022           ; uint8 EmptyQueue(CirQueue * Q)
 0022           ; {
 0022           ; return Q->count==0;
 0022           ; }
 0022           ; /*********************************************************************************************************
 0022           ; ** 函数名称:FullQueue(CirQueue *Q)
 0022           ; ** 功能描述:判断队列是否为满
 0022           ; ** 输 入:  
 0022           ; ** 输  出:             
 0022           ; ** 全局变量: 
 0022           ; ** 调用模块: 
 0022           ; ** 说明:
 0022           ; ** 注意:    
 0022           ; ** 日 期:   2006年8月29日
 0022           ; ********************************************************************************************************
 0022           ; 
 0022           ; uint8 FullQueue(CirQueue * Q)
 0022           ; {
 0022           ; return (Q->count == Q->queuesize);
 0022           ; }
 0022           ; /*********************************************************************************************************
 0022           ; ** 函数名称:EnQueue
 0022           ; ** 功能描述:入队
 0022           ; ** 输 入:  
 0022           ; ** 输  出:             
 0022           ; ** 全局变量: 
 0022           ; ** 调用模块: 
 0022           ; ** 说明:
 0022           ; ** 注意:    
 0022           ; ** 日 期:   2006年8月29日
 0022           ; ********************************************************************************************************/
 0022           ; void EnQueue(CirQueue * Q,uint8 x)
 0022           ; {
 0022                   .dbline 106
 0022           ; if(FullQueue(Q))
 0022 FA01              movw R30,R20
 0024 2580              ldd R2,z+5
 0026 FA01              movw R30,R20
 0028 3280              ldd R3,z+2
 002A 3214              cp R3,R2
 002C 41F4              brne L9
 002E                   .dbline 107
 002E           ;    {
 002E                   .dbline 108
 002E           ;    Q->errorcode=QUEUE_OVERFLOW;
 002E 81E0              ldi R24,1
 0030 FA01              movw R30,R20
 0032 8683              std z+6,R24
 0034                   .dbline 109
 0034           ;    Q->count=Q->queuesize;
 0034 FA01              movw R30,R20
 0036 2580              ldd R2,z+5
 0038 FA01              movw R30,R20
 003A 2282              std z+2,R2
 003C                   .dbline 110
 003C           ;    return;
 003C 1EC0              xjmp L8
 003E           L9:
 003E                   .dbline 113
 003E           ;    }
 003E           ; //CLI();
 003E           ; Q->count++;
 003E CA01              movw R24,R20
 0040 0296              adiw R24,2

⌨️ 快捷键说明

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