node.ns

来自「高分辨率A/D转换器AD7705的单片机控制」· NS 代码 · 共 3,286 行 · 第 1/5 页

NS
3,286
字号
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0

	SEG	EEFAR
	ORG	OFFCHIPMEM
%nviID	APEXP
	DATA.B	0

	SEG	EEFAR
	ORG	OFFCHIPMEM
%setAI	APEXP
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0

	SEG	EEFAR
	ORG	OFFCHIPMEM
%setDI	APEXP
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0

	SEG	EEFAR
	ORG	OFFCHIPMEM
%setO	APEXP
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0

	SEG	EEFAR
	ORG	OFFCHIPMEM
%setL	APEXP
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0,0,0,0,0
	DATA.B	0,0,0,0

	SEG	RAMNEAR
	ORG
%nviReID	APEXP
	RES	2

	SEG	RAMNEAR
	ORG
%nviL	APEXP
	RES	4

	SEG	RAMNEAR
	ORG
%nvoRe	APEXP
	RES	19

	SEG	RAMNEAR
	ORG
%nvoV	APEXP
	RES	17

	SEG	RAMNEAR
	ORG
%nvoL	APEXP
	RES	4

	SEG	RAMNEAR
	ORG
%o	APEXP
	RES	0C

	SEG	RAMNEAR
	ORG
%buf	APEXP
	RES	5

	SEG	RAMNEAR
	ORG
%sn	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%zt	APEXP
	RES	10

	SEG	RAMNEAR
	ORG
%vbuf	APEXP
	RES	17

	SEG	RAMNEAR
	ORG
%dd	APEXP
	RES	2

	SEG	RAMNEAR
	ORG
%lv	APEXP
	RES	2

	SEG	RAMNEAR
	ORG
%err	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%dy	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%jlt	APEXP
	RES	2

	SEG	RAMNEAR
	ORG
%jln	APEXP
	RES	2

	SEG	RAMNEAR
	ORG
%i	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%z	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%t	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%n	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%zbj	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%zdd	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%zdx	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%zcx	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%zbjz	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%zddz	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%zdxz	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%zcxz	APEXP
	RES	1

	SEG	CODE
	ORG
%runo	APEXP ; Function body
	PUSHS	#0
	POP	[1][@NEAR(%t)]
	PUSHS	#0
	POP	[1][@NEAR(%i)]
	PUSH	[1][@NEAR(%i)]
	XOR	#0A
	SBRNZ	*+4
	BRF	%runo+181
	PUSH	[1][@NEAR(%sn)]
	AND	#0F8
	SBRZ	*+4
	BRF	%runo+2B
	PUSH	[1][@NEAR(%i)]
	PUSHD	#%setO+1
	PUSH	[1][@NEAR(%sn)]
	PUSH	#0B
	CALL	_mul8l
	CALL	_add16
	POPD	[0]
	PUSH	[0][TOS]
	DROP	TOS
	POP	[1][@NEAR(%z)]
	BRF	%runo+3F
	PUSH	[1][@NEAR(%i)]
	PUSHD	#%setL+1
	PUSH	[1][@NEAR(%sn)]
	ADD	#0F8
	PUSH	#0B
	CALL	_mul8l
	CALL	_add16
	POPD	[0]
	PUSH	[0][TOS]
	DROP	TOS
	POP	[1][@NEAR(%z)]
	PUSH	[1][@NEAR(%z)]
	SBRZ	*+4
	BRF	%runo+48
	BRF	%runo+181
	PUSH	[1][@NEAR(%z)]
	XOR	#1
	SBRZ	*+4
	BRF	%runo+61
	PUSH	[1][@NEAR(%t)]
	XOR	#1
	SBRZ	*+4
	BRF	%runo+5B
	BRF	%runo+181
	PUSHS	#0
	POP	[1][@NEAR(%t)]
	BRF	%runo+179
	PUSH	[1][@NEAR(%t)]
	XOR	#2
	SBRNZ	*+4
	BRF	%runo+179
	PUSH	#0A
	PUSH	[1][@NEAR(%z)]
	CALL	_div8
	POP	[1][@NEAR(%n)]
	PUSH	#0A
	PUSH	[1][@NEAR(%z)]
	CALL	_mod8
	POP	[1][@NEAR(%z)]
	PUSH	[1][@NEAR(%z)]
	SBRNZ	*+4
	BRF	%runo+179
	PUSH	[1][@NEAR(%n)]
	AND	#0F0
	SBRZ	*+4
	BRF	%runo+0D0
	PUSH	[1][@NEAR(%n)]
	PUSHD	#%zt
	POPD	[3]
	PUSH	[3][TOS]
	DROP	TOS
	POP	[1][@NEAR(%n)]
	PUSH	[1][@NEAR(%z)]
	AND	#0FC
	SBRZ	*+4
	BRF	%runo+0B4
	PUSH	[1][@NEAR(%n)]
	CALL	_r_shift8_4
	POP	[1][@NEAR(%n)]
	PUSH	[1][@NEAR(%z)]
	PUSH	[1][@NEAR(%n)]
	XOR
	SBRZ	*+4
	BRF	%runo+0AE
	PUSHS	#1
	POP	[1][@NEAR(%t)]
	BRF	%runo+0B1
	PUSHS	#2
	POP	[1][@NEAR(%t)]
	BRF	%runo+0CD
	PUSH	[1][@NEAR(%n)]
	AND	#0F
	POP	[1][@NEAR(%n)]
	PUSH	[1][@NEAR(%z)]
	PUSH	[1][@NEAR(%n)]
	CALL	_gequ8
	SBRNZ	*+4
	BRF	%runo+0CA
	PUSHS	#1
	POP	[1][@NEAR(%t)]
	BRF	%runo+0CD
	PUSHS	#2
	POP	[1][@NEAR(%t)]
	BRF	%runo+179
	PUSH	[1][@NEAR(%n)]
	XOR	#10
	SBRZ	*+4
	BRF	%runo+13F
	PUSH	[1][@NEAR(%z)]
	XOR	#3
	SBRZ	*+4
	BRF	%runo+0F1
	PUSH	[1][@NEAR(%zdx)]
	XOR	#1
	SBRZ	*+4
	BRF	%runo+0EE
	PUSHS	#1
	POP	[1][@NEAR(%t)]
	BRF	%runo+0F1
	PUSHS	#2
	POP	[1][@NEAR(%t)]
	PUSH	[1][@NEAR(%z)]
	XOR	#4
	SBRZ	*+4
	BRF	%runo+10A
	PUSH	[1][@NEAR(%zbj)]
	XOR	#1
	SBRZ	*+4
	BRF	%runo+107
	PUSHS	#1
	POP	[1][@NEAR(%t)]
	BRF	%runo+10A
	PUSHS	#2
	POP	[1][@NEAR(%t)]
	PUSH	[1][@NEAR(%z)]
	XOR	#5
	SBRZ	*+4
	BRF	%runo+123
	PUSH	[1][@NEAR(%zdd)]
	XOR	#1
	SBRZ	*+4
	BRF	%runo+120
	PUSHS	#1
	POP	[1][@NEAR(%t)]
	BRF	%runo+123
	PUSHS	#2
	POP	[1][@NEAR(%t)]
	PUSH	[1][@NEAR(%z)]
	XOR	#6
	SBRZ	*+4
	BRF	%runo+13C
	PUSH	[1][@NEAR(%zcx)]
	XOR	#1
	SBRZ	*+4
	BRF	%runo+139
	PUSHS	#1
	POP	[1][@NEAR(%t)]
	BRF	%runo+13C
	PUSHS	#2
	POP	[1][@NEAR(%t)]
	BRF	%runo+179
	PUSH	#14
	PUSH	[1][@NEAR(%n)]
	CALL	_gequ8
	SBRNZ	*+4
	BRF	%runo+179
	PUSH	[1][@NEAR(%n)]
	PUSH	#17
	CALL	_gequ8
	SBRNZ	*+4
	BRF	%runo+179
	PUSH	[1][@NEAR(%n)]
	ADD	#0EC
	POP	[1][@NEAR(%n)]
	PUSH	[1][@NEAR(%z)]
	AND	#0FC
	SBRZ	*+4
	BRF	%runo+179
	PUSH	[1][@NEAR(%z)]
	PUSH	[1][@NEAR(%n)]
	PUSHD	#%nviL
	POPD	[3]
	PUSH	[3][TOS]
	DROP	TOS
	XOR
	SBRZ	*+4
	BRF	%runo+176
	PUSHS	#1
	POP	[1][@NEAR(%t)]
	BRF	%runo+179
	PUSHS	#2
	POP	[1][@NEAR(%t)]
	PUSH	[1][@NEAR(%i)]
	INC
	POP	[1][@NEAR(%i)]
	BRF	%runo+6
	PUSH	[1][@NEAR(%sn)]
	AND	#0F8
	SBRZ	*+4
	BRF	%runo+19C
	PUSHD	#%setO
	PUSH	[1][@NEAR(%sn)]
	PUSH	#0B
	CALL	_mul8l
	CALL	_add16
	POPD	[0]
	PUSH	[0][0]
	POP	[1][@NEAR(%z)]
	BRF	%runo+1AE
	PUSHD	#%setL
	PUSH	[1][@NEAR(%sn)]
	ADD	#0F8
	PUSH	#0B
	CALL	_mul8l
	CALL	_add16
	POPD	[0]
	PUSH	[0][0]
	POP	[1][@NEAR(%z)]
	PUSH	[1][@NEAR(%t)]
	XOR	#1
	SBRZ	*+4
	BRF	%runo+1C5
	PUSH	[1][@NEAR(%z)]
	SBRZ	*+4
	BRF	%runo+1C2
	PUSHS	#1
	POP	[1][@NEAR(%z)]
	BRF	%runo+1C5
	PUSHS	#0
	POP	[1][@NEAR(%z)]
	PUSH	[1][@NEAR(%z)]
	PUSH	[1][@NEAR(%sn)]
	PUSHD	#%o
	POPD	[3]
	POP	[3][TOS]
	DROP	TOS
	RET
	NOP

	SEG	RAMNEAR
	ORG
%yrsz	APEXP
	RES	1

	SEG	CODE
	ORG
%jlno	APEXP ; Function body
	PUSH	#8
	PUSHS	#6
	PUSH	[DSP][-2]
	PUSH	[DSP][-2]
	CALL	_r_shift16
	CALL	_r_shift16
	DROP	NEXT
	POP	[1][@NEAR(%yrsz)]
	PUSH	[1][@NEAR(%yrsz)]
	BRF	%jlno+11
	DROP	NEXT
	DROP	NEXT
	RET

	SEG	RAMNEAR
	ORG
%no2	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%no	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%snn	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%d	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%pzsj	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%timen	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%jlm	APEXP
	RES	1

	SEG	RAMNEAR
	ORG
%jlb	APEXP
	RES	1

	SEG	CODE
	ORG
WHEN1	EXPORT ; When task
	PUSH	[1][@NEAR(%pzsj)]
	SBRNZ	*+4
	BRF	WHEN1+1F
	PUSH	[1][@NEAR(%pzsj)]
	DEC
	POP	[1][@NEAR(%pzsj)]
	PUSH	[1][@NEAR(%pzsj)]
	XOR	#1
	SBRZ	*+4
	BRF	WHEN1+19
	CALLF	%settime
	BRF	WHEN1+1C
	CALLF	%setdata
	BRF	WHEN1+1DD
	PUSH	[1][@NEAR(%timen)]
	INC
	POP	[1][@NEAR(%timen)]
	PUSH	[1][@NEAR(%timen)]
	XOR	#8
	SBRZ	*+4
	BRF	WHEN1+3F
	CALLF	%gettime
	PUSH	[1][@NEAR(%dq)+2]
	POP	[1][@NEAR(%nviTime)+2]
	PUSH	[1][@NEAR(%dq)+3]
	POP	[1][@NEAR(%nviTime)+3]
	PUSH	[1][@NEAR(%dq)+4]
	POP	[1][@NEAR(%nviTime)+4]
	PUSH	[1][@NEAR(%dq)+5]
	POP	[1][@NEAR(%nviTime)+5]
	PUSH	[1][@NEAR(%timen)]
	XOR	#9
	SBRZ	*+4
	BRF	WHEN1+52
	CALLF	%getdata
	PUSH	[1][@NEAR(%dq)]
	POP	[1][@NEAR(%nviTime)]
	PUSH	[1][@NEAR(%dq)+1]
	POP	[1][@NEAR(%nviTime)+1]
	PUSH	[1][@NEAR(%timen)]
	XOR	#0A
	SBRZ	*+4
	BRF	WHEN1+0A4
	PUSHS	#0
	POP	[1][@NEAR(%timen)]
	PUSH	[1][@NEAR(%jlm)]
	XOR	#0FF
	SBRZ	*+4
	BRF	WHEN1+7B
	PUSH	#1E
	PUSH	[1][@NEAR(%dq)+5]
	CALL	_gequ8
	SBRNZ	*+4
	BRF	WHEN1+75
	PUSHS	#1
	POP	[1][@NEAR(%jlm)]
	BRF	WHEN1+78
	PUSHS	#0
	POP	[1][@NEAR(%jlm)]
	BRF	WHEN1+0A4
	PUSH	[1][@NEAR(%jlm)]
	SBRZ	*+4
	BRF	WHEN1+94
	PUSH	#1E
	PUSH	[1][@NEAR(%dq)+5]
	CALL	_gequ8
	SBRNZ	*+4
	BRF	WHEN1+91
	PUSHS	#1
	POP	[1][@NEAR(%jlb)]
	PUSHS	#1
	POP	[1][@NEAR(%jlm)]
	BRF	WHEN1+0A4
	PUSH	#1E
	PUSH	[1][@NEAR(%dq)+5]
	CALL	_less8
	SBRNZ	*+4
	BRF	WHEN1+0A4
	PUSHS	#0
	POP	[1][@NEAR(%jlb)]
	PUSHS	#0
	POP	[1][@NEAR(%jlm)]
	PUSH	[1][@NEAR(%timen)]
	XOR	#3
	SBRZ	*+4
	BRF	WHEN1+1DD
	PUSH	[1][@NEAR(%jlb)]
	XOR	#0FF
	SBRNZ	*+4
	BRF	WHEN1+1DD
	PUSH	[1][@NEAR(%jlt)]
	PUSH	[1][@NEAR(%jlt)+1]
	CALL	_inc16
	POP	[1][@NEAR(%jlt)+1]
	POP	[1][@NEAR(%jlt)]
	PUSHD	#168
	PUSH	[1][@NEAR(%jlt)]
	PUSH	[1][@NEAR(%jlt)+1]
	CALL	_equal16
	SBRNZ	*+4
	BRF	WHEN1+0E0
	PUSHS	#0
	PUSHS	#0
	POP	[1][@NEAR(%jlt)+1]
	POP	[1][@NEAR(%jlt)]
	PUSH	[1][@NEAR(%no)]
	SBRNZ	*+4
	BRF	WHEN1+0DD

⌨️ 快捷键说明

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