OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /or1k/trunk/linux/linux-2.4/net/802/pseudo
    from Rev 1275 to Rev 1765
    Reverse comparison

Rev 1275 → Rev 1765

/pseudocode.h
0,0 → 1,287
 
/* this file generated on Thu Oct 24 11:42:35 GMT 1996 */
 
static char pseudo_code [ ] = {
0, 37, 57, 42, 59, 39, 0, 65, 38,
63, 61, 59, 56, 58, 2, 0, 12, 0,
12, 0, 0, 0, 12, 0, 65, 0, 5,
0, 0, 0, 37, 57, 42, 59, 0, 38,
63, 61, 59, 56, 58, 7, 0, 11, 57,
42, 59, 0, 12, 0, 5, 0, 40, 65,
0, 12, 5, 0, 0, 0, 38, 63, 61,
59, 56, 58, 0, 12, 0, 5, 0, 65,
0, 12, 5, 0, 0, 0, 38, 63, 61,
59, 40, 0, 45, 63, 61, 59, 51, 3,
58, 0, 56, 3, 58, 0, 12, 5, 45,
0, 5, 45, 0, 0, 0, 37, 57, 42,
60, 0, 5, 0, 38, 63, 61, 59, 40,
0, 45, 63, 61, 59, 51, 7, 58, 0,
56, 7, 58, 0, 12, 5, 45, 0, 5,
45, 0, 0, 0, 37, 57, 42, 60, 0,
5, 0, 12, 45, 0, 45, 0, 38, 0,
45, 0, 0, 0, 11, 57, 42, 60, 0,
0, 0, 71, 45, 65, 0, 38, 5, 45,
0, 5, 45, 0, 70, 45, 66, 39, 0,
15, 42, 0, 0, 0, 14, 42, 60, 0,
39, 70, 0, 11, 57, 42, 49, 59, 0,
37, 57, 42, 49, 59, 39, 0, 71, 65,
48, 0, 38, 5, 48, 0, 48, 70, 66,
39, 0, 5, 48, 0, 13, 67, 42, 49,
59, 0, 0, 67, 42, 49, 59, 0, 0,
67, 42, 49, 59, 0, 13, 67, 42, 49,
59, 0, 48, 70, 39, 0, 16, 41, 44,
0, 19, 44, 0, 26, 41, 53, 0, 28,
53, 0, 25, 50, 51, 43, 9, 0, 25,
50, 43, 0, 24, 50, 43, 0, 62, 32,
41, 50, 9, 4, 0, 62, 51, 36, 50,
9, 4, 0, 62, 36, 50, 4, 0, 62,
34, 50, 4, 0, 51, 50, 1, 0, 34,
50, 1, 0, 51, 50, 29, 0, 33, 50,
29, 0, 64, 50, 51, 20, 1, 0, 64,
50, 20, 1, 0, 64, 50, 22, 1, 0,
31, 41, 0, 56, 0, 31, 41, 60, 0,
16, 41, 44, 0, 19, 44, 0, 23, 43,
41, 0, 25, 43, 0, 31, 41, 35, 0,
35, 0, 31, 41, 35, 0, 35, 0, 30,
51, 50, 55, 9, 0, 30, 50, 55, 0,
27, 50, 55, 0, 27, 50, 10, 54, 0,
30, 51, 50, 10, 54, 9, 0, 30, 50,
10, 54, 0, 51, 50, 1, 0, 27, 50,
1, 0, 51, 50, 29, 0, 27, 50, 29,
0, 64, 50, 51, 20, 1, 0, 64, 50,
20, 1, 0, 64, 50, 27, 20, 1, 0,
26, 41, 0, 56, 0, 26, 41, 60, 0,
54, 0, 54, 0, 16, 41, 44, 0, 19,
44, 0, 26, 41, 52, 0, 28, 52, 0,
50, 51, 9, 0, 33, 50, 0, 62, 32,
41, 50, 9, 47, 4, 0, 62, 36, 50,
47, 4, 0, 62, 34, 50, 47, 4, 0,
51, 50, 1, 0, 34, 50, 1, 0, 51,
50, 29, 0, 33, 50, 29, 0, 64, 50,
51, 20, 1, 0, 64, 50, 20, 1, 0,
64, 50, 22, 1, 0, 31, 41, 0, 23,
41, 43, 60, 0, 56, 0, 31, 41, 43,
60, 0, 28, 53, 0, 25, 50, 64, 46,
20, 43, 1, 0, 25, 50, 43, 0, 24,
50, 43, 0, 62, 50, 64, 18, 41, 1,
4, 0, 62, 35, 50, 4, 0, 62, 33,
50, 4, 0, 50, 64, 46, 20, 1, 0,
50, 1, 0, 33, 50, 1, 0, 50, 64,
46, 29, 0, 50, 29, 0, 33, 50, 29,
0, 31, 41, 60, 0, 25, 43, 0, 35,
0, 35, 0, 30, 50, 64, 46, 54, 1,
20, 0, 30, 50, 54, 0, 27, 50, 54,
0, 30, 50, 64, 54, 46, 1, 20, 0,
30, 50, 54, 0, 27, 50, 54, 0, 50,
64, 46, 20, 1, 0, 50, 1, 0, 27,
50, 1, 0, 50, 64, 46, 29, 0, 50,
29, 0, 27, 50, 29, 0, 26, 41, 60,
0, 28, 52, 0, 50, 0, 33, 50, 0,
62, 50, 64, 18, 41, 47, 1, 4, 0,
62, 35, 47, 50, 4, 0, 62, 33, 47,
50, 4, 0, 50, 64, 46, 20, 1, 0,
50, 1, 0, 33, 50, 1, 0, 50, 64,
46, 29, 0, 50, 29, 0, 33, 50, 29,
0, 23, 41, 60, 0
};
 
static short int pseudo_code_idx [ ] ={
0, 1, 7, 16, 18, 20, 22, 24, 26,
28, 30, 35, 43, 48, 50, 52, 55, 58,
60, 67, 69, 71, 73, 76, 78, 84, 92,
96, 100, 103, 105, 110, 112, 118, 126, 130,
134, 137, 139, 144, 146, 149, 151, 153, 155,
157, 162, 164, 168, 172, 175, 180, 183, 185,
189, 192, 198, 205, 209, 213, 218, 221, 227,
233, 239, 245, 249, 253, 256, 260, 263, 269,
273, 277, 284, 291, 296, 301, 305, 309, 313,
317, 323, 328, 333, 336, 338, 342, 346, 349,
353, 356, 360, 362, 366, 368, 374, 378, 382,
387, 394, 399, 403, 407, 411, 415, 421, 426,
432, 435, 437, 441, 443, 445, 449, 452, 456,
459, 463, 466, 474, 480, 486, 490, 494, 498,
502, 508, 513, 518, 521, 526, 528, 533, 536,
544, 548, 552, 560, 565, 570, 576, 579, 583,
588, 591, 595, 599, 602, 604, 606, 614, 618,
622, 630, 634, 638, 644, 647, 651, 656, 659,
663, 667, 670, 672, 675, 684, 690, 696, 702,
705, 709, 714, 717, 721, 0
};
 
#define NOP 0
#define ADM1 1
#define ADM2 2
#define ADM3 3
#define ADM4 4
#define ADM5 5
#define CONN2 6
#define CONN3 7
#define CONN4 8
#define CONN5 9
#define RESWAIT1 10
#define RESWAIT2 11
#define RESWAIT3 12
#define RESWAIT4 13
#define RESWAIT5 14
#define RESWAIT6 15
#define RESWAIT7 16
#define RESWAIT8 17
#define RESCHK1 18
#define RESCHK2 19
#define RESCHK3 20
#define RESCHK4 21
#define RESCHK5 22
#define RESCHK6 23
#define SETUP1 24
#define SETUP2 25
#define SETUP3 26
#define SETUP4 27
#define SETUP5 28
#define SETUP6 29
#define SETUP7 30
#define SETUP8 31
#define RESET1 32
#define RESET2 33
#define RESET3 34
#define RESET4 35
#define RESET5 36
#define RESET6 37
#define RESET7 38
#define RESET8 39
#define D_CONN1 40
#define D_CONN2 41
#define D_CONN3 42
#define D_CONN4 43
#define D_CONN5 44
#define D_CONN6 45
#define D_CONN7 46
#define ERR1 47
#define ERR2 48
#define ERR3 49
#define ERR4 50
#define ERR5 51
#define ERR6 52
#define ERR7 53
#define ERR8 54
#define SH1 55
#define SH2 56
#define SH3 57
#define SH4 58
#define SH5 59
#define SH6 60
#define SH7 61
#define SH8 62
#define SH9 63
#define SH10 64
#define SH11 65
#define NORMAL1 66
#define NORMAL2 67
#define NORMAL3 68
#define NORMAL4 69
#define NORMAL5 70
#define NORMAL6 71
#define NORMAL7 72
#define NORMAL8A 73
#define NORMAL8B 74
#define NORMAL9 75
#define NORMAL10 76
#define NORMAL11 77
#define NORMAL12 78
#define NORMAL13 79
#define NORMAL14 80
#define NORMAL15 81
#define NORMAL16 82
#define NORMAL17 83
#define NORMAL18 84
#define NORMAL19 85
#define NORMAL20 86
#define BUSY1 87
#define BUSY2 88
#define BUSY3 89
#define BUSY4 90
#define BUSY5 91
#define BUSY6 92
#define BUSY7 93
#define BUSY8 94
#define BUSY9 95
#define BUSY10 96
#define BUSY11 97
#define BUSY12 98
#define BUSY13 99
#define BUSY14 100
#define BUSY15 101
#define BUSY16 102
#define BUSY17 103
#define BUSY18 104
#define BUSY19 105
#define BUSY20 106
#define BUSY21 107
#define BUSY22 108
#define BUSY23 109
#define BUSY24 110
#define BUSY25 111
#define BUSY26 112
#define REJECT1 113
#define REJECT2 114
#define REJECT3 115
#define REJECT4 116
#define REJECT5 117
#define REJECT6 118
#define REJECT7 119
#define REJECT8 120
#define REJECT9 121
#define REJECT10 122
#define REJECT11 123
#define REJECT12 124
#define REJECT13 125
#define REJECT14 126
#define REJECT15 127
#define REJECT16 128
#define REJECT17 129
#define REJECT18 130
#define REJECT19 131
#define REJECT20 132
#define AWAIT1 133
#define AWAIT2 134
#define AWAIT3 135
#define AWAIT4 136
#define AWAIT5 137
#define AWAIT6 138
#define AWAIT7 139
#define AWAIT8 140
#define AWAIT9 141
#define AWAIT10 142
#define AWAIT11 143
#define AWAIT12 144
#define AWAIT13 145
#define AWAIT14 146
#define AWAIT_BUSY1 147
#define AWAIT_BUSY2 148
#define AWAIT_BUSY3 149
#define AWAIT_BUSY4 150
#define AWAIT_BUSY5 151
#define AWAIT_BUSY6 152
#define AWAIT_BUSY7 153
#define AWAIT_BUSY8 154
#define AWAIT_BUSY9 155
#define AWAIT_BUSY10 156
#define AWAIT_BUSY11 157
#define AWAIT_BUSY12 158
#define AWAIT_BUSY13 159
#define AWAIT_BUSY14 160
#define AWAIT_BUSY15 161
#define AWAIT_BUSY16 162
#define AWAIT_REJECT1 163
#define AWAIT_REJECT2 164
#define AWAIT_REJECT3 165
#define AWAIT_REJECT4 166
#define AWAIT_REJECT5 167
#define AWAIT_REJECT6 168
#define AWAIT_REJECT7 169
#define AWAIT_REJECT8 170
#define AWAIT_REJECT9 171
#define AWAIT_REJECT10 172
#define AWAIT_REJECT11 173
#define AWAIT_REJECT12 174
#define AWAIT_REJECT13 175
 
/opcd2num.sed
0,0 → 1,72
s/NOP/0/
s/DUMMY_6/6/
s/DUMMY_8/8/
s/IF_F=1_CLEAR_REMOTE_BUSY/9/
s/CLEAR_REMOTE_BUSY/1/
s/CONNECT_CONFIRM/3/
s/DISCONNECT_INDICATION/5/
s/CONNECT_INDICATION/2/
s/IF_DATA_FLAG_=0_THEN_DATA_FLAG:=1/55/
s/DATA_FLAG:=0/53/
s/DATA_FLAG:=1/54/
s/DATA_FLAG:=2/52/
s/DATA_INDICATION/4/
s/F_FLAG:=P/65/
s/IF_DATA_FLAG=2_STOP_REJ_TIMER/10/
s/OPTIONAL_SEND_RNR_XXX(X=0)/30/
s/P_FLAG:=0/56/
s/P_FLAG:=P/57/
s/RE-SEND_FRMR_RSP(F=0)/14/
s/RE-SEND_FRMR_RSP(F=P)/15/
s/RE-SEND_I_CMD(P=1)_OR_SEND_RR/18/
s/RE-SEND_I_CMD(P=1)/17/
s/RE-SEND_I_RSP(F=1)/22/
s/RE-SEND_I_XXX(X=0)_OR_SEND_RR/21/
s/RE-SEND_I_XXX(X=0)/20/
s/REMOTE_BUSY:=0/58/
s/REPORT_STATUS(FRMR_RECEIVED)/66/
s/REPORT_STATUS(FRMR_SENT)/67/
s/REPORT_STATUS(REMOTE_BUSY)/68/
s/REPORT_STATUS(REMOTE_NOT_BUSY)/69/
s/RESET_CONFIRM/7/
s/RESET_INDICATION(LOCAL)/70/
s/RESET_INDICATION(REMOTE)/71/
s/RETRY_COUNT:=RETRY_COUNT+1/60/
s/RETRY_COUNT:=0/59/
s/SEND_ACKNOWLEDGE_CMD(P=1)/32/
s/SEND_ACKNOWLEDGE_RSP(F=1)/34/
s/SEND_ACKNOWLEDGE_XXX(X=0)/36/
s/SEND_DISC_CMD(P=X)/11/
s/SEND_DM_RSP(F=X)/12/
s/SEND_FRMR_RSP(F=X)/13/
s/SEND_I_CMD(P=1)/16/
s/SEND_I_XXX(X=0)/19/
s/SEND_REJ_CMD(P=1)/23/
s/SEND_REJ_RSP(F=1)/24/
s/SEND_REJ_XXX(X=0)/25/
s/SEND_RNR_CMD(F=1)/26/
s/SEND_RNR_RSP(F=1)/27/
s/SEND_RNR_XXX(X=0)/28/
s/SEND_RR_CMD(P=1)/31/
s/SEND_RR_RSP(F=1)/33/
s/SEND_RR_XXX(X=0)/35/
s/SEND_SABME_CMD(P=X)/37/
s/SEND_UA_RSP(F=X)/38/
s/SET_REMOTE_BUSY/29/
s/START_ACK_TIMER_IF_NOT_RUNNING/44/
s/START_ACK_TIMER/42/
s/START_P_TIMER/41/
s/START_REJ_TIMER/43/
s/STOP_ACK_TIMER/45/
s/STOP_ALL_TIMERS/48/
s/STOP_OTHER_TIMERS/49/
s/STOP_P_TIMER/46/
s/STOP_REJ_TIMER/47/
s/S_FLAG:=0/39/
s/S_FLAG:=1/40/
s/UPDATE_N(R)_RECEIVED/50/
s/UPDATE_P_FLAG/51/
s/V(R):=0/61/
s/V(R):=V(R)+1/62/
s/V(S):=0/63/
s/V(S):=N(R)/64/
/actionnm.awk
0,0 → 1,27
# usage: awk -f actionnm.awk pseudocode.h
#
BEGIN { "date" | getline
today = $0
printf("\n/* this file generated on %s */\n", today )
printf("\nstatic char *action_names[] = { \n " )
opl = 0
}
 
/^#define/ {
if ( opl > 3 ) {
printf("\n ")
opl = 0
}
opl = opl +1
t = sprintf("\"%s\"", $2 )
printf("%-15s ,", t )
# printf("%-10s", $2 )
}
 
END {
if ( opl > 3 ) {
printf("\n ")
}
printf("\t 0\n};\n\n")
}
 
/compile.awk
0,0 → 1,57
# usage: cat pseudocode | sed -f act2num | awk -f compile.awk
#
#
BEGIN { "date" | getline
today = $0
printf("\n/* this file generated on %s */\n", today )
printf("\nstatic char pseudo_code [ ] = { \n" )
opl = 0 # op codes on the current line
 
opc = 0 # opcode counter
fpi = 0 # fill pointer for idx array
}
 
/^;/ { } # line starting with semicolon is comment
 
/^[A-Z]/ { # start of a new action
emit( 0 )
idx[ ++fpi ] = opc
name[ fpi ] = $1
emit( $2 )
}
 
/^[\t ]/ {
emit( $1 )
}
 
END {
if ( opl > 8 ) {
printf("\n")
}
printf("\t 0\n};\n\n")
printf("static short int pseudo_code_idx [ ] ={\n")
opl = 0
emit( 0 )
for( ii = 1; ii <= fpi; ii++ )
emit( idx[ ii ] )
if ( opl > 8 ) {
printf("\n")
}
printf("\t 0\n};\n\n")
 
printf("#define %-10s \t %3d \n", "NOP", 0 )
for( ii = 1; ii <= fpi; ii++ )
printf("#define %-10s \t %3d \n", name[ ii ], ii )
printf("\n")
}
 
function emit( opcode ){ # Niclaus Wirth
if ( opl > 8 ) {
printf("\n")
opl = 0
}
opl = opl +1
printf("\t%4d,", opcode )
opc++
}
 
