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

📄 set_rules.asl

📁 一款智能老鼠的玩具源代码
💻 ASL
📖 第 1 页 / 共 3 页
字号:
+                   395 ;ir_received_judge::
+                   396 
+                   397 ;f_judge:
+                   398 ;	lda	cnt_ir_rcv_f
+                   399 ;	cmpe	#c_ir_rcv_f
+                   400 ;	brnc	f_no_l_judge
+                   401 ;
+                   402 ;f_yes_l_judge:
+                   403 ;	lda	cnt_ir_rcv_l
+                   404 ;	cmpe	#c_ir_rcv_l
+                   405 ;	brnc	f_yes_l_no_r_judge
+                   406 ;
+                   407 ;f_yes_l_yes_r_judge:
+                   408 ;	lda	cnt_ir_rcv_r
+                   409 ;	cmpe	#c_ir_rcv_r
+                   410 ;	brnc	f_yes_l_yes_r_no
+                   411 ;	
+                   412 ;;*************/*04-02-26*/**************;
+                   413 ;f_yes_l_yes_r_yes:
+                   414 ;	lda	#c_flg_f_l_r_rcved	;左右前方有障碍,左转或右转
+                   415 ;	sta	flg_ir_received
+                   416 ;  	lda	flg_l_or_r
+                   417 ;	anda	#1
+                   418 ;	brnz	f_l_r_turn_right	;0 turn left, 1 turn right
+                   419 ;f_l_r_turn_left:			;左转;//04-03-17// revise the initial offset
+                   420 ;	lda	#>c_offset_l_40_ir	;为什么这样写>(可能是想表明这里是送进查表里的)
+                   421 ;	sta	m_offset_ini_h		;查表地址开始值
+                   422 ;	lda	#<c_offset_l_40_ir
+                   423 ;	sta	m_offset_ini
+                   424 ;	lda	#c_rnd_range_1
+                   425 ;	sta	m_rnd_range		;m_rnd_range为所求的随机数的大小
+                   426 ;	br	ir_received_set
+                   427 ;f_l_r_turn_right:			;右转
+                   428 ;	lda	#>c_offset_r_40_ir
+                   429 ;	sta	m_offset_ini_h
+                   430 ;	lda	#<c_offset_r_40_ir
+                   431 ;	sta	m_offset_ini
+                   432 ;	lda	#c_rnd_range_1
+                   433 ;	sta	m_rnd_range
+                   434 ;	br	ir_received_set
+                   435 ;;***************************************;
+                   436 ;   
+                   437 ;f_yes_l_yes_r_no:
+                   438 ;	lda	#c_flg_f_l_rcved	;左前方有障碍,右转
+                   439 ;	sta	flg_ir_received
+                   440 ;       lda	#>c_offset_r_40_ir
+                   441 ;	sta	m_offset_ini_h
+                   442 ;	lda	#<c_offset_r_40_ir
+                   443 ;	sta	m_offset_ini
+                   444 ;	lda	#c_rnd_range_1
+                   445 ;	sta	m_rnd_range
+                   446 ;	br	ir_received_set
+                   447 ;f_yes_l_no_r_judge:
+                   448 ;	lda	cnt_ir_rcv_r
+                   449 ;	cmpe	#c_ir_rcv_r
+                   450 ;	brnc	f_yes_l_no_r_no
+                   451 ;f_yes_l_no_r_yes:
+                   452 ;	lda	#c_flg_f_r_rcved	;右前方有障碍,左转
+                   453 ;	sta	flg_ir_received
+                   454 ;        lda	#>c_offset_l_40_ir
+                   455 ;	sta	m_offset_ini_h
+                   456 ;	lda	#<c_offset_l_40_ir
+                   457 ;	sta	m_offset_ini
+                   458 ;	lda	#c_rnd_range_1
+                   459 ;	sta	m_rnd_range
+                   460 ;	br	ir_received_set
+                   461 ; f_yes_l_no_r_no:
+                   462 ;	lda	#c_flg_f_rcved		;前方有障碍,左转或右转
+                   463 ;	sta	flg_ir_received
+                   464 ;;*************/*04-02-26*/**************;
+                   465 ;	lda	flg_l_or_r
+                   466 ;	anda	#1
+                   467 ;	brnz	f_turn_right		;0 turn left, 1 turn right
+                   468 ;f_turn_left:				;左转
+                   469 ;	lda	#>c_offset_l_40_ir
+                   470 ;	sta	m_offset_ini_h
+                   471 ;	lda	#<c_offset_l_40_ir
+                   472 ;	sta	m_offset_ini
+                   473 ;	lda	#c_rnd_range_1
+                   474 ;	sta	m_rnd_range
+                   475 ;	br	ir_received_set
+                   476 ;f_turn_right:				;右转
+                   477 ;	lda	#>c_offset_r_40_ir
+                   478 ;	sta	m_offset_ini_h
+                   479 ;	lda	#<c_offset_r_40_ir
+                   480 ;	sta	m_offset_ini
+                   481 ;	lda	#c_rnd_range_1
+                   482 ;	sta	m_rnd_range
+                   483 ;	br	ir_received_set
+                   484 ;;No Front ***************************************;
+                   485 ;f_no_l_judge:
+                   486 ;	lda	cnt_ir_rcv_l
+                   487 ;	cmpe	#c_ir_rcv_l
+                   488 ;	brnc	f_no_l_no_r_judge
+                   489 ;f_no_l_yes_r_judge:
+                   490 ;	lda	cnt_ir_rcv_r
+                   491 ;	cmpe	#c_ir_rcv_r
+                   492 ;	brnc	f_no_l_yes_r_no
+                   493 ;f_no_l_yes_r_yes:
+                   494 ;	lda	#c_flg_l_r_rcved	;左右方有障碍,前行
+                   495 ;	sta	flg_ir_received
+                   496 ;	lda	#c_offset_f
+                   497 ;	sta	m_offset_ini
+                   498 ;	lda	#c_rnd_range_8
+                   499 ;	sta	m_rnd_range
+                   500 ;	br	ir_received_set
+                   501 ;f_no_l_yes_r_no:
+                   502 ;	lda	#c_flg_l_rcved		;左方有障碍,右转
+                   503 ;	sta	flg_ir_received
+                   504 ;	lda	#>c_offset_r_40_ir
+                   505 ;	sta	m_offset_ini_h
+                   506 ;	lda	#<c_offset_r_40_ir
+                   507 ;	sta	m_offset_ini
+                   508 ;	lda	#c_rnd_range_1
+                   509 ;	sta	m_rnd_range
+                   510 ;	br	ir_received_set
+                   511 ;f_no_l_no_r_judge:
+                   512 ;	lda	cnt_ir_rcv_r
+                   513 ;	cmpe	#c_ir_rcv_r
+                   514 ;	brnc	f_no_l_no_r_no
+                   515 ;f_no_l_no_r_yes:
+                   516 ;	lda	#c_flg_r_rcved		;右方有障碍,左转
+                   517 ;	sta	flg_ir_received
+                   518 ;	lda	#>c_offset_l_40_ir
+                   519 ;	sta	m_offset_ini_h
+                   520 ;	lda	#<c_offset_l_40_ir
+                   521 ;	sta	m_offset_ini
+                   522 ;	lda	#c_rnd_range_1
+                   523 ;	sta	m_rnd_range
+                   524 ;	br	ir_received_set
+                   525 ;f_no_l_no_r_no:
+                   526 ;	lda	#0			;没有障碍
+                   527 ;	sta	flg_ir_received
+                   528 ;	ret
+                   529 ;ir_received_set:			;/*04-02-19*/
+                   530 ;	lda	#2			;有IR时产生新随机数的标志为2
+                   531 ;	sta	flg_new_random
+                   532 ;	lda	#0
+                   533 ;	sta	cnt_ctrl_pulse		;clear control pulse counter in Timer1 Service Routine.
+                   534 ;	sta	cnt_ctrl_pulse+1	;/*04-02-23*/
+                   535 ;ir_received_judge_end:
+                   536 ;	ret
+                   537 
+
+Symbol Table
+
+  2 Run_judge                          0000 GR
+  2 Run_next_status                    001D R
+  2 Run_random_status                  0027 R
+    c_flg_ahead                     =  0003 
+    c_flg_backup                    =  0002 
+    c_flg_f_l_rcved                 =  0004 
+    c_flg_f_r_rcved                 =  0005 
+    c_flg_l_rcved                   =  0002 
+    c_flg_left                      =  0000 
+    c_flg_r_rcved                   =  0003 
+    c_flg_right                     =  0001 
+    c_flg_stop                      =  0004 
+    c_mtr_tab_row                   =  001C 
+    c_offset_f_ini                  =  0000 
+    c_offset_l_20_ir                =  00F0 
+    c_offset_l_40_ir                =  00F8 
+    c_offset_r_20_ir                =  0138 
+    c_offset_r_40_ir                =  0140 
+    c_rnd_range_1                   =  0001 
+    c_rnd_range_f                   =  0008 
+    c_rnd_range_not_stop            =  001A 
+    cnt_ctrl_pulse                     **** GX
+  1 flg_last_barrier                   0001 GR
+    flg_motor_status                   **** GX
+    flg_new_random                     **** GX
+    flg_rcv_barrier                    **** GX
+  2 front_barrier                      002E R
+  2 last_barrier_ahead                 0016 R
+    m_offset_ini                       **** GX
+    m_offset_ini_h                     **** GX
+    m_rnd_range                        **** GX
+  2 next_status_ahead                  0085 R
+  2 next_status_backup                 007A R
+  2 next_status_l_r_ahead              005C R
+  2 next_status_l_r_b                  0058 R
+  2 next_status_left                   00A5 R
+  2 next_status_right                  009A R
+  2 next_status_set_end                00AD R
+  2 pre_status_continue                0057 R
+    read_random                        **** GX
+    rnd_num                            **** GX
+  1 temp_flg_ir_received               0000 GR
+
+
+Area Table
+
+   0 .                                  size    0   flags 0
+   1 set_rules_var                      size    2   flags 2
+   2 set_rules_code                     size   BA   flags 1

⌨️ 快捷键说明

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