|
| 采购元器件好去处--维库电子市场网推荐 |
| 技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
有一句没看懂(m x n 矩阵元素查找程序) |
| 来源:21ic 作者:shanxin 栏目:新手园地 |
| 有一句没看懂(m x n 矩阵元素查找程序) 在《单片机C语言Windows环境编程宝典》一书中34页m x n 矩阵元素查找程序 有一句没看懂,请大家调试一下,指教。谢谢 mov a,i; mov b,#n; mul ab add a,j rl a mov r3,a add a,#05 ;这一句什么意识 movc a,@a+pc xch a,r3 inc a inc a movc a,@a+pc ret tab:dw X0,0,X0,1...X0,n-1 . . dw Xm-1,0,...Xm-1,n-1 |
| 1楼: | >>参与讨论 |
| 作者: cheng_yq 于 2006-5-16 15:32:00 发布:
就是将A=A+5; |
|
| 2楼: | >>参与讨论 |
| 作者: shanxin 于 2006-5-16 16:42:00 发布:
为什么这样用 我问的是这一句在程序中的作用,为什么加它,而且是两个inc a,看不懂。不用pc指针,而是用地址指向,很方便。它这样用有什么好处? |
|
| 3楼: | >>参与讨论 |
| 作者: shanxin 于 2006-5-18 11:53:00 发布:
该程序调试成功 org 0000h mov a,#3 mov b,#6 mul ab add a,#2 rl a mov r3,a add a,#05h ;mov dptr,#tab movc a,@a+pc ;movc a,@a+dptr xch a,r3 inc a inc a movc a,@a+pc ;movc a,@a+dptr ret tab:dw 0000h,0001h,0002h,0003h,0004h,0005h dw 1010H,1011h,1012h,1013h,1014h,1015h dw 2020h,2021h,2022h,2023h,2024h,2025h dw 3030h,3031h,8832h,3033h,3034h,3035h dw 4040h,4041h,4042h,4043h,4044h,4045h dw 5050h,5051h,5052h,5053h,5054h,5055h 该程序调试成功,但不明白为什么要add a,#05h这一句,如何推算的,谁知道请赐教。 |
|
| 4楼: | >>参与讨论 |
| 作者: dengm 于 2006-5-18 12:29:00 发布:
下面这段的机器码是 “5”个bytes xch a,r3 inc a inc a movc a,@a+pc ret |
|
| 5楼: | >>参与讨论 |
| 作者: shanxin 于 2006-5-18 13:17:00 发布:
那为什么用两个inc a呢? 谢谢,pc指针加5应该是中间夹杂5条指令。那为什么用两个inc a呢? |
|
| 6楼: | >>参与讨论 |
| 作者: shanxin 于 2006-5-18 14:07:00 发布:
我明白了 程序中第一个inc a是计算相对地址,第二个inc a是为pc指针加1的。 |
|
|
|
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |