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

📄 run.asl

📁 一款智能老鼠的玩具源代码
💻 ASL
📖 第 1 页 / 共 3 页
字号:
+                   423 ;;----------------------------------------------------------------;
+                   424 ;;IR Received Judge Subroutine接收判断子程序
+                   425 ;;----------------------------------------------------------------;
+                   426 ;ir_received_judge::
+                   427 
+                   428 ;f_judge:
+                   429 ;	lda	cnt_ir_rcv_f
+                   430 ;	cmpe	#c_ir_rcv_f
+                   431 ;	brnc	f_no_l_judge
+                   432 ;
+                   433 ;f_yes_l_judge:
+                   434 ;	lda	cnt_ir_rcv_l
+                   435 ;	cmpe	#c_ir_rcv_l
+                   436 ;	brnc	f_yes_l_no_r_judge
+                   437 ;
+                   438 ;f_yes_l_yes_r_judge:
+                   439 ;	lda	cnt_ir_rcv_r
+                   440 ;	cmpe	#c_ir_rcv_r
+                   441 ;	brnc	f_yes_l_yes_r_no
+                   442 ;	
+                   443 ;;*************/*04-02-26*/**************;
+                   444 ;f_yes_l_yes_r_yes:
+                   445 ;	lda	#c_flg_f_l_r_rcved	;左右前方有障碍,左转或右转
+                   446 ;	sta	flg_ir_received
+                   447 ;  	lda	flg_l_or_r
+                   448 ;	anda	#1
+                   449 ;	brnz	f_l_r_turn_right	;0 turn left, 1 turn right
+                   450 ;f_l_r_turn_left:			;左转;//04-03-17// revise the initial offset
+                   451 ;	lda	#>c_offset_l_40_ir	;为什么这样写>(可能是想表明这里是送进查表里的)
+                   452 ;	sta	m_offset_ini_h		;查表地址开始值
+                   453 ;	lda	#<c_offset_l_40_ir
+                   454 ;	sta	m_offset_ini
+                   455 ;	lda	#c_rnd_range_1
+                   456 ;	sta	m_rnd_range		;m_rnd_range为所求的随机数的大小
+                   457 ;	br	ir_received_set
+                   458 ;f_l_r_turn_right:			;右转
+                   459 ;	lda	#>c_offset_r_40_ir
+                   460 ;	sta	m_offset_ini_h
+                   461 ;	lda	#<c_offset_r_40_ir
+                   462 ;	sta	m_offset_ini
+                   463 ;	lda	#c_rnd_range_1
+                   464 ;	sta	m_rnd_range
+                   465 ;	br	ir_received_set
+                   466 ;;***************************************;
+                   467 ;   
+                   468 ;f_yes_l_yes_r_no:
+                   469 ;	lda	#c_flg_f_l_rcved	;左前方有障碍,右转
+                   470 ;	sta	flg_ir_received
+                   471 ;       lda	#>c_offset_r_40_ir
+                   472 ;	sta	m_offset_ini_h
+                   473 ;	lda	#<c_offset_r_40_ir
+                   474 ;	sta	m_offset_ini
+                   475 ;	lda	#c_rnd_range_1
+                   476 ;	sta	m_rnd_range
+                   477 ;	br	ir_received_set
+                   478 ;f_yes_l_no_r_judge:
+                   479 ;	lda	cnt_ir_rcv_r
+                   480 ;	cmpe	#c_ir_rcv_r
+                   481 ;	brnc	f_yes_l_no_r_no
+                   482 ;f_yes_l_no_r_yes:
+                   483 ;	lda	#c_flg_f_r_rcved	;右前方有障碍,左转
+                   484 ;	sta	flg_ir_received
+                   485 ;        lda	#>c_offset_l_40_ir
+                   486 ;	sta	m_offset_ini_h
+                   487 ;	lda	#<c_offset_l_40_ir
+                   488 ;	sta	m_offset_ini
+                   489 ;	lda	#c_rnd_range_1
+                   490 ;	sta	m_rnd_range
+                   491 ;	br	ir_received_set
+                   492 ; f_yes_l_no_r_no:
+                   493 ;	lda	#c_flg_f_rcved		;前方有障碍,左转或右转
+                   494 ;	sta	flg_ir_received
+                   495 ;;*************/*04-02-26*/**************;
+                   496 ;	lda	flg_l_or_r
+                   497 ;	anda	#1
+                   498 ;	brnz	f_turn_right		;0 turn left, 1 turn right
+                   499 ;f_turn_left:				;左转
+                   500 ;	lda	#>c_offset_l_40_ir
+                   501 ;	sta	m_offset_ini_h
+                   502 ;	lda	#<c_offset_l_40_ir
+                   503 ;	sta	m_offset_ini
+                   504 ;	lda	#c_rnd_range_1
+                   505 ;	sta	m_rnd_range
+                   506 ;	br	ir_received_set
+                   507 ;f_turn_right:				;右转
+                   508 ;	lda	#>c_offset_r_40_ir
+                   509 ;	sta	m_offset_ini_h
+                   510 ;	lda	#<c_offset_r_40_ir
+                   511 ;	sta	m_offset_ini
+                   512 ;	lda	#c_rnd_range_1
+                   513 ;	sta	m_rnd_range
+                   514 ;	br	ir_received_set
+                   515 ;;No Front ***************************************;
+                   516 ;f_no_l_judge:
+                   517 ;	lda	cnt_ir_rcv_l
+                   518 ;	cmpe	#c_ir_rcv_l
+                   519 ;	brnc	f_no_l_no_r_judge
+                   520 ;f_no_l_yes_r_judge:
+                   521 ;	lda	cnt_ir_rcv_r
+                   522 ;	cmpe	#c_ir_rcv_r
+                   523 ;	brnc	f_no_l_yes_r_no
+                   524 ;f_no_l_yes_r_yes:
+                   525 ;	lda	#c_flg_l_r_rcved	;左右方有障碍,前行
+                   526 ;	sta	flg_ir_received
+                   527 ;	lda	#c_offset_f
+                   528 ;	sta	m_offset_ini
+                   529 ;	lda	#c_rnd_range_8
+                   530 ;	sta	m_rnd_range
+                   531 ;	br	ir_received_set
+                   532 ;f_no_l_yes_r_no:
+                   533 ;	lda	#c_flg_l_rcved		;左方有障碍,右转
+                   534 ;	sta	flg_ir_received
+                   535 ;	lda	#>c_offset_r_40_ir
+                   536 ;	sta	m_offset_ini_h
+                   537 ;	lda	#<c_offset_r_40_ir
+                   538 ;	sta	m_offset_ini
+                   539 ;	lda	#c_rnd_range_1
+                   540 ;	sta	m_rnd_range
+                   541 ;	br	ir_received_set
+                   542 ;f_no_l_no_r_judge:
+                   543 ;	lda	cnt_ir_rcv_r
+                   544 ;	cmpe	#c_ir_rcv_r
+                   545 ;	brnc	f_no_l_no_r_no
+                   546 ;f_no_l_no_r_yes:
+                   547 ;	lda	#c_flg_r_rcved		;右方有障碍,左转
+                   548 ;	sta	flg_ir_received
+                   549 ;	lda	#>c_offset_l_40_ir
+                   550 ;	sta	m_offset_ini_h
+                   551 ;	lda	#<c_offset_l_40_ir
+                   552 ;	sta	m_offset_ini
+                   553 ;	lda	#c_rnd_range_1
+                   554 ;	sta	m_rnd_range
+                   555 ;	br	ir_received_set
+                   556 ;f_no_l_no_r_no:
+                   557 ;	lda	#0			;没有障碍
+                   558 ;	sta	flg_ir_received
+                   559 ;	ret
+                   560 ;ir_received_set:			;/*04-02-19*/
+                   561 ;	lda	#2			;有IR时产生新随机数的标志为2
+                   562 ;	sta	flg_new_random
+                   563 ;	lda	#0
+                   564 ;	sta	cnt_ctrl_pulse		;clear control pulse counter in Timer1 Service Routine.
+                   565 ;	sta	cnt_ctrl_pulse+1	;/*04-02-23*/
+                   566 ;ir_received_judge_end:
+                   567 ;	ret
+                   568 
+
+Symbol Table
+
+    Lookup                             **** GX
+  2 No_touched_key                     0008 R
+  2 Run                                0000 GR
+  2 Run_backup                         009E GR
+  2 Run_next_status                    002C R
+  2 Run_random_status                  0036 R
+  2 Run_with_broadcast                 00E1 R
+  2 broadcast_no_barrier               0041 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_backup                 =  0180 
+    c_offset_f_ini                  =  0000 
+    c_offset_l_20                   =  0048 
+    c_offset_l_20_ir                =  00F0 
+    c_offset_l_40_ir                =  00F8 
+    c_offset_r_20                   =  0090 
+    c_offset_r_20_ir                =  0138 
+    c_offset_r_40_ir                =  0140 
+    c_rnd_range_1                   =  0001 
+    c_rnd_range_f                   =  0005 
+    c_rnd_range_not_stop            =  001A 
+  1 flg_last_barrier                   0001 GR
+    flg_motor_status                   **** GX
+    flg_new_random                     **** GX
+    flg_rcv_barrier                    **** GX
+    flg_rcv_broadcast                  **** GX
+    flg_touched_key                    **** GX
+  2 front_barrier                      003D R
+  2 front_barrier_bc                   00EB R
+  2 last_barrier_ahead                 0025 R
+    m_offset_ini                       **** GX
+    m_offset_ini_h                     **** GX
+    m_rnd_range                        **** GX
+  2 next_status_ahead                  00B2 R
+  2 next_status_backup                 0097 R
+  2 next_status_l_r                    0075 R
+  2 next_status_l_r_ahead              0079 R
+  2 next_status_l_r_b                  0067 R
+  2 next_status_left                   00CA R
+  2 next_status_right                  00BF R
+  2 next_status_set_end                00D2 R
+  2 next_status_set_end1               00D4 R
+  2 pre_status_continue                0066 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 Rules_code                         size   F8   flags 1

⌨️ 快捷键说明

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