operation_a.a30

来自「电表解决方案概要power_meter_r8c2g_source_code」· A30 代码 · 共 1,730 行 · 第 1/5 页

A30
1,730
字号
	mov.b	#00H,_output_buff
	._line	176
	mov.b	_preset_time_buff,R0L
	jne	L331
	._line	177
	._block
	._line	178
	and.b	#0feH,_display_flag_1+1
	._line	179
	mov.b	#02H,_status_buff
	._line	181
	rts	
	._eblock
L331:
	._line	183
	tst.b	#10H,_operation_flag_2
	jnz	L341
	._line	184
	._block
	._line	185
	and.b	#0feH,_process_flag_1
	._line	186
	and.b	#0fdH,_process_flag_1
	._eblock
L341:
	._line	188
	tst.b	#10H,_operation_flag_2
	jz	L503
	._line	189
	._block
	._line	190
	or.b	#01H,_process_flag_1
	._line	192
	mov.b	_preset_5s_buff,R0L
	jne	L509
	._line	193
	._block
	._line	194
	and.b	#0efH,_operation_flag_2
	._line	195
	or.b	#04H,_process_flag_1
	._line	196
	rts	
	._eblock
	._eblock
	._eblock
	._line	201
L371:
	._line	202
	rts	
	._eblock
L509:
L503:
L381:
	._eblock
	._line	206
	rts	
E1:
	._eblock
