发新帖我要提问
12
返回列表
打印

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

[复制链接]
楼主: jiyiche
手机看帖
扫描二维码
随时随地手机跟帖
21
wangkj| | 2009-4-17 17:31 | 只看该作者 回帖奖励 |倒序浏览

看来,俺的基础也很差

刘前辈应该改名叫做.............

使用特权

评论回复
22
jiyiche|  楼主 | 2009-4-17 18:46 | 只看该作者

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

你要是菜鸟那我连菜虫都不是了。。。

使用特权

评论回复
23
渤海三叠浪| | 2009-4-17 19:37 | 只看该作者

人非圣贤,皆会犯错!!

我还是觉得yewuyi的想法更适合于大多数人!!!!

使用特权

评论回复
24
yewuyi| | 2009-4-17 19:37 | 只看该作者

TO LS

俺可没跟大家玩谦虚,呵呵,俺真是菜鸟。。。

使用特权

评论回复
25
渤海三叠浪| | 2009-4-17 19:40 | 只看该作者

通知

23楼和24楼的帖子竟然........在同年同月同日同时同分可能同秒发布!!!

使用特权

评论回复
26
yewuyi| | 2009-4-17 20:13 | 只看该作者

呵呵,过于奇妙。。。

使用特权

评论回复
27
strang| | 2009-4-17 21:08 | 只看该作者

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

不得不学了啊???

使用特权

评论回复
28
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 就不知道存到什么地方了。

强制是一个非常非常重要的概念,特别是对于嵌入式编程。其实只要掌握了基本原理,就能融会贯通,很快就熟能生巧。切不可因难而避开。

使用特权

评论回复
29
computer00| | 2009-4-17 21:44 | 只看该作者

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

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

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

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

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

好比if(function())你看不懂吗?你非要写成
condition=function;
if(condition)
才觉得直观吗?

使用特权

评论回复
30
ayb_ice| | 2009-4-18 17:56 | 只看该作者

对于x = y*256 + z;

这样的程序,KEIL C51,IAR 430都产生了较长的代码,但CW的S08却产生了直接传送的汇编代码,也是有点奇怪.
一般情况下CW是远不如KEIL和IAR的,不知是不是有什么其它原因.
再试试其它的IDE.

使用特权

评论回复
31
ayb_ice| | 2009-4-18 18:06 | 只看该作者

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

这里TH0和TL0是直接用uchar代替的

使用特权

评论回复
32
ayb_ice| | 2009-4-18 18:19 | 只看该作者

430的代码

使用特权

评论回复
33
ayb_ice| | 2009-4-18 18:20 | 只看该作者

S08的效果

使用特权

评论回复
34
yewuyi| | 2009-4-18 22:04 | 只看该作者

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

使用特权

评论回复
35
夭夭729627| | 2009-4-27 22:05 | 只看该作者

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

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

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

 
 

使用特权

评论回复
36
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;
}

使用特权

评论回复
37
gaylexia| | 2009-5-21 14:42 | 只看该作者

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

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

使用特权

评论回复
38
victech| | 2009-7-12 20:15 | 只看该作者

gs

灌水

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则