/pseudocode
0,0 → 1,780
;============================================================================
;
; translate this with
; cat pseudocode | sed -f act2num | awk -f compile.awk >pseudocode.h
;
; actionname pseudocode
;
;============================================================================
ADM1 SEND_SABME_CMD(P=X)
P_FLAG:=P
START_ACK_TIMER
RETRY_COUNT:=0
S_FLAG:=0
;
; instructions in ADM2 have been changed:
; 1. P_FLAG:=P is probably wrong in doc...
; I think it should be F_FLAG:=P the way it is in CONN3
; 2. CONNECT_RESPONSE has been wired in here,
; CONN1 is no longer referenced
;
ADM2 F_FLAG:=P
SEND_UA_RSP(F=X)
V(S):=0
V(R):=0
RETRY_COUNT:=0
P_FLAG:=0
REMOTE_BUSY:=0
CONNECT_INDICATION
ADM3 SEND_DM_RSP(F=X)
ADM4 SEND_DM_RSP(F=X)
ADM5 NOP
;============================================================================
;CONN1 SEND_UA_RSP(F=X)
; V(S):=0
; V(R):=0
; RETRY_COUNT:=0
; P_FLAG:=0
; REMOTE_BUSY:=0
CONN2 SEND_DM_RSP(F=X)
CONN3 F_FLAG:=P
CONN4 DISCONNECT_INDICATION
CONN5 NOP
;============================================================================
RESWAIT1 SEND_SABME_CMD(P=X)
P_FLAG:=P
START_ACK_TIMER
RETRY_COUNT:=0
RESWAIT2 SEND_UA_RSP(F=X)
V(S):=0
V(R):=0
RETRY_COUNT:=0
P_FLAG:=0
REMOTE_BUSY:=0
RESET_CONFIRM
RESWAIT3 SEND_DISC_CMD(P=X)
P_FLAG:=P
START_ACK_TIMER
RETRY_COUNT:=0
RESWAIT4 SEND_DM_RSP(F=X)
RESWAIT5 DISCONNECT_INDICATION
RESWAIT6 S_FLAG:=1
F_FLAG:=P
RESWAIT7 SEND_DM_RSP(F=X)
DISCONNECT_INDICATION
RESWAIT8 NOP
;============================================================================
RESCHK1 SEND_UA_RSP(F=X)
V(S):=0
V(R):=0
RETRY_COUNT:=0
P_FLAG:=0
REMOTE_BUSY:=0
RESCHK2 SEND_DM_RSP(F=X)
RESCHK3 DISCONNECT_INDICATION
RESCHK4 F_FLAG:=P
RESCHK5 SEND_DM_RSP(F=X)
DISCONNECT_INDICATION
RESCHK6 NOP
;============================================================================
SETUP1 SEND_UA_RSP(F=X)
V(S):=0
V(R):=0
RETRY_COUNT:=0
S_FLAG:=1
SETUP2 STOP_ACK_TIMER
V(S):=0
V(R):=0
RETRY_COUNT:=0
UPDATE_P_FLAG
CONNECT_CONFIRM
REMOTE_BUSY:=0
SETUP3 P_FLAG:=0
CONNECT_CONFIRM
REMOTE_BUSY:=0
SETUP4 SEND_DM_RSP(F=X)
DISCONNECT_INDICATION
STOP_ACK_TIMER
SETUP5 DISCONNECT_INDICATION
STOP_ACK_TIMER
SETUP6 NOP
SETUP7 SEND_SABME_CMD(P=X)
P_FLAG:=P
START_ACK_TIMER
RETRY_COUNT:=RETRY_COUNT+1
SETUP8 DISCONNECT_INDICATION
;============================================================================
RESET1 SEND_UA_RSP(F=X)
V(S):=0
V(R):=0
RETRY_COUNT:=0
S_FLAG:=1
RESET2 STOP_ACK_TIMER
V(S):=0
V(R):=0
RETRY_COUNT:=0
UPDATE_P_FLAG
RESET_CONFIRM
REMOTE_BUSY:=0
RESET3 P_FLAG:=0
RESET_CONFIRM
REMOTE_BUSY:=0
RESET4 SEND_DM_RSP(F=X)
DISCONNECT_INDICATION
STOP_ACK_TIMER
RESET5 DISCONNECT_INDICATION
STOP_ACK_TIMER
RESET6 NOP
RESET7 SEND_SABME_CMD(P=X)
P_FLAG:=P
START_ACK_TIMER
RETRY_COUNT:=RETRY_COUNT+1
RESET8 DISCONNECT_INDICATION
;============================================================================
D_CONN1 SEND_DM_RSP(F=X)
STOP_ACK_TIMER
D_CONN2 STOP_ACK_TIMER
D_CONN3 SEND_UA_RSP(F=X)
D_CONN4 STOP_ACK_TIMER
D_CONN5 NOP
D_CONN6 SEND_DISC_CMD(P=X)
P_FLAG:=P
START_ACK_TIMER
RETRY_COUNT:=RETRY_COUNT+1
D_CONN7 NOP
;============================================================================
ERR1 RESET_INDICATION(REMOTE)
STOP_ACK_TIMER
F_FLAG:=P
ERR2 SEND_UA_RSP(F=X)
DISCONNECT_INDICATION
STOP_ACK_TIMER
ERR3 DISCONNECT_INDICATION
STOP_ACK_TIMER
ERR4 RESET_INDICATION(LOCAL)
STOP_ACK_TIMER
REPORT_STATUS(FRMR_RECEIVED)
S_FLAG:=0
ERR5 RE-SEND_FRMR_RSP(F=P)
START_ACK_TIMER
ERR6 NOP
ERR7 RE-SEND_FRMR_RSP(F=0)
START_ACK_TIMER
RETRY_COUNT:=RETRY_COUNT+1
ERR8 S_FLAG:=0
RESET_INDICATION(LOCAL)
;============================================================================
; the shared actions are common to states NORMAL, BUSY, REJECT,
; AWAIT, AWAIT_BUSY and AWAIT_REJECT.
;============================================================================
SH1 SEND_DISC_CMD(P=X)
P_FLAG:=P
START_ACK_TIMER
STOP_OTHER_TIMERS
RETRY_COUNT:=0
SH2 SEND_SABME_CMD(P=X)
P_FLAG:=P
START_ACK_TIMER
STOP_OTHER_TIMERS
RETRY_COUNT:=0
S_FLAG:=0
SH3 RESET_INDICATION(REMOTE)
F_FLAG:=P
STOP_ALL_TIMERS
SH4 SEND_UA_RSP(F=X)
DISCONNECT_INDICATION
STOP_ALL_TIMERS
SH5 STOP_ALL_TIMERS
RESET_INDICATION(LOCAL)
REPORT_STATUS(FRMR_RECEIVED)
S_FLAG:=0
SH6 DISCONNECT_INDICATION
STOP_ALL_TIMERS
SH7 SEND_FRMR_RSP(F=X)
REPORT_STATUS(FRMR_SENT)
START_ACK_TIMER
STOP_OTHER_TIMERS
RETRY_COUNT:=0
SH8 SEND_FRMR_RSP(F=0)
REPORT_STATUS(FRMR_SENT)
START_ACK_TIMER
STOP_OTHER_TIMERS
RETRY_COUNT:=0
SH9 SEND_FRMR_RSP(F=0)
REPORT_STATUS(FRMR_SENT)
START_ACK_TIMER
STOP_OTHER_TIMERS
RETRY_COUNT:=0
SH10 SEND_FRMR_RSP(F=X)
REPORT_STATUS(FRMR_SENT)
START_ACK_TIMER
STOP_OTHER_TIMERS
RETRY_COUNT:=0
SH11 STOP_ALL_TIMERS
RESET_INDICATION(LOCAL)
S_FLAG:=0
;============================================================================
NORMAL1 SEND_I_CMD(P=1)
START_P_TIMER
START_ACK_TIMER_IF_NOT_RUNNING
; SEND_I_XXX(X=0)
; START_ACK_TIMER_IF_NOT_RUNNING
NORMAL2 SEND_I_XXX(X=0)
START_ACK_TIMER_IF_NOT_RUNNING
NORMAL3 SEND_RNR_CMD(F=1)
START_P_TIMER
DATA_FLAG:=0
; SEND_RNR_XXX(X=0)
; DATA_FLAG:=0
NORMAL4 SEND_RNR_XXX(X=0)
DATA_FLAG:=0
NORMAL5 SEND_REJ_XXX(X=0)
UPDATE_N(R)_RECEIVED
UPDATE_P_FLAG
START_REJ_TIMER
IF_F=1_CLEAR_REMOTE_BUSY
; SEND_REJ_CMD(P=1)
; UPDATE_N(R)_RECEIVED
; START_P_TIMER
; START_REJ_TIMER
; IF_F=1_CLEAR_REMOTE_BUSY
NORMAL6 SEND_REJ_XXX(X=0)
UPDATE_N(R)_RECEIVED
START_REJ_TIMER
NORMAL7 SEND_REJ_RSP(F=1)
UPDATE_N(R)_RECEIVED
START_REJ_TIMER
;
; the order of opcodes in NORMAL8 is changed.
; the transition table will execute NORMAL8A for incoming pdus
; with p/f 1, pdus with pf 0 are treated in NORMAL8B.
;
NORMAL8A V(R):=V(R)+1
SEND_ACKNOWLEDGE_CMD(P=1)
START_P_TIMER
UPDATE_N(R)_RECEIVED
IF_F=1_CLEAR_REMOTE_BUSY
DATA_INDICATION
;
NORMAL8B V(R):=V(R)+1
UPDATE_P_FLAG
SEND_ACKNOWLEDGE_XXX(X=0)
UPDATE_N(R)_RECEIVED
IF_F=1_CLEAR_REMOTE_BUSY
DATA_INDICATION
;
; the order of opcodes in NORMAL9 is changed
NORMAL9 V(R):=V(R)+1
SEND_ACKNOWLEDGE_XXX(X=0)
UPDATE_N(R)_RECEIVED
DATA_INDICATION
;
; the order of opcodes in NORMAL10 is changed
NORMAL10 V(R):=V(R)+1
SEND_ACKNOWLEDGE_RSP(F=1)
UPDATE_N(R)_RECEIVED
DATA_INDICATION
NORMAL11 UPDATE_P_FLAG
UPDATE_N(R)_RECEIVED
CLEAR_REMOTE_BUSY
NORMAL12 SEND_ACKNOWLEDGE_RSP(F=1)
UPDATE_N(R)_RECEIVED
CLEAR_REMOTE_BUSY
NORMAL13 UPDATE_P_FLAG
UPDATE_N(R)_RECEIVED
SET_REMOTE_BUSY
NORMAL14 SEND_RR_RSP(F=1)
UPDATE_N(R)_RECEIVED
SET_REMOTE_BUSY
NORMAL15 V(S):=N(R)
UPDATE_N(R)_RECEIVED
UPDATE_P_FLAG
RE-SEND_I_XXX(X=0)
CLEAR_REMOTE_BUSY
; V(S):=N(R)
; UPDATE_N(R)_RECEIVED
; START_P_TIMER
; RE-SEND_I_CMD(P=1)
; CLEAR_REMOTE_BUSY
NORMAL16 V(S):=N(R)
UPDATE_N(R)_RECEIVED
RE-SEND_I_XXX(X=0)
CLEAR_REMOTE_BUSY
NORMAL17 V(S):=N(R)
UPDATE_N(R)_RECEIVED
RE-SEND_I_RSP(F=1)
CLEAR_REMOTE_BUSY
NORMAL18 SEND_RR_CMD(P=1)
START_P_TIMER
NORMAL19 P_FLAG:=0
; SEND_RR_CMD(P=1)
; START_P_TIMER
; RETRY_COUNT:=RETRY_COUNT+1
NORMAL20 SEND_RR_CMD(P=1)
START_P_TIMER
RETRY_COUNT:=RETRY_COUNT+1
;============================================================================
BUSY1 SEND_I_CMD(P=1)
START_P_TIMER
START_ACK_TIMER_IF_NOT_RUNNING
; SEND_I_XXX(X=0)
; START_ACK_TIMER_IF_NOT_RUNNING
BUSY2 SEND_I_XXX(X=0)
START_ACK_TIMER_IF_NOT_RUNNING
BUSY3 SEND_REJ_CMD(P=1)
START_REJ_TIMER
START_P_TIMER
; SEND_REJ_XXX(X=0)
; START_REJ_TIMER
BUSY4 SEND_REJ_XXX(X=0)
START_REJ_TIMER
BUSY5 SEND_RR_CMD(P=1)
START_P_TIMER
SEND_RR_XXX(X=0)
BUSY6 SEND_RR_XXX(X=0)
BUSY7 SEND_RR_CMD(P=1)
START_P_TIMER
SEND_RR_XXX(X=0)
BUSY8 SEND_RR_XXX(X=0)
BUSY9 OPTIONAL_SEND_RNR_XXX(X=0)
UPDATE_P_FLAG
UPDATE_N(R)_RECEIVED
IF_DATA_FLAG_=0_THEN_DATA_FLAG:=1
IF_F=1_CLEAR_REMOTE_BUSY
; SEND_RNR_CMD(P=1)
; START_P_TIMER
; UPDATE_N(R)_RECEIVED
; IF_DATA_FLAG_=0_THEN_DATA_FLAG:=1
; IF_F=1_CLEAR_REMOTE_BUSY
BUSY10 OPTIONAL_SEND_RNR_XXX(X=0)
UPDATE_N(R)_RECEIVED
IF_DATA_FLAG_=0_THEN_DATA_FLAG:=1
BUSY11 SEND_RNR_RSP(F=1)
UPDATE_N(R)_RECEIVED
IF_DATA_FLAG_=0_THEN_DATA_FLAG:=1
BUSY12 SEND_RNR_RSP(F=1)
UPDATE_N(R)_RECEIVED
IF_DATA_FLAG=2_STOP_REJ_TIMER
DATA_FLAG:=1
; V(R):=V(R)+1
; DATA_INDICATION
; SEND_RNR_RSP(F=1)
; UPDATE_N(R)_RECEIVED
; IF_DATA_FLAG=2_STOP_REJ_TIMER
; DATA_FLAG:=0
BUSY13 OPTIONAL_SEND_RNR_XXX(X=0)
UPDATE_P_FLAG
UPDATE_N(R)_RECEIVED
IF_DATA_FLAG=2_STOP_REJ_TIMER
DATA_FLAG:=1
IF_F=1_CLEAR_REMOTE_BUSY
; SEND_RNR_CMD(F=1)
; START_P_TIMER
; UPDATE_N(R)_RECEIVED
; IF_DATA_FLAG=2_STOP_REJ_TIMER
; DATA_FLAG:=1
; IF_F=1_CLEAR_REMOTE_BUSY
; V(R):=V(R)+1
; DATA_INDICATION
; SEND_RNR_CMD(F=1)
; START_P_TIMER
; UPDATE_N(R)_RECEIVED
; IF_DATA_FLAG=2_STOP_REJ_TIMER
; DATA_FLAG:=0
; IF_F=1_CLEAR_REMOTE_BUSY
; V(R):=V(R)+1
; DATA_INDICATION
; UPDATE_P_FLAG
; OPTIONAL_SEND_RNR_XXX(X=0)
; UPDATE_N(R)_RECEIVED
; IF_DATA_FLAG=2_STOP_REJ_TIMER
; DATA_FLAG:=0
; IF_F=1_CLEAR_REMOTE_BUSY
BUSY14 OPTIONAL_SEND_RNR_XXX(X=0)
UPDATE_N(R)_RECEIVED
IF_DATA_FLAG=2_STOP_REJ_TIMER
DATA_FLAG:=1
; V(R):=V(R)+1
; DATA_INDICATION
; OPTIONAL_SEND_RNR_XXX(X=0)
; UPDATE_N(R)_RECEIVED
; IF_DATA_FLAG=2_STOP_REJ_TIMER
; DATA_FLAG:=0
BUSY15 UPDATE_P_FLAG
UPDATE_N(R)_RECEIVED
CLEAR_REMOTE_BUSY
BUSY16 SEND_RNR_RSP(F=1)
UPDATE_N(R)_RECEIVED
CLEAR_REMOTE_BUSY
BUSY17 UPDATE_P_FLAG
UPDATE_N(R)_RECEIVED
SET_REMOTE_BUSY
BUSY18 SEND_RNR_RSP(F=1)
UPDATE_N(R)_RECEIVED
SET_REMOTE_BUSY
BUSY19 V(S):=N(R)
UPDATE_N(R)_RECEIVED
UPDATE_P_FLAG
RE-SEND_I_XXX(X=0)
CLEAR_REMOTE_BUSY
; V(S):=N(R)
; UPDATE_N(R)_RECEIVED
; RE-SEND_I_CMD(P=1)
; CLEAR_REMOTE_BUSY
BUSY20 V(S):=N(R)
UPDATE_N(R)_RECEIVED
RE-SEND_I_XXX(X=0)
CLEAR_REMOTE_BUSY
BUSY21 V(S):=N(R)
UPDATE_N(R)_RECEIVED
SEND_RNR_RSP(F=1)
RE-SEND_I_XXX(X=0)
CLEAR_REMOTE_BUSY
BUSY22 SEND_RNR_CMD(F=1)
START_P_TIMER
BUSY23 P_FLAG:=0
; SEND_RNR_CMD(F=1)
; START_P_TIMER
; RETRY_COUNT:=RETRY_COUNT+1
BUSY24 SEND_RNR_CMD(F=1)
START_P_TIMER
RETRY_COUNT:=RETRY_COUNT+1
BUSY25 DATA_FLAG:=1
; SEND_RNR_CMD(F=1)
; START_P_TIMER
; RETRY_COUNT:=RETRY_COUNT+1
; DATA_FLAG:=1
BUSY26 DATA_FLAG:=1
;============================================================================
REJECT1 SEND_I_CMD(P=1)
START_P_TIMER
START_ACK_TIMER_IF_NOT_RUNNING
; SEND_I_XXX(X=0)
; START_ACK_TIMER_IF_NOT_RUNNING
REJECT2 SEND_I_XXX(X=0)
START_ACK_TIMER_IF_NOT_RUNNING
REJECT3 SEND_RNR_CMD(F=1)
START_P_TIMER
DATA_FLAG:=2
; SEND_RNR_XXX(X=0)
; DATA_FLAG:=2
REJECT4 SEND_RNR_XXX(X=0)
DATA_FLAG:=2
REJECT5 UPDATE_N(R)_RECEIVED
UPDATE_P_FLAG
IF_F=1_CLEAR_REMOTE_BUSY
REJECT6 SEND_RR_RSP(F=1)
UPDATE_N(R)_RECEIVED
;
; order of opcodes in REJECT7 is changed
REJECT7 V(R):=V(R)+1
SEND_ACKNOWLEDGE_CMD(P=1)
START_P_TIMER
UPDATE_N(R)_RECEIVED
IF_F=1_CLEAR_REMOTE_BUSY
STOP_REJ_TIMER
DATA_INDICATION
; V(R):=V(R)+1
; DATA_INDICATION
; UPDATE_P_FLAG
; SEND_ACKNOWLEDGE_XXX(X=0)
; UPDATE_N(R)_RECEIVED
; IF_F=1_CLEAR_REMOTE_BUSY
; STOP_REJ_TIMER
;
; order of opcodes in REJECT8 is changed
REJECT8 V(R):=V(R)+1
SEND_ACKNOWLEDGE_XXX(X=0)
UPDATE_N(R)_RECEIVED
STOP_REJ_TIMER
DATA_INDICATION
;
; order of opcodes in REJECT9 is changed
REJECT9 V(R):=V(R)+1
SEND_ACKNOWLEDGE_RSP(F=1)
UPDATE_N(R)_RECEIVED
STOP_REJ_TIMER
DATA_INDICATION
REJECT10 UPDATE_P_FLAG
UPDATE_N(R)_RECEIVED
CLEAR_REMOTE_BUSY
REJECT11 SEND_ACKNOWLEDGE_RSP(F=1)
UPDATE_N(R)_RECEIVED
CLEAR_REMOTE_BUSY
REJECT12 UPDATE_P_FLAG
UPDATE_N(R)_RECEIVED
SET_REMOTE_BUSY
REJECT13 SEND_RR_RSP(F=1)
UPDATE_N(R)_RECEIVED
SET_REMOTE_BUSY
REJECT14 V(S):=N(R)
UPDATE_N(R)_RECEIVED
UPDATE_P_FLAG
RE-SEND_I_XXX(X=0)
CLEAR_REMOTE_BUSY
; V(S):=N(R)
; UPDATE_N(R)_RECEIVED
; RE-SEND_I_CMD(P=1)
; START_P_TIMER
; CLEAR_REMOTE_BUSY
REJECT15 V(S):=N(R)
UPDATE_N(R)_RECEIVED
RE-SEND_I_XXX(X=0)
CLEAR_REMOTE_BUSY
REJECT16 V(S):=N(R)
UPDATE_N(R)_RECEIVED
RE-SEND_I_RSP(F=1)
CLEAR_REMOTE_BUSY
REJECT17 SEND_RR_CMD(P=1)
START_P_TIMER
REJECT18 SEND_REJ_CMD(P=1)
START_P_TIMER
START_REJ_TIMER
RETRY_COUNT:=RETRY_COUNT+1
REJECT19 P_FLAG:=0
; SEND_RR_CMD(P=1)
; START_P_TIMER
; START_REJ_TIMER
; RETRY_COUNT:=RETRY_COUNT+1
REJECT20 SEND_RR_CMD(P=1)
START_P_TIMER
START_REJ_TIMER
RETRY_COUNT:=RETRY_COUNT+1
;============================================================================
AWAIT1 SEND_RNR_XXX(X=0)
DATA_FLAG:=0
AWAIT2 SEND_REJ_XXX(X=0)
UPDATE_N(R)_RECEIVED
V(S):=N(R)
STOP_P_TIMER
RE-SEND_I_XXX(X=0)
START_REJ_TIMER
CLEAR_REMOTE_BUSY
; SEND_REJ_CMD(P=1)
; UPDATE_N(R)_RECEIVED
; V(S):=N(R)
; RE-SEND_I_XXX(X=0)
; START_P_TIMER
; START_REJ_TIMER
; CLEAR_REMOTE_BUSY
AWAIT3 SEND_REJ_XXX(X=0)
UPDATE_N(R)_RECEIVED
START_REJ_TIMER
AWAIT4 SEND_REJ_RSP(F=1)
UPDATE_N(R)_RECEIVED
START_REJ_TIMER
;
; order of opcode in AWAIT5 changed
AWAIT5 V(R):=V(R)+1
UPDATE_N(R)_RECEIVED
V(S):=N(R)
RE-SEND_I_CMD(P=1)_OR_SEND_RR
START_P_TIMER
CLEAR_REMOTE_BUSY
DATA_INDICATION
; V(R):=V(R)+1
; DATA_INDICATION
; STOP_P_TIMER
; UPDATE_N(R)_RECEIVED
; V(S):=N(R)
; RE-SEND_I_XXX(X=0)_OR_SEND_RR
; CLEAR_REMOTE_BUSY
;
; order of opcode in AWAIT6 changed
AWAIT6 V(R):=V(R)+1
SEND_RR_XXX(X=0)
UPDATE_N(R)_RECEIVED
DATA_INDICATION
;
; order of opcode in AWAIT7 changed
AWAIT7 V(R):=V(R)+1
SEND_RR_RSP(F=1)
UPDATE_N(R)_RECEIVED
DATA_INDICATION
AWAIT8 UPDATE_N(R)_RECEIVED
V(S):=N(R)
STOP_P_TIMER
RE-SEND_I_XXX(X=0)
CLEAR_REMOTE_BUSY
; UPDATE_N(R)_RECEIVED
; V(S):=N(R)
; RE-SEND_I_CMD(P=1)
; START_P_TIMER
; CLEAR_REMOTE_BUSY
AWAIT9 UPDATE_N(R)_RECEIVED
CLEAR_REMOTE_BUSY
AWAIT10 SEND_RR_RSP(F=1)
UPDATE_N(R)_RECEIVED
CLEAR_REMOTE_BUSY
AWAIT11 UPDATE_N(R)_RECEIVED
V(S):=N(R)
STOP_P_TIMER
SET_REMOTE_BUSY
AWAIT12 UPDATE_N(R)_RECEIVED
SET_REMOTE_BUSY
AWAIT13 SEND_RR_RSP(F=1)
UPDATE_N(R)_RECEIVED
SET_REMOTE_BUSY
AWAIT14 SEND_RR_CMD(P=1)
START_P_TIMER
RETRY_COUNT:=RETRY_COUNT+1
;============================================================================
AWAIT_BUSY1 SEND_REJ_XXX(X=0)
START_REJ_TIMER
AWAIT_BUSY2 SEND_RR_XXX(X=0)
AWAIT_BUSY3 SEND_RR_XXX(X=0)
AWAIT_BUSY4 OPTIONAL_SEND_RNR_XXX(X=0)
UPDATE_N(R)_RECEIVED
V(S):=N(R)
STOP_P_TIMER
DATA_FLAG:=1
CLEAR_REMOTE_BUSY
RE-SEND_I_XXX(X=0)
; SEND_RNR_CMD(F=1)
; UPDATE_N(R)_RECEIVED
; V(S):=N(R)
; START_P_TIMER
; DATA_FLAG:=1
; CLEAR_REMOTE_BUSY
; RE-SEND_I_XXX(X=0)
AWAIT_BUSY5 OPTIONAL_SEND_RNR_XXX(X=0)
UPDATE_N(R)_RECEIVED
DATA_FLAG:=1
AWAIT_BUSY6 SEND_RNR_RSP(F=1)
UPDATE_N(R)_RECEIVED
DATA_FLAG:=1
AWAIT_BUSY7 OPTIONAL_SEND_RNR_XXX(X=0)
UPDATE_N(R)_RECEIVED
V(S):=N(R)
DATA_FLAG:=1
STOP_P_TIMER
CLEAR_REMOTE_BUSY
RE-SEND_I_XXX(X=0)
; SEND_RNR_CMD(F=1)
; V(R):=V(R)+1
; DATA_INDICATION
; START_P_TIMER
; UPDATE_N(R)_RECEIVED
; V(S):=N(R)
; DATA_FLAG:=0
; CLEAR_REMOTE_BUSY
; RE-SEND_I_XXX(X=0)
; OPTIONAL_SEND_RNR_XXX(X=0)
; V(R):=V(R)+1
; DATA_INDICATION
; STOP_P_TIMER
; UPDATE_N(R)_RECEIVED
; V(S):=N(R)
; DATA_FLAG:=0
; CLEAR_REMOTE_BUSY
; RE-SEND_I_XXX(X=0)
AWAIT_BUSY8 OPTIONAL_SEND_RNR_XXX(X=0)
UPDATE_N(R)_RECEIVED
DATA_FLAG:=1
; OPTIONAL_SEND_RNR_XXX(X=0)
; V(R):=V(R)+1
; DATA_INDICATION
; UPDATE_N(R)_RECEIVED
; DATA_FLAG:=0
AWAIT_BUSY9 SEND_RNR_RSP(F=1)
UPDATE_N(R)_RECEIVED
DATA_FLAG:=1
; SEND_RNR_RSP(F=1)
; V(R):=V(R)+1
; DATA_INDICATION
; UPDATE_N(R)_RECEIVED
; DATA_FLAG:=0
AWAIT_BUSY10 UPDATE_N(R)_RECEIVED
V(S):=N(R)
STOP_P_TIMER
RE-SEND_I_XXX(X=0)
CLEAR_REMOTE_BUSY
; UPDATE_N(R)_RECEIVED
; V(S):=N(R)
; RE-SEND_I_CMD(P=1)
; START_P_TIMER
; CLEAR_REMOTE_BUSY
AWAIT_BUSY11 UPDATE_N(R)_RECEIVED
CLEAR_REMOTE_BUSY
AWAIT_BUSY12 SEND_RNR_RSP(F=1)
UPDATE_N(R)_RECEIVED
CLEAR_REMOTE_BUSY
AWAIT_BUSY13 UPDATE_N(R)_RECEIVED
V(S):=N(R)
STOP_P_TIMER
SET_REMOTE_BUSY
AWAIT_BUSY14 UPDATE_N(R)_RECEIVED
SET_REMOTE_BUSY
AWAIT_BUSY15 SEND_RNR_RSP(F=1)
UPDATE_N(R)_RECEIVED
SET_REMOTE_BUSY
AWAIT_BUSY16 SEND_RNR_CMD(F=1)
START_P_TIMER
RETRY_COUNT:=RETRY_COUNT+1
;============================================================================
AWAIT_REJECT1 SEND_RNR_XXX(X=0)
DATA_FLAG:=2
AWAIT_REJECT2 UPDATE_N(R)_RECEIVED
AWAIT_REJECT3 SEND_RR_RSP(F=1)
UPDATE_N(R)_RECEIVED
;
; order of opcodes in AWAIT_REJECT4 changed
AWAIT_REJECT4 V(R):=V(R)+1
UPDATE_N(R)_RECEIVED
V(S):=N(R)
RE-SEND_I_CMD(P=1)_OR_SEND_RR
START_P_TIMER
STOP_REJ_TIMER
CLEAR_REMOTE_BUSY
DATA_INDICATION
; V(R):=V(R)+1
; DATA_INDICATION
; STOP_P_TIMER
; STOP_REJ_TIMER
; UPDATE_N(R)_RECEIVED
; V(S):=N(R)
; RE-SEND_I_CMD(P=1)_OR_SEND_RR
; CLEAR_REMOTE_BUSY
;
; order of opcodes in AWAIT_REJECT5 changed
AWAIT_REJECT5 V(R):=V(R)+1
SEND_RR_XXX(X=0)
STOP_REJ_TIMER
UPDATE_N(R)_RECEIVED
DATA_INDICATION
;
; order of opcodes in AWAIT_REJECT6 changed
AWAIT_REJECT6 V(R):=V(R)+1
SEND_RR_RSP(F=1)
STOP_REJ_TIMER
UPDATE_N(R)_RECEIVED
DATA_INDICATION
AWAIT_REJECT7 UPDATE_N(R)_RECEIVED
V(S):=N(R)
STOP_P_TIMER
RE-SEND_I_XXX(X=0)
CLEAR_REMOTE_BUSY
; UPDATE_N(R)_RECEIVED
; V(S):=N(R)
; RE-SEND_I_CMD(P=1)
; START_P_TIMER
; CLEAR_REMOTE_BUSY
AWAIT_REJECT8 UPDATE_N(R)_RECEIVED
CLEAR_REMOTE_BUSY
AWAIT_REJECT9 SEND_RR_RSP(F=1)
UPDATE_N(R)_RECEIVED
CLEAR_REMOTE_BUSY
AWAIT_REJECT10 UPDATE_N(R)_RECEIVED
V(S):=N(R)
STOP_P_TIMER
SET_REMOTE_BUSY
AWAIT_REJECT11 UPDATE_N(R)_RECEIVED
SET_REMOTE_BUSY
AWAIT_REJECT12 SEND_RR_RSP(F=1)
UPDATE_N(R)_RECEIVED
SET_REMOTE_BUSY
AWAIT_REJECT13 SEND_REJ_CMD(P=1)
START_P_TIMER
RETRY_COUNT:=RETRY_COUNT+1
;============================================================================
 
/opcodes
0,0 → 1,72
0 NOP
1 CLEAR_REMOTE_BUSY
2 CONNECT_INDICATION
3 CONNECT_CONFIRM
4 DATA_INDICATION
5 DISCONNECT_INDICATION
6 DUMMY_6
7 RESET_CONFIRM
8 DUMMY_8
9 IF_F=1_CLEAR_REMOTE_BUSY
10 IF_DATA_FLAG=2_STOP_REJ_TIMER
11 SEND_DISC_CMD(P=X)
12 SEND_DM_RSP(F=X)
13 SEND_FRMR_RSP(F=X)
14 RE-SEND_FRMR_RSP(F=0)
15 RE-SEND_FRMR_RSP(F=P)
16 SEND_I_CMD(P=1)
17 RE-SEND_I_CMD(P=1)
18 RE-SEND_I_CMD(P=1)_OR_SEND_RR
19 SEND_I_XXX(X=0)
20 RE-SEND_I_XXX(X=0)
21 RE-SEND_I_XXX(X=0)_OR_SEND_RR
22 RE-SEND_I_RSP(F=1)
23 SEND_REJ_CMD(P=1)
24 SEND_REJ_RSP(F=1)
25 SEND_REJ_XXX(X=0)
26 SEND_RNR_CMD(F=1)
27 SEND_RNR_RSP(F=1)
28 SEND_RNR_XXX(X=0)
29 SET_REMOTE_BUSY
30 OPTIONAL_SEND_RNR_XXX(X=0)
31 SEND_RR_CMD(P=1)
32 SEND_ACKNOWLEDGE_CMD(P=1)
33 SEND_RR_RSP(F=1)
34 SEND_ACKNOWLEDGE_RSP(F=1)
35 SEND_RR_XXX(X=0)
36 SEND_ACKNOWLEDGE_XXX(X=0)
37 SEND_SABME_CMD(P=X)
38 SEND_UA_RSP(F=X)
39 S_FLAG:=0
40 S_FLAG:=1
41 START_P_TIMER
42 START_ACK_TIMER
43 START_REJ_TIMER
44 START_ACK_TIMER_IF_NOT_RUNNING
45 STOP_ACK_TIMER
46 STOP_P_TIMER
47 STOP_REJ_TIMER
48 STOP_ALL_TIMERS
49 STOP_OTHER_TIMERS
50 UPDATE_N(R)_RECEIVED
51 UPDATE_P_FLAG
52 DATA_FLAG:=2
53 DATA_FLAG:=0
54 DATA_FLAG:=1
55 IF_DATA_FLAG_=0_THEN_DATA_FLAG:=1
56 P_FLAG:=0
57 P_FLAG:=P
58 REMOTE_BUSY:=0
59 RETRY_COUNT:=0
60 RETRY_COUNT:=RETRY_COUNT+1
61 V(R):=0
62 V(R):=V(R)+1
63 V(S):=0
64 V(S):=N(R)
65 F_FLAG:=P
66 REPORT_STATUS(FRMR_RECEIVED)
67 REPORT_STATUS(FRMR_SENT)
68 REPORT_STATUS(REMOTE_BUSY)
69 REPORT_STATUS(REMOTE_NOT_BUSY)
70 RESET_INDICATION(LOCAL)
71 RESET_INDICATION(REMOTE)
/Makefile
0,0 → 1,13
all: pseudocode.h actionnm.h
 
clean:
touch pseudocode.h actionnm.h
rm pseudocode.h actionnm.h
 
pseudocode.h: pseudocode opcd2num.sed compile.awk
sed -f opcd2num.sed pseudocode | awk -f compile.awk >pseudocode.h
 
actionnm.h: pseudocode.h actionnm.awk
awk -f actionnm.awk pseudocode.h>actionnm.h
 
/opcodesnm.h
0,0 → 1,23
static char *opcode_names[] = {
"NOP", "CLEAR_REMOTE_BUSY", "CONNECT_INDICATION", "CONNECT_CONFIRM", "DATA_INDICATION",
"DISCONNECT_INDICATION", "DUMMY_6", "RESET_CONFIRM", "DUMMY_8",
"IF_F=1_CLEAR_REMOTE_BUSY", "IF_DATA_FLAG=2_STOP_REJ_TIMER", "SEND_DISC_CMD(P=X)",
"SEND_DM_RSP(F=X)", "SEND_FRMR_RSP(F=X)", "RE-SEND_FRMR_RSP(F=0)",
"RE-SEND_FRMR_RSP(F=P)", "SEND_I_CMD(P=1)", "RE-SEND_I_CMD(P=1)",
"RE-SEND_I_CMD(P=1)_OR_SEND_RR", "SEND_I_XXX(X=0)", "RE-SEND_I_XXX(X=0)",
"RE-SEND_I_XXX(X=0)_OR_SEND_RR", "RE-SEND_I_RSP(F=1)", "SEND_REJ_CMD(P=1)",
"SEND_REJ_RSP(F=1)", "SEND_REJ_XXX(X=0)", "SEND_RNR_CMD(F=1)", "SEND_RNR_RSP(F=1)",
"SEND_RNR_XXX(X=0)", "SET_REMOTE_BUSY", "OPTIONAL_SEND_RNR_XXX(X=0)",
"SEND_RR_CMD(P=1)", "SEND_ACKNOWLEDGE_CMD(P=1)", "SEND_RR_RSP(F=1)",
"SEND_ACKNOWLEDGE_RSP(F=1)", "SEND_RR_XXX(X=0)", "SEND_ACKNOWLEDGE_XXX(X=0)",
"SEND_SABME_CMD(P=X)", "SEND_UA_RSP(F=X)", "S_FLAG:=0", "S_FLAG:=1", "START_P_TIMER",
"START_ACK_TIMER", "START_REJ_TIMER", "START_ACK_TIMER_IF_NOT_RUNNING",
"STOP_ACK_TIMER", "STOP_P_TIMER", "STOP_REJ_TIMER", "STOP_ALL_TIMERS",
"STOP_OTHER_TIMERS", "UPDATE_N(R)_RECEIVED", "UPDATE_P_FLAG", "DATA_FLAG:=2",
"DATA_FLAG:=0", "DATA_FLAG:=1", "IF_DATA_FLAG_=0_THEN_DATA_FLAG:=1", "P_FLAG:=0",
"P_FLAG:=P", "REMOTE_BUSY:=0", "RETRY_COUNT:=0", "RETRY_COUNT:=RETRY_COUNT+1",
"V(R):=0", "V(R):=V(R)+1", "V(S):=0", "V(S):=N(R)", "F_FLAG:=P",
"REPORT_STATUS(FRMR_RECEIVED)", "REPORT_STATUS(FRMR_SENT)",
"REPORT_STATUS(REMOTE_BUSY)", "REPORT_STATUS(REMOTE_NOT_BUSY)",
"RESET_INDICATION(LOCAL)", "RESET_INDICATION(REMOTE)"
};
/actionnm.h
0,0 → 1,51
 
/* this file generated on Thu Oct 24 11:42:37 GMT 1996 */
 
static char *action_names[] = {
"NOP" ,"ADM1" ,"ADM2" ,"ADM3" ,
"ADM4" ,"ADM5" ,"CONN2" ,"CONN3" ,
"CONN4" ,"CONN5" ,"RESWAIT1" ,"RESWAIT2" ,
"RESWAIT3" ,"RESWAIT4" ,"RESWAIT5" ,"RESWAIT6" ,
"RESWAIT7" ,"RESWAIT8" ,"RESCHK1" ,"RESCHK2" ,
"RESCHK3" ,"RESCHK4" ,"RESCHK5" ,"RESCHK6" ,
"SETUP1" ,"SETUP2" ,"SETUP3" ,"SETUP4" ,
"SETUP5" ,"SETUP6" ,"SETUP7" ,"SETUP8" ,
"RESET1" ,"RESET2" ,"RESET3" ,"RESET4" ,
"RESET5" ,"RESET6" ,"RESET7" ,"RESET8" ,
"D_CONN1" ,"D_CONN2" ,"D_CONN3" ,"D_CONN4" ,
"D_CONN5" ,"D_CONN6" ,"D_CONN7" ,"ERR1" ,
"ERR2" ,"ERR3" ,"ERR4" ,"ERR5" ,
"ERR6" ,"ERR7" ,"ERR8" ,"SH1" ,
"SH2" ,"SH3" ,"SH4" ,"SH5" ,
"SH6" ,"SH7" ,"SH8" ,"SH9" ,
"SH10" ,"SH11" ,"NORMAL1" ,"NORMAL2" ,
"NORMAL3" ,"NORMAL4" ,"NORMAL5" ,"NORMAL6" ,
"NORMAL7" ,"NORMAL8A" ,"NORMAL8B" ,"NORMAL9" ,
"NORMAL10" ,"NORMAL11" ,"NORMAL12" ,"NORMAL13" ,
"NORMAL14" ,"NORMAL15" ,"NORMAL16" ,"NORMAL17" ,
"NORMAL18" ,"NORMAL19" ,"NORMAL20" ,"BUSY1" ,
"BUSY2" ,"BUSY3" ,"BUSY4" ,"BUSY5" ,
"BUSY6" ,"BUSY7" ,"BUSY8" ,"BUSY9" ,
"BUSY10" ,"BUSY11" ,"BUSY12" ,"BUSY13" ,
"BUSY14" ,"BUSY15" ,"BUSY16" ,"BUSY17" ,
"BUSY18" ,"BUSY19" ,"BUSY20" ,"BUSY21" ,
"BUSY22" ,"BUSY23" ,"BUSY24" ,"BUSY25" ,
"BUSY26" ,"REJECT1" ,"REJECT2" ,"REJECT3" ,
"REJECT4" ,"REJECT5" ,"REJECT6" ,"REJECT7" ,
"REJECT8" ,"REJECT9" ,"REJECT10" ,"REJECT11" ,
"REJECT12" ,"REJECT13" ,"REJECT14" ,"REJECT15" ,
"REJECT16" ,"REJECT17" ,"REJECT18" ,"REJECT19" ,
"REJECT20" ,"AWAIT1" ,"AWAIT2" ,"AWAIT3" ,
"AWAIT4" ,"AWAIT5" ,"AWAIT6" ,"AWAIT7" ,
"AWAIT8" ,"AWAIT9" ,"AWAIT10" ,"AWAIT11" ,
"AWAIT12" ,"AWAIT13" ,"AWAIT14" ,"AWAIT_BUSY1" ,
"AWAIT_BUSY2" ,"AWAIT_BUSY3" ,"AWAIT_BUSY4" ,"AWAIT_BUSY5" ,
"AWAIT_BUSY6" ,"AWAIT_BUSY7" ,"AWAIT_BUSY8" ,"AWAIT_BUSY9" ,
"AWAIT_BUSY10" ,"AWAIT_BUSY11" ,"AWAIT_BUSY12" ,"AWAIT_BUSY13" ,
"AWAIT_BUSY14" ,"AWAIT_BUSY15" ,"AWAIT_BUSY16" ,"AWAIT_REJECT1" ,
"AWAIT_REJECT2" ,"AWAIT_REJECT3" ,"AWAIT_REJECT4" ,"AWAIT_REJECT5" ,
"AWAIT_REJECT6" ,"AWAIT_REJECT7" ,"AWAIT_REJECT8" ,"AWAIT_REJECT9" ,
"AWAIT_REJECT10" ,"AWAIT_REJECT11" ,"AWAIT_REJECT12" ,"AWAIT_REJECT13" ,
0
};
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.