M1:
	._efunc	M1
	._inspect	'F', 'd', "logic", "_logic", 'G', 21, 0, 00h, 0
	._inspect	'F', 't', "logic", 'G', 258
	._inspect	'F', 'r', "run_stream", "_run_stream", 'G', 24, 0, 00h, 0
	._inspect	'V', 'r', "water_level_buff", 'G', 26, 1, 0, 0, 00h
	._inspect	'V', 'r', "water_level", 'G', 27, 1, 0, 0, 00h
	._inspect	'V', 'r', "water_level_buff", 'G', 29, 1, 0, 0, 00h
	._inspect	'V', 'r', "water_level_buff", 'G', 29, 1, 0, 0, 00h
	._inspect	'V', 'r', "water_level", 'G', 30, 1, 0, 0, 00h
	._inspect	'V', 'r', "water_level_buff", 'G', 32, 1, 0, 0, 00h
	._inspect	'V', 'r', "water_level", 'G', 33, 1, 0, 0, 00h
	._inspect	'V', 'r', "status_buff", 'G', 35, 1, 0, 0, 00h
	._inspect	'V', 'r', "save_water_flag_1", 'G', 35, 2, 0, 0, 02h
	._inspect	'V', 'r', "status_buff", 'G', 37, 1, 0, 0, 00h
	._inspect	'V', 'r', "process_flag_2", 'G', 37, 2, 0, 0, 020h
	._inspect	'V', 'r', "status_buff", 'G', 40, 1, 0, 0, 00h
	._inspect	'V', 'r', "test1_flag_1", 'G', 40, 2, 0, 0, 02h
	._inspect	'V', 'r', "run_1s_buff", 'G', 42, 1, 0, 0, 00h
	._inspect	'V', 'r', "test1_flag_1", 'G', 43, 2, 0, 0, 02h
	._inspect	'V', 'r', "status_buff", 'G', 46, 1, 0, 0, 00h
	._inspect	'V', 'r', "test1_flag_1", 'G', 46, 2, 0, 0, 01h
	._inspect	'V', 'r', "run_1s_buff", 'G', 48, 1, 0, 0, 00h
	._inspect	'V', 'r', "test1_key_flag", 'G', 49, 2, 0, 0, 08h
	._inspect	'V', 'r', "status_buff", 'G', 52, 1, 0, 0, 00h
	._inspect	'V', 'r', "test1_flag_1", 'G', 52, 2, 0, 0, 04h
	._inspect	'V', 'r', "run_1s_buff", 'G', 54, 1, 0, 0, 00h
	._inspect	'V', 'r', "test1_key_flag", 'G', 55, 2, 0, 0, 08h
	._inspect	'V', 'r', "run_1s_buff", 'G', 58, 1, 0, 0, 00h
	._inspect	'V', 'r', "run_1s_buff", 'G', 60, 1, 0, 0, 00h
	._inspect	'V', 'r', "status_buff", 'G', 63, 1, 0, 0, 00h
	._inspect	'V', 'r', "output_buff", 'G', 65, 1, 0, 0, 00h
	._inspect	'V', 'r', "operation_flag_1", 'G', 67, 2, 0, 0, 020h
	._inspect	'V', 'r', "operation_flag_2", 'G', 67, 2, 0, 0, 02h
	._inspect	'F', 'r', "demo_judge", "_demo_judge", 'G', 69, 0, 00h, 0
	._inspect	'V', 'r', "status_buff", 'G', 70, 1, 0, 0, 00h
	._inspect	'V', 'r', "kaiji_3s_buff", 'G', 71, 1, 0, 0, 00h
	._inspect	'V', 'r', "status_buff", 'G', 77, 1, 0, 0, 00h
	._inspect	'V', 'r', "output_buff", 'G', 79, 1, 0, 0, 00h
	._inspect	'V', 'r', "display_flag_1", 'G', 80, 2, 0, 0, 040h
	._inspect	'V', 'r', "display_flag_1", 'G', 81, 2, 0, 0, 080h
	._inspect	'V', 'r', "save_water_flag_1", 'G', 83, 2, 0, 0, 02h
	._inspect	'F', 'r', "save_water", "_save_water", 'G', 84, 0, 00h, 0
	._inspect	'V', 'r', "save_water_flag_1", 'G', 85, 2, 0, 0, 08h
	._inspect	'V', 'r', "status_buff", 'G', 87, 1, 0, 0, 00h
	._inspect	'V', 'r', "save_water_flag_1", 'G', 88, 2, 0, 0, 08h
	._inspect	'V', 'r', "status_buff", 'G', 93, 1, 0, 0, 00h
	._inspect	'V', 'r', "output_buff", 'G', 95, 1, 0, 0, 00h
	._inspect	'V', 'r', "output_buff", 'G', 95, 1, 0, 0, 00h
	._inspect	'V', 'r', "operation_flag_1", 'G', 97, 2, 0, 0, 01h
	._inspect	'V', 'r', "operation_flag_1", 'G', 99, 2, 0, 0, 01h
	._inspect	'V', 'r', "water_level_buff", 'G', 101, 1, 0, 0, 00h
	._inspect	'V', 'r', "operation_buff", 'G', 103, 1, 0, 0, 00h
	._inspect	'V', 'r', "status_5m_buff", 'G', 107, 1, 0, 0, 00h
	._inspect	'V', 'r', "status_buff", 'G', 109, 1, 0, 0, 00h
	._inspect	'V', 'r', "status_5m_buff", 'G', 110, 1, 0, 0, 00h
	._inspect	'V', 'r', "p3_addr", 'G', 111, 1, 1, 0, 080h
	._inspect	'V', 'r', "operation_flag_1", 'G', 114, 2, 0, 0, 040h
	._inspect	'V', 'r', "display_flag_1", 'G', 116, 2, 0, 0, 040h
	._inspect	'V', 'r', "display_flag_1", 'G', 117, 2, 0, 0, 080h
	._inspect	'V', 'r', "output_buff", 'G', 119, 1, 0, 0, 00h
	._inspect	'V', 'r', "save_output_buff", 'G', 119, 1, 0, 0, 00h
	._inspect	'V', 'r', "run_1s_buff", 'G', 121, 1, 0, 0, 00h
	._inspect	'V', 'r', "status_buff", 'G', 122, 1, 0, 0, 00h
	._inspect	'V', 'r', "set_num", 'G', 124, 1, 0, 0, 00h
	._inspect	'V', 'r', "check_2s_buff", 'G', 125, 1, 0, 0, 00h
	._inspect	'V', 'r', "confirm_num", 'G', 126, 1, 0, 0, 00h
	._inspect	'V', 'r', "menu_level_buff", 'G', 127, 1, 0, 0, 00h
	._inspect	'V', 'r', "key_flag_1", 'G', 129, 2, 0, 0, 01h
	._inspect	'V', 'r', "key_flag_1", 'G', 130, 2, 0, 0, 02h
	._inspect	'V', 'r', "key_flag_1", 'G', 131, 2, 0, 0, 04h
	._inspect	'V', 'r', "Pflash", 'G', 133, 1, 0, 0, 00h
	._inspect	'V', 'r', "Tflash", 'G', 134, 1, 0, 0, 00h
	._inspect	'V', 'r', "Pflash_switch_flag", 'G', 136, 1, 0, 0, 00h
	._inspect	'V', 'r', "display_flag_1", 'G', 137, 2, 0, 0, 01h
	._inspect	'V', 'r', "status_buff", 'G', 143, 1, 0, 0, 00h
	._inspect	'V', 'r', "output_buff", 'G', 145, 1, 0, 0, 00h
	._inspect	'V', 'r', "output_buff", 'G', 145, 1, 0, 0, 00h
	._inspect	'V', 'r', "display_flag_1", 'G', 147, 2, 0, 0, 040h
	._inspect	'V', 'r', "display_flag_1", 'G', 148, 2, 0, 0, 080h
	._inspect	'F', 'r', "operation", "_operation", 'G', 150, 0, 00h, 0
	._inspect	'V', 'r', "status_buff", 'G', 154, 1, 0, 0, 00h
	._inspect	'V', 'r', "test_buff", 'G', 156, 1, 0, 0, 00h
	._inspect	'F', 'r', "test_no_water", "_test_no_water", 'G', 157, 0, 00h, 0
	._inspect	'V', 'r', "test_buff", 'G', 159, 1, 0, 0, 00h
	._inspect	'F', 'r', "test_production", "_test_production", 'G', 160, 0, 00h, 0
	._inspect	'V', 'r', "test_buff", 'G', 162, 1, 0, 0, 00h
	._inspect	'F', 'r', "test_cycle", "_test_cycle", 'G', 163, 0, 00h, 0
	._inspect	'V', 'r', "test_buff", 'G', 165, 1, 0, 0, 00h
	._inspect	'F', 'r', "test_interm_spin", "_test_interm_spin", 'G', 166, 0, 00h, 0
	._inspect	'V', 'r', "test_buff", 'G', 168, 1, 0, 0, 00h
	._inspect	'F', 'r', "test_weight", "_test_weight", 'G', 169, 0, 00h, 0
	._inspect	'V', 'r', "status_buff", 'G', 172, 1, 0, 0, 00h
	._inspect	'V', 'r', "output_buff", 'G', 174, 1, 0, 0, 00h
	._inspect	'V', 'r', "preset_time_buff", 'G', 176, 1, 0, 0, 00h
	._inspect	'V', 'r', "display_flag_1", 'G', 178, 2, 0, 0, 0100h
	._inspect	'V', 'r', "status_buff", 'G', 179, 1, 0, 0, 00h
	._inspect	'V', 'r', "operation_flag_2", 'G', 183, 2, 0, 0, 010h
	._inspect	'V', 'r', "process_flag_1", 'G', 185, 2, 0, 0, 01h
	._inspect	'V', 'r', "process_flag_1", 'G', 186, 2, 0, 0, 02h
	._inspect	'V', 'r', "operation_flag_2", 'G', 188, 2, 0, 0, 010h
	._inspect	'V', 'r', "process_flag_1", 'G', 190, 2, 0, 0, 01h
	._inspect	'V', 'r', "preset_5s_buff", 'G', 192, 1, 0, 0, 00h
	._inspect	'V', 'r', "operation_flag_2", 'G', 194, 2, 0, 0, 010h
	._inspect	'V', 'r', "process_flag_1", 'G', 195, 2, 0, 0, 04h
	._inspect	'F', 'e', "logic", "_logic", 'G', 0, 0


;## #	FUNCTION operation
;## #	FRAME	AUTO	(       j)	size  1,	offset -1
;## #	ARG Size(0)	Auto Size(1)	Context Size(5)

	._type	259,'v'
	._type	260,'v'
	._type	261,'x',259,1
	._type	261,'m','',0,260
	._func	'operation','G',1,261,_operation,0
	._inspect	'F', 's', "operation", "_operation", 'G', 6
	.align
	._line	229
	.glb	_operation
_operation:
	enter	#01H
	._block
	._var	'i','A',3,0
	._var	'j','A',3,-1
	._line	234
	mov.b	_program_buff,R0L
	jeq	L513
	cmp.b	#01H,R0L
	jeq	L585
	cmp.b	#02H,R0L
	jeq	L637
	cmp.b	#03H,R0L
	jeq	L689
	cmp.b	#04H,R0L
	jeq	L721
	cmp.b	#05H,R0L
	jeq	L773
	cmp.b	#06H,R0L
	jeq	L825
	cmp.b	#07H,R0L
	jeq	L877
	cmp.b	#08H,R0L
	jeq	L919
	cmp.b	#09H,R0L
	jeq	L961
	cmp.b	#0aH,R0L
	jeq	L993
	cmp.b	#0bH,R0L
	jeq	L1005
	jmp	L1153
	._line	235
	._block
	._line	236
L513:
	._line	238
	cmp.b	#32H,_ac_frequency
	jne	L515
	._line	239
	mov.b	#00H,_stream_table_row
	jmp	L525
	._line	241
L515:
	cmp.b	#3cH,_ac_frequency
	stz	#01H,_stream_table_row
L525:
	._line	244
	mov.b	#00H,_ext_stream_table_row
	._line	247
	tst.b	#02H,_operation_flag_4
	jz	L535
	._line	248
	._block
	._line	249
	mov.b	_water_level,A0
	mul.w	#0003H,A0
	mov.b	_texture_buff,R0L
	mov.b	#00H,R0H
	add.w	R0,A0
	lde.b	_Memo_Soak_Time_Table[A0],_main_soak_time
	._line	250
	mov.b	_water_level,A0
	mul.w	#0003H,A0
	mov.b	_texture_buff,R0L
	mov.b	#00H,R0H
	add.w	R0,A0
	lde.b	_Memo_Wash_Time_Table[A0],_main_wash_time
	._eblock
	._line	251
	jmp	L1149
	._line	253
L535:
	tst.b	#02H,_operation_flag_4
	jnz	L545
	._line	254
	._block
	._line	255
	mov.b	_water_level,A0
	mul.w	#0003H,A0
	inc.w	A0
	lde.b	_Memo_Soak_Time_Table[A0],_main_soak_time
	._line	256
	mov.b	_water_level,A0
	mul.w	#0003H,A0
	inc.w	A0
	lde.b	_Memo_Wash_Time_Table[A0],_main_wash_time
	._eblock
L545:
L1149:
	._line	260
	mov.b	_soak_time_buff,R0L
	jeq	L555
	._line	261
	mov.b	_soak_time_buff,A0
	mul.w	#000aH,A0
	mov.b	A0,_main_soak_time
L555:
	._line	263
	cmp.b	#0cH,_wash_time_buff
	jeq	L565
	._line	264
	mov.b	_wash_time_buff,_main_wash_time
L565:
	._line	266
	._inspect	'S', 'c', "memo_program", "_memo_program", 'G', 0, 266
	jsr	_memo_program
	._line	267
	cmp.w	#0000H,_process_left_time
	jeq	L511
	._line	268
	mov.b	_program_buff,A0
	mov.w	#0000H,A1
	mov.w	#(_Left_time_Colum_Table&0FFFFH),R0
	mov.w	#_Left_time_Colum_Table>>16,R2
	add.w	R0,A0
	adc.w	R2,A1
	lde.b	[A1A0],R0L
	push.b	R0L
	._inspect	'S', 'p', 1
	push.w	#_Memo_Time_Table>>16
	push.w	#(_Memo_Time_Table&0FFFFH)
	._inspect	'S', 'p', 4
	._inspect	'S', 'c', "program_time", "_program_time", 'G', 0, 268
	jsr	_program_time
	._inspect	'S', 'p', -5
	add.b	#05H,SP
	mov.b	R0L,_program_left_time
	jmp	L1175
	._line	271
L585:
	._line	273
	cmp.b	#32H,_ac_frequency
	jne	L587
	._line	274
	mov.b	#02H,_stream_table_row
	jmp	L597
	._line	276
L587:
	cmp.b	#3cH,_ac_frequency
	stz	#03H,_stream_table_row
L597:
	._line	279
	mov.b	#00H,_ext_stream_table_row
	._line	281
	mov.b	_water_level,A0
	lde.b	_Strong_Soak_Time_Table[A0],_main_soak_time
	._line	282
	mov.b	_water_level,A0
	lde.b	_Strong_Wash_Time_Table[A0],_main_wash_time
	._line	284
	mov.b	_soak_time_buff,R0L
	jeq	L607
	._line	285
	mov.b	_soak_time_buff,A0
	mul.w	#000aH,A0
	mov.b	A0,_main_soak_time
L607:
	._line	287
	cmp.b	#0cH,_wash_time_buff
	jeq	L617
	._line	288
	mov.b	_wash_time_buff,_main_wash_time
L617:
	._line	290
	._inspect	'S', 'c', "strong_program", "_strong_program", 'G', 0, 290
	jsr	_strong_program

⌨️ 快捷键说明

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