?? test.src
字號:
; C166/ST10 C compiler v6.0 r2 SN00082920-161 (c) 1998 TASKING, Inc.
; options: -Id:\c166\include -IC:\software\UCOS-II\C167\Tasking\test
; -IC:\software\UCOS-II\C167\Tasking\source
; -IC:\software\UCOS-II\C167\Tasking\Test -IC:\software\UCOS-II\SOURCE
; -xmifp -Ml -P -FFSc -Ot -OB -zautobitastruct-4 -zautobita-0 -T256 -s
; -g -zvolatile_union -A1 -O1
$DEBUG
$NOLOCALS
$EXTEND
$NOMOD166
$STDNAMES(reg.def)
$SEGMENTED
$CASE
$MODEL(LARGE)
$CHECKCPU16
NAME TEST_C
ASSUME DPP3:SYSTEM
?SYMB 'c:\software\ucos-ii\c167\tasking\test\test.c',32,80,16
?SYMB '',1,82,0
?SYMB '80166',0,84,0
?SYMB '',0,81,0
?SYMB 'void',00H,45,1
?SYMB 'char',080000H,45,2
?SYMB 'unsigned char',080000H,45,3
?SYMB 'short',0100000H,45,4
?SYMB 'unsigned short',0100000H,45,5
?SYMB 'long',0200000H,45,6
?SYMB 'unsigned long',0200000H,45,7
?SYMB 'float',0200000H,45,10
?SYMB 'double',0400000H,45,11
?SYMB 'int',0100000H,45,16
?SYMB 'unsigned int',0100000H,45,18
?SYMB 'bit',010000H,7,256
?SYMB 'c:\software\ucos-ii\c167\tasking\test\test.c',0,29,1
?SYMB '',0,86,1
; test.c 1 /*
; test.c 2 *********************************************************************************************************
; test.c 3 * uC/OS-II
; test.c 4 * The Real-Time Kernel
; test.c 5 *
; test.c 6 * (c) Copyright 1992-1998, Jean J. Labrosse, Plantation, FL
; test.c 7 * All Rights Reserved
; test.c 8 *
; test.c 9 * V2.00
; test.c 10 *
; test.c 11 * EXAMPLE #1
; test.c 12 * by Karl Wannenmacher
; test.c 13 * Nov 2000
; test.c 14 *********************************************************************************************************
; test.c 15 */
; test.c 16
; test.c 17
; test.c 18
; test.c 19 #include "includes.h"
?SYMB 'c:\software\ucos-ii\c167\tasking\test\includes.h',0,29,2
?SYMB '',0,86,2
?SYMB 'd:\c166\include\stdio.h',0,29,3
?SYMB '',0,86,3
?SYMB 'd:\c166\include\stdarg.h',0,29,4
?SYMB '',0,86,4
?SYMB '',0,86,3
?SYMB '',01a0002H,38,258
?SYMB '_iobuf',0,40,259
?SYMB '_ptr',0,23,258
?SYMB '_cnt',32,23,16
?SYMB '_base',48,23,258
?SYMB '_flag',80,23,2
?SYMB '_file',88,23,2
?SYMB '_bufsiz',96,23,16
?SYMB '',112,18,0
?SYMB 'FILE',259,13,260
?SYMB '',01a0001H,38,262
?SYMB '',01080106H,5,263
?SYMB '',16,47,264
?SYMB '',0,30,0
?SYMB '',0,49,0
?SYMB 'va_list',263,13,265
?SYMB 'size_t',18,13,266
?SYMB 'fpos_t',7,13,267
?SYMB '',0,86,2
?SYMB 'd:\c166\include\string.h',0,29,3
?SYMB '',0,86,3
?SYMB '',0,86,2
?SYMB 'd:\c166\include\ctype.h',0,29,3
?SYMB '',0,86,3
?SYMB '',0,86,2
?SYMB 'd:\c166\include\stdlib.h',0,29,3
?SYMB '',0,86,3
?SYMB 'T$1',0,40,268
?SYMB 'quot',0,23,16
?SYMB 'rem',16,23,16
?SYMB '',32,18,0
?SYMB 'div_t',268,13,269
?SYMB 'T$2',0,40,270
?SYMB 'quot',0,23,6
?SYMB 'rem',32,23,6
?SYMB '',64,18,0
?SYMB 'ldiv_t',270,13,271
?SYMB '',0,86,2
?SYMB 'd:\c166\include\reg167.h',0,29,3
?SYMB '',0,86,3
?SYMB '',0,86,2
?SYMB 'C:\software\UCOS-II\C167\Tasking\source\os_cpu.h',0,29,3
?SYMB '',0,86,3
?SYMB 'INT16U',5,13,272
?SYMB '',0,86,2
?SYMB 'c:\software\ucos-ii\c167\tasking\test\os_cfg.h',0,29,3
?SYMB '',0,86,3
?SYMB '',0,86,2
?SYMB 'C:\software\UCOS-II\C167\Tasking\source\ucos_ii.h',0,29,3
?SYMB '',0,86,3
?SYMB 'INT8U',3,13,273
?SYMB 'OS_STK',18,13,274
?SYMB '',01140111H,5,275
?SYMB '',16,47,276
?SYMB '',0,30,0
?SYMB '',1,49,0
?SYMB 'T$3',0,40,277
?SYMB 'OSEventPtr',0,23,262
?SYMB 'OSEventTbl',32,23,275
?SYMB 'OSEventCnt',48,23,272
?SYMB 'OSEventType',64,23,273
?SYMB 'OSEventGrp',72,23,273
?SYMB '',80,18,0
?SYMB 'OS_EVENT',277,13,278
?SYMB 'INT32U',7,13,279
?SYMB 'INT8S',2,13,280
?SYMB 'BOOLEAN',3,13,281
?SYMB '',01a0112H,38,283
?SYMB '',01a011cH,38,286
?SYMB '',01a0116H,38,288
?SYMB 'os_tcb',0,40,284
?SYMB 'OSTCBStkPtr',0,23,283
?SYMB 'OSTCBNext',32,23,286
?SYMB 'OSTCBPrev',64,23,286
?SYMB 'OSTCBEventPtr',96,23,288
?SYMB 'OSTCBMsg',128,23,262
?SYMB 'OSTCBDly',160,23,272
?SYMB 'OSTCBStat',176,23,273
?SYMB 'OSTCBPrio',184,23,273
?SYMB 'OSTCBX',192,23,273
?SYMB 'OSTCBY',200,23,273
?SYMB 'OSTCBBitX',208,23,273
?SYMB 'OSTCBBitY',216,23,273
?SYMB '',224,18,0
?SYMB 'OS_TCB',284,13,289
?SYMB 'T$4',0,40,290
?SYMB 'OSMsg',0,23,262
?SYMB 'OSEventTbl',32,23,275
?SYMB 'OSEventGrp',48,23,273
?SYMB '',64,18,0
?SYMB 'OS_MBOX_DATA',290,13,291
?SYMB 'T$5',0,40,292
?SYMB 'OSMsg',0,23,262
?SYMB 'OSNMsgs',32,23,272
?SYMB 'OSQSize',48,23,272
?SYMB 'OSEventTbl',64,23,275
?SYMB 'OSEventGrp',80,23,273
?SYMB '',96,18,0
?SYMB 'OS_Q_DATA',292,13,293
?SYMB 'T$6',0,40,294
?SYMB 'OSCnt',0,23,272
?SYMB 'OSEventTbl',16,23,275
?SYMB 'OSEventGrp',32,23,273
?SYMB '',48,18,0
?SYMB 'OS_SEM_DATA',294,13,295
?SYMB '',0,86,2
?SYMB '',0,86,1
; test.c 20
; test.c 21
; test.c 22 //Constants
; test.c 23 #define TASK_STK_SIZE 512 // Size of each task's stacks (# of WORDs) = 1KBytes
; test.c 24 #define N_TASKS 2 // Number of identical tasks
; test.c 25
; test.c 26
; test.c 27
; test.c 28 //Global Data
; test.c 29 OS_STK TaskStk[N_TASKS][TASK_STK_SIZE]; // Tasks stacks
TEST_1_FB SECTION DATA WORD PUBLIC 'CFAR'
TEST_1_FB_ENTRY LABEL BYTE
_TaskStk LABEL WORD
DS 2048
PUBLIC _TaskStk
?SYMB '',01290112H,5,296
?SYMB '',16,47,297
?SYMB '',0,30,0
?SYMB '',511,49,0
?SYMB '',012b0128H,5,298
?SYMB '',16,47,299
?SYMB '',0,30,0
?SYMB '',1,49,0
?SYMB 'TaskStk',_TaskStk,22,298
; test.c 30 OS_EVENT *pReceiverMailBox;
TEST_1_FB ENDS
TEST_2_NB SECTION DATA WORD PUBLIC 'CNEAR'
ASSUME DPP2:TEST_2_NB
TEST_2_NB_ENTRY LABEL BYTE
_pReceiverMailBox LABEL WORD
DS 4
PUBLIC _pReceiverMailBox
?SYMB 'pReceiverMailBox',_pReceiverMailBox,22,288
; test.c 31 OS_EVENT *pSenderMailBox;
_pSenderMailBox LABEL WORD
DS 4
PUBLIC _pSenderMailBox
?SYMB 'pSenderMailBox',_pSenderMailBox,22,288
; test.c 32
; test.c 33
; test.c 34 //Function Prototypes
; test.c 35 void ReceiverTask(void *data);
; test.c 36 void SenderTask(void *data);
; test.c 37
; test.c 38
; test.c 39 /*$PAGE*/
; test.c 40
; test.c 41
; test.c 42 //Main
; test.c 43 void main (void)
; test.c 44 {
TEST_2_NB ENDS
TEST_3_PR SECTION CODE WORD PUBLIC 'CPROGRAM'
?LINE 44
PUBLIC _main
?SYMB 'main',_main,37,1
?SYMB '',44,8,34
_main PROC FAR
?SYMB '',00H,95,0
; Locals:
;
; CSEs:
;
; test.c 45 DP2 = 0xffff;
?LINE 45
MOV DP2,#0FFFFh
; test.c 46 OSInit();
?LINE 46
MOV R12,#SOF _3
MOV [-R0],R12
?SYMB '',$,96,2
MOV R12,#SEG _3
MOV [-R0],R12
?SYMB '',$,96,4
JMPS SEG _OSInit,_OSInit
?SYMB '',$,96,0
_3:
; test.c 47 pReceiverMailBox = OSMboxCreate((void*)0);
?LINE 47
MOV R12,#00h
MOV R13,#00h
MOV R14,#SOF _4
MOV [-R0],R14
?SYMB '',$,96,2
MOV R14,#SEG _4
MOV [-R0],R14
?SYMB '',$,96,4
JMPS SEG _OSMboxCreate,_OSMboxCreate
?SYMB '',$,96,0
_4:
MOV _pReceiverMailBox,R4
MOV (_pReceiverMailBox+2),R5
; test.c 48 pSenderMailBox = OSMboxCreate((void*)0);
?LINE 48
MOV R12,#00h
MOV R13,#00h
MOV R14,#SOF _5
MOV [-R0],R14
?SYMB '',$,96,2
MOV R14,#SEG _5
MOV [-R0],R14
?SYMB '',$,96,4
JMPS SEG _OSMboxCreate,_OSMboxCreate
?SYMB '',$,96,0
_5:
MOV _pSenderMailBox,R4
MOV (_pSenderMailBox+2),R5
; test.c 49 OSTaskCreate(ReceiverTask, (void *)0, (void *)&TaskStk[0][TASK_STK_SIZE - 1], 3);
?LINE 49
MOV R12,#03h
MOV [-R0],R12
?SYMB '',$,96,2
MOV R13,#POF (_TaskStk+1022)
MOV R14,#PAG _TaskStk
MOV [-R0],R14
?SYMB '',$,96,4
MOV [-R0],R13
?SYMB '',$,96,6
MOV R12,#SOF _ReceiverTask
MOV R13,#SEG _ReceiverTask
MOV R14,#00h
MOV R15,#00h
MOV R1,#SOF _6
MOV [-R0],R1
?SYMB '',$,96,8
MOV R1,#SEG _6
MOV [-R0],R1
?SYMB '',$,96,10
JMPS SEG _OSTaskCreate,_OSTaskCreate
?SYMB '',$,96,6
_6:
ADD R0,#06h
?SYMB '',$,96,0
; test.c 50 OSTaskCreate(SenderTask, (void *)0, (void *)&TaskStk[1][TASK_STK_SIZE - 1], 4);
?LINE 50
MOV R12,#04h
MOV [-R0],R12
?SYMB '',$,96,2
MOV R13,#POF (_TaskStk+2046)
MOV R14,#PAG _TaskStk
MOV [-R0],R14
?SYMB '',$,96,4
MOV [-R0],R13
?SYMB '',$,96,6
MOV R12,#SOF _SenderTask
MOV R13,#SEG _SenderTask
MOV R14,#00h
MOV R15,#00h
MOV R1,#SOF _7
MOV [-R0],R1
?SYMB '',$,96,8
MOV R1,#SEG _7
MOV [-R0],R1
?SYMB '',$,96,10
JMPS SEG _OSTaskCreate,_OSTaskCreate
?SYMB '',$,96,6
_7:
ADD R0,#06h
?SYMB '',$,96,0
; test.c 51 OSStart();
?LINE 51
MOV R12,#SOF _8
MOV [-R0],R12
?SYMB '',$,96,2
MOV R12,#SEG _8
MOV [-R0],R12
?SYMB '',$,96,4
JMPS SEG _OSStart,_OSStart
?SYMB '',$,96,0
_8:
; test.c 52
; test.c 53
; test.c 54
; test.c 55 }
?LINE 55
MOV R3,[R0+]
MOV R2,[R0+]
ATOMIC #03h
PUSH R3
PUSH R2
RETS
_main ENDP
?SYMB '',$,17,55
; test.c 56
; test.c 57
; test.c 58 //Tasks
; test.c 59 void SenderTask (void *data)
; test.c 60 {
?LINE 60
PUBLIC _SenderTask
?SYMB 'SenderTask',_SenderTask,37,1
?SYMB '',60,8,34
_SenderTask PROC FAR
?SYMB '',00H,95,0
SUB R0,#02h
?SYMB '',$,96,2
; Locals:
; count = offset 0
; error = offset 1
;
; CSEs:
;
?SYMB 'count',2,98,273
?SYMB '-2',$,101,2
?SYMB 'error',1,98,273
?SYMB '-1',$,101,1
; test.c 61 INT8U count = 0;
; test.c 62 INT8U error;
; test.c 63 data = data;
; test.c 64
; test.c 65
; test.c 66
; test.c 67 while (1)
?LINE 67
_11:
; test.c 68 {
; test.c 69 for (count=0;count<10;count++)
?LINE 69
MOVB RL1,#00h
MOVB [R0],RL1
_12:
; test.c 70 {
; test.c 71 OSMboxPost(pSenderMailBox, (void*)&count);
?LINE 71
MOV R12,_pSenderMailBox
MOV R13,(_pSenderMailBox+2)
MOV R14,R0
AND R14,#03FFFh
MOV R15,DPP1
MOV R1,#SOF _13
MOV [-R0],R1
?SYMB '',$,96,4
MOV R1,#SEG _13
MOV [-R0],R1
?SYMB '',$,96,6
JMPS SEG _OSMboxPost,_OSMboxPost
?SYMB '',$,96,2
_13:
; test.c 72 OSMboxPend(pReceiverMailBox, 0, &error);
?LINE 72
MOV R12,#01h
ADD R12,R0
AND R12,#03FFFh
MOV R13,DPP1
MOV [-R0],R13
?SYMB '',$,96,4
MOV [-R0],R12
?SYMB '',$,96,6
MOV R12,_pReceiverMailBox
MOV R13,(_pReceiverMailBox+2)
MOV R14,#00h
MOV R15,#SOF _14
MOV [-R0],R15
?SYMB '',$,96,8
MOV R15,#SEG _14
MOV [-R0],R15
?SYMB '',$,96,10
JMPS SEG _OSMboxPend,_OSMboxPend
?SYMB '',$,96,6
_14:
ADD R0,#04h
?SYMB '',$,96,2
?LINE 69
MOVB RL1,[R0]
ADDB RL1,#01h
MOVB [R0],RL1
CMPB RL1,#0Ah
JMPR cc_ULT,_12
?LINE 67
JMPR cc_UC,_11
?SYMB '',$,102,1
?SYMB '',$,102,2
?SYMB '',$,96,0
; test.c 73 }
; test.c 74 }
; test.c 75
; test.c 76 }
?LINE 76
RETS
_SenderTask ENDP
?SYMB '',$,17,76
; test.c 77
; test.c 78
; test.c 79 void ReceiverTask (void *data)
; test.c 80 {
?LINE 80
PUBLIC _ReceiverTask
?SYMB 'ReceiverTask',_ReceiverTask,37,1
?SYMB '',80,8,34
_ReceiverTask PROC FAR
?SYMB '',0300H,95,0
MOV [-R0],R9
?SYMB '',$,96,2
MOV [-R0],R8
?SYMB '',$,96,4
SUB R0,#02h
?SYMB '',$,96,6
; Locals:
; error = offset 0
;
; CSEs:
; count = R8R9
;
?SYMB '',01a0111H,38,304
?SYMB 'count',1,98,304
?SYMB 'error',2,98,273
?SYMB '-6',$,101,2
; test.c 81
; test.c 82 INT8U *count;
; test.c 83 INT8U error;
; test.c 84 data = data;
; test.c 85 OSTickISRInit();
?LINE 85
MOV R12,#SOF _16
MOV [-R0],R12
?SYMB '',$,96,8
MOV R12,#SEG _16
MOV [-R0],R12
?SYMB '',$,96,10
JMPS SEG _OSTickISRInit,_OSTickISRInit
?SYMB '',$,96,6
_16:
; test.c 86
; test.c 87
; test.c 88 while (1)
?LINE 88
_15:
; test.c 89 {
; test.c 90 count = (INT8U*)OSMboxPend(pSenderMailBox, 0, &error);
?LINE 90
MOV R12,R0
AND R12,#03FFFh
MOV R13,DPP1
MOV [-R0],R13
?SYMB '',$,96,8
MOV [-R0],R12
?SYMB '',$,96,10
MOV R12,_pSenderMailBox
MOV R13,(_pSenderMailBox+2)
MOV R14,#00h
MOV R15,#SOF _17
MOV [-R0],R15
?SYMB '',$,96,12
MOV R15,#SEG _17
MOV [-R0],R15
?SYMB '',$,96,14
JMPS SEG _OSMboxPend,_OSMboxPend
?SYMB '',$,96,10
_17:
ADD R0,#04h
?SYMB '',$,96,6
MOV R8,R4
MOV R9,R5
?SYMB 'R8R9',$,100,1
; test.c 91 P2 = *count;
?LINE 91
EXTP R9,#01h
MOVB RL1,[R8]
MOVBZ R8,RL1
?SYMB '',$,102,1
MOV P2,R8
; test.c 92 OSTimeDlyHMSM(0, 0, 5, 0);
?LINE 92
MOV R12,#00h
MOV R13,#00h
MOV R14,#05h
MOV R15,#00h
MOV R8,#SOF _18
MOV [-R0],R8
?SYMB '',$,96,8
MOV R8,#SEG _18
MOV [-R0],R8
?SYMB '',$,96,10
JMPS SEG _OSTimeDlyHMSM,_OSTimeDlyHMSM
?SYMB '',$,96,6
_18:
; test.c 93 OSMboxPost(pReceiverMailBox, (void*)1);
?LINE 93
MOV R12,_pReceiverMailBox
MOV R13,(_pReceiverMailBox+2)
MOV R14,#01h
MOV R15,#00h
MOV R8,#SOF _19
MOV [-R0],R8
?SYMB '',$,96,8
MOV R8,#SEG _19
MOV [-R0],R8
?SYMB '',$,96,10
JMPS SEG _OSMboxPost,_OSMboxPost
?SYMB '',$,96,6
_19:
?LINE 88
JMPR cc_UC,_15
?SYMB '',$,102,2
?SYMB '',$,96,4
?SYMB '',$,96,2
?SYMB '',$,96,0
; test.c 94
; test.c 95
; test.c 96 }
; test.c 97 }
?LINE 97
RETS
_ReceiverTask ENDP
?SYMB '',$,17,97
; test.c 98
; test.c 99
; test.c 100
; test.c 101
; test.c 102
TEST_3_PR ENDS
C166_US SECTION DATA WORD GLBUSRSTACK 'CUSTACK'
DS 34
C166_US ENDS
C166_BSS SECTION DATA WORD GLOBAL 'CINITROM'
DW 06h
DPPTR TEST_1_FB_ENTRY
DW 0800h
DW 06h
DPPTR TEST_2_NB_ENTRY
DW 08h
C166_BSS ENDS
EXTERN _OSTaskCreate:FAR
EXTERN _OSMboxPost:FAR
EXTERN _OSTickISRInit:FAR
EXTERN _OSMboxCreate:FAR
EXTERN _OSTimeDlyHMSM:FAR
EXTERN _OSMboxPend:FAR
EXTERN _OSInit:FAR
EXTERN _OSStart:FAR
EXTERN __CSTART:FAR
C166_DGROUP DGROUP TEST_2_NB
REGDEF R0-R15
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -