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

📄 pseudocode

📁 Linux内核源代码 为压缩文件 是<<Linux内核>>一书中的源代码
💻
📖 第 1 页 / 共 2 页
字号:
;============================================================================;; 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_INDICATIONADM3		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:=0CONN2		SEND_DM_RSP(F=X)CONN3		F_FLAG:=PCONN4		DISCONNECT_INDICATIONCONN5		NOP;============================================================================RESWAIT1	SEND_SABME_CMD(P=X)		P_FLAG:=P		START_ACK_TIMER		RETRY_COUNT:=0RESWAIT2	SEND_UA_RSP(F=X)		V(S):=0		V(R):=0		RETRY_COUNT:=0		P_FLAG:=0		REMOTE_BUSY:=0		RESET_CONFIRMRESWAIT3	SEND_DISC_CMD(P=X)		P_FLAG:=P		START_ACK_TIMER		RETRY_COUNT:=0RESWAIT4	SEND_DM_RSP(F=X)		RESWAIT5	DISCONNECT_INDICATIONRESWAIT6	S_FLAG:=1		F_FLAG:=PRESWAIT7	SEND_DM_RSP(F=X)		DISCONNECT_INDICATIONRESWAIT8	NOP;============================================================================RESCHK1		SEND_UA_RSP(F=X)		V(S):=0		V(R):=0		RETRY_COUNT:=0		P_FLAG:=0		REMOTE_BUSY:=0RESCHK2		SEND_DM_RSP(F=X)RESCHK3		DISCONNECT_INDICATIONRESCHK4		F_FLAG:=PRESCHK5		SEND_DM_RSP(F=X)		DISCONNECT_INDICATIONRESCHK6		NOP;============================================================================SETUP1		SEND_UA_RSP(F=X)		V(S):=0		V(R):=0		RETRY_COUNT:=0		S_FLAG:=1SETUP2		STOP_ACK_TIMER		V(S):=0		V(R):=0		RETRY_COUNT:=0		UPDATE_P_FLAG		CONNECT_CONFIRM		REMOTE_BUSY:=0SETUP3		P_FLAG:=0		CONNECT_CONFIRM		REMOTE_BUSY:=0SETUP4		SEND_DM_RSP(F=X)		DISCONNECT_INDICATION		STOP_ACK_TIMERSETUP5		DISCONNECT_INDICATION		STOP_ACK_TIMERSETUP6		NOPSETUP7		SEND_SABME_CMD(P=X)		P_FLAG:=P		START_ACK_TIMER		RETRY_COUNT:=RETRY_COUNT+1SETUP8		DISCONNECT_INDICATION;============================================================================RESET1		SEND_UA_RSP(F=X)		V(S):=0		V(R):=0		RETRY_COUNT:=0		S_FLAG:=1RESET2		STOP_ACK_TIMER		V(S):=0		V(R):=0		RETRY_COUNT:=0		UPDATE_P_FLAG		RESET_CONFIRM		REMOTE_BUSY:=0RESET3		P_FLAG:=0		RESET_CONFIRM		REMOTE_BUSY:=0RESET4		SEND_DM_RSP(F=X)		DISCONNECT_INDICATION		STOP_ACK_TIMERRESET5		DISCONNECT_INDICATION		STOP_ACK_TIMERRESET6		NOPRESET7		SEND_SABME_CMD(P=X)		P_FLAG:=P		START_ACK_TIMER		RETRY_COUNT:=RETRY_COUNT+1RESET8		DISCONNECT_INDICATION;============================================================================D_CONN1		SEND_DM_RSP(F=X)		STOP_ACK_TIMERD_CONN2		STOP_ACK_TIMERD_CONN3		SEND_UA_RSP(F=X)D_CONN4		STOP_ACK_TIMERD_CONN5		NOPD_CONN6		SEND_DISC_CMD(P=X)		P_FLAG:=P		START_ACK_TIMER		RETRY_COUNT:=RETRY_COUNT+1D_CONN7		NOP;============================================================================ERR1		RESET_INDICATION(REMOTE)		STOP_ACK_TIMER		F_FLAG:=PERR2		SEND_UA_RSP(F=X)		DISCONNECT_INDICATION		STOP_ACK_TIMERERR3		DISCONNECT_INDICATION		STOP_ACK_TIMERERR4		RESET_INDICATION(LOCAL)		STOP_ACK_TIMER		REPORT_STATUS(FRMR_RECEIVED)		S_FLAG:=0ERR5		RE-SEND_FRMR_RSP(F=P)		START_ACK_TIMERERR6		NOPERR7		RE-SEND_FRMR_RSP(F=0)		START_ACK_TIMER		RETRY_COUNT:=RETRY_COUNT+1ERR8		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:=0SH2		SEND_SABME_CMD(P=X)		P_FLAG:=P		START_ACK_TIMER		STOP_OTHER_TIMERS		RETRY_COUNT:=0		S_FLAG:=0SH3		RESET_INDICATION(REMOTE)		F_FLAG:=P		STOP_ALL_TIMERSSH4		SEND_UA_RSP(F=X)		DISCONNECT_INDICATION		STOP_ALL_TIMERSSH5		STOP_ALL_TIMERS		RESET_INDICATION(LOCAL)		REPORT_STATUS(FRMR_RECEIVED)		S_FLAG:=0SH6		DISCONNECT_INDICATION		STOP_ALL_TIMERSSH7		SEND_FRMR_RSP(F=X)		REPORT_STATUS(FRMR_SENT)		START_ACK_TIMER		STOP_OTHER_TIMERS		RETRY_COUNT:=0SH8		SEND_FRMR_RSP(F=0)		REPORT_STATUS(FRMR_SENT)		START_ACK_TIMER		STOP_OTHER_TIMERS		RETRY_COUNT:=0SH9		SEND_FRMR_RSP(F=0)		REPORT_STATUS(FRMR_SENT)		START_ACK_TIMER		STOP_OTHER_TIMERS		RETRY_COUNT:=0SH10		SEND_FRMR_RSP(F=X)		REPORT_STATUS(FRMR_SENT)		START_ACK_TIMER		STOP_OTHER_TIMERS		RETRY_COUNT:=0SH11		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_RUNNINGNORMAL2		SEND_I_XXX(X=0)		START_ACK_TIMER_IF_NOT_RUNNINGNORMAL3		SEND_RNR_CMD(F=1)		START_P_TIMER		DATA_FLAG:=0;		SEND_RNR_XXX(X=0);		DATA_FLAG:=0NORMAL4		SEND_RNR_XXX(X=0)		DATA_FLAG:=0NORMAL5		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_BUSYNORMAL6		SEND_REJ_XXX(X=0)		UPDATE_N(R)_RECEIVED		START_REJ_TIMERNORMAL7		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 incomming 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_INDICATIONNORMAL11	UPDATE_P_FLAG		UPDATE_N(R)_RECEIVED		CLEAR_REMOTE_BUSYNORMAL12	SEND_ACKNOWLEDGE_RSP(F=1)		UPDATE_N(R)_RECEIVED		CLEAR_REMOTE_BUSYNORMAL13	UPDATE_P_FLAG		UPDATE_N(R)_RECEIVED		SET_REMOTE_BUSYNORMAL14	SEND_RR_RSP(F=1)		UPDATE_N(R)_RECEIVED		SET_REMOTE_BUSYNORMAL15	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_BUSYNORMAL16	V(S):=N(R)		UPDATE_N(R)_RECEIVED		RE-SEND_I_XXX(X=0)		CLEAR_REMOTE_BUSYNORMAL17	V(S):=N(R)		UPDATE_N(R)_RECEIVED		RE-SEND_I_RSP(F=1)		CLEAR_REMOTE_BUSYNORMAL18	SEND_RR_CMD(P=1)		START_P_TIMERNORMAL19	P_FLAG:=0;		SEND_RR_CMD(P=1);		START_P_TIMER;		RETRY_COUNT:=RETRY_COUNT+1NORMAL20	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_RUNNINGBUSY2		SEND_I_XXX(X=0)		START_ACK_TIMER_IF_NOT_RUNNINGBUSY3		SEND_REJ_CMD(P=1)		START_REJ_TIMER		START_P_TIMER;		SEND_REJ_XXX(X=0);		START_REJ_TIMERBUSY4		SEND_REJ_XXX(X=0)		START_REJ_TIMERBUSY5		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_BUSYBUSY10		OPTIONAL_SEND_RNR_XXX(X=0)		UPDATE_N(R)_RECEIVED		IF_DATA_FLAG_=0_THEN_DATA_FLAG:=1BUSY11		SEND_RNR_RSP(F=1)		UPDATE_N(R)_RECEIVED		IF_DATA_FLAG_=0_THEN_DATA_FLAG:=1BUSY12		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:=0BUSY13		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

⌨️ 快捷键说明

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