问一下圈圈,这个反汇编我这样理解对吗?(已想通)

[复制链接]
5411|37
wangkj 发表于 2009-4-17 17:31 | 显示全部楼层

看来,俺的基础也很差

刘前辈应该改名叫做.............
 楼主| jiyiche 发表于 2009-4-17 18:46 | 显示全部楼层

老叶啊,你也别老说自己是菜鸟了

你要是菜鸟那我连菜虫都不是了。。。
渤海三叠浪 发表于 2009-4-17 19:37 | 显示全部楼层

人非圣贤,皆会犯错!!

我还是觉得yewuyi的想法更适合于大多数人!!!!
yewuyi 发表于 2009-4-17 19:37 | 显示全部楼层

TO LS

俺可没跟大家玩谦虚,呵呵,俺真是菜鸟。。。
渤海三叠浪 发表于 2009-4-17 19:40 | 显示全部楼层

通知

23楼和24楼的帖子竟然........在同年同月同日同时同分可能同秒发布!!!
yewuyi 发表于 2009-4-17 20:13 | 显示全部楼层

呵呵,过于奇妙。。。

strang 发表于 2009-4-17 21:08 | 显示全部楼层

天!我直接晕倒!害怕指针啊?

不得不学了啊???
highgear 发表于 2009-4-17 21:29 | 显示全部楼层

一个小bug

void main(void)
{
     unsigned int i;
     ((unsigned char data *)i)[0]=TH0;
     ((unsigned char data *)i)[1]=TL0;
}
应该是:
((unsigned char data *)    &i  )[0]=TH0;
否则 TH0 就不知道存到什么地方了。

强制是一个非常非常重要的概念,特别是对于嵌入式编程。其实只要掌握了基本原理,就能融会贯通,很快就熟能生巧。切不可因难而避开。
computer00 发表于 2009-4-17 21:44 | 显示全部楼层

数组的方式,多个变量连续访问时就方便了。

搞个+多少在里面看着不爽,直接用[]偏移变址寻址多好。

p[0]=TH0;
p[1]=TL0; 

这样看起来不是更舒服吗?

yewuyi, 既然都是要访问这个地址,何必要绕个弯子借助第三者?它现在已经是那种类型的指针了,直接访问即可。绕个弯子,不但浪费RAM,也浪费运行时间。

好比if(function())你看不懂吗?你非要写成
condition=function;
if(condition)
才觉得直观吗?
ayb_ice 发表于 2009-4-18 17:56 | 显示全部楼层

对于x = y*256 + z;

这样的程序,KEIL C51,IAR 430都产生了较长的代码,但CW的S08却产生了直接传送的汇编代码,也是有点奇怪.
一般情况下CW是远不如KEIL和IAR的,不知是不是有什么其它原因.
再试试其它的IDE.
ayb_ice 发表于 2009-4-18 18:06 | 显示全部楼层

接着来: IAR 51的效果更是惨不忍睹

这里TH0和TL0是直接用uchar代替的
ayb_ice 发表于 2009-4-18 18:19 | 显示全部楼层

430的代码

ayb_ice 发表于 2009-4-18 18:20 | 显示全部楼层

S08的效果

yewuyi 发表于 2009-4-18 22:04 | 显示全部楼层

呵呵,CW很牛B的,KEIL远不如IAR 和CW才对。

夭夭729627 发表于 2009-4-27 22:05 | 显示全部楼层

求求帮帮我关于电话将多路电话线合成一路

关于在电话终端将多路电话线合成一路 

我听说现在在这一方面已经有人做过,已经有成熟的芯片了,或是在总局交换机能够实现将两个号码接到一路电话上去,但是我对具体的还是不明白,有谁能够告诉我具体的型号或是例子吗?着急,谢谢你们了!真的很感谢!

 
 
inter_zhou 发表于 2009-4-29 13:55 | 显示全部楼层

正确写法应该这样吧

void main(void)
{
     unsigned int data i;
     ((unsigned char data *)&i)[0]=TH0;
     ((unsigned char data *)&i)[1]=TL0;
}
gaylexia 发表于 2009-5-21 14:42 | 显示全部楼层

呵呵 。。。楼主说的很明白的

呵呵 。。。楼主说的很明白的
victech 发表于 2009-7-12 20:15 | 显示全部楼层

gs

灌水
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部