今天去面试
中午休息时间长心血来潮去一家公司面试了,想想也学了一些日了的C51了,去试试深浅,回答了一些问题还算不错能答上,都是些基础的,后来就聊开了,聊到写程序之类的话题,看的出来面试我的是一位资深工程师了,说现在学校出来的学生大多用C,都不会汇编,其实这是在误导学生,汇编是基础,就算你用C写完程序编译后反汇编出来还是用汇编去检查程序,所以不会汇编你怎么去检查自己写的程序到底怎么样呢......,想想还真有道理,不知道现在写程序高手的成长过程是怎么样的这个汇编是高层挑错时用,平时工作当中是不用地
有些单位的老工程师才用,他问你什么你尽量答就是,没看好汇编,这好比是步枪同大炮的区别:time: 如果他非得要懂汇编的,那俺最适合不过滴鸟。俺51、86汇编都行啊。8H14地说:俺不懂汇编。
如果说完整的话,应该是以前曾经懂过,现在流行的CPU的汇编不懂了。懂汇编好自然不假,不过要知道这年头描述电子技术最合适的成语叫“日新月异”,恨不得隔三隔五就冒出一套新系列来,要追踪着每个系列都吭哧吭哧弄懂学通,俺不早就成烈士了?!
其实没那么邪门,①只要曾经学过哪怕是风牛马不相及的机种,必要时把汇编打出来瞅瞅还是会猜出个89不离10的。②其实为了调试看汇编几率极小,至少俺没碰上过,那简直是要挑编译器毛病。
不是俺偏颇,打个比方,现在电路IC用得很多,如果你是晶体管电路高手,能把IC的内部模块逐一分析得清清楚楚当然好,但在实际工作中有没这个必要就是另外一回事了。 <P>所以说现在头大了,这汇编到底要是通呢还是了解了大概呢,本来是准备学个大概有个了解就行了,主要还是放在C上,</P>
<P>还有就是对于单片机到底这个汇编学到什么样才算行呢,我都工作了又有宝宝,虽说时间是挤出来的,但也不可能把每个知识都很花很久时间去学</P>
<P>面试的时候那人问我直接寻址和间接寻址有什么不同,各写一条指令,直接寻址没有问题,但写间接寻址的时候我写了MOV A,R0,那人说不对,我就奇怪了,寄存器寻址是难道不属于间接寻址吗,这不也是通过寄存器才能找到数吗,后来我又写了一个MOV A,@R0,那人才说对,</P>
<P>还有一个纠结的地方,寻址指令和数据传送指令是不是一样的,还是有什么不同,感觉都一样的吗</P>
<P>另外汇编里==这是什么符号,那人和我说这是测试等于,我说测试等于不就一个等号吗<BR></P>
[ 本帖最后由 zjjone1023 于 2011-7-18 16:04 编辑 ] 我懂一点点的汇编。 <div class='shownolgin' data-isdigest='no'><P>红阳我知道,是程序的高手,你说的这一点点是多少啊,可以用汇编做工程吗</P>
<P>所以说现在头大了,这汇编到底要是通呢还是了解了大概呢,本来是准备学个大概有个了解就行了,主要还是放在C上,</P>
<P>还有就是对于单片机到底这个汇编学到什么样才算行呢,我都工作了又有宝宝,虽说时间是挤出来的,但也不可能把每个知识都很花很久时间去学</P>
<P>面试的时候那人问我直接寻址和间接寻址有什么不同,各写一条指令,直接寻址没有问题,但写间接寻址的时候我写了MOV A,R0,那人说不对,我就奇怪了,寄存器寻址是难道不属于间接寻址吗,这不也是通过寄存器才能找到数吗,后来我又写了一个MOV A,@R0,那人才说对,</P>
<P>还有一个纠结的地方,寻址指令和数据传送指令是不是一样的,还是有什么不同,感觉都一样的吗</P>
<P>另外汇编里==这是什么符号,那人和我说这是测试等于,我说测试等于不就一个等号吗<BR></P>
[ 本帖最后由 zjjone1023 于 2011-7-18 16:04 编辑 ]</div><script>showreplylogin();</script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <div class='shownolgin' data-isdigest='no'><P>汇编是学习单片机最基本的东西,不学习汇编,你就很难弄懂单片机的内部构造,还有他们是怎么工作的。</P>
<P> </P>
<P> </P>
<P> </P>
<P>“写间接寻址的时候我写了MOV A,R0,那人说不对,我就奇怪了,寄存器寻址是难道不属于间接寻址吗,这不也是通过寄存器才能找到数吗,后来我又写了一个MOV A,@R0,那人才说对,</P>
<P>还有一个纠结的地方,寻址指令和数据传送指令是不是一样的,还是有什么不同,感觉都一样的吗”</P>
<P> </P>
<P> </P>
<P>楼主还是对单片机不熟练,最基层的东西不了解,建议先学汇编,后学C51,毕竟有C语言的基础,汇编弄懂了,C51就是小菜了。</P>
<P> 以上是小弟的小小见地,如有不对的地方,敬请原谅。</P></div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='no'>恩,汇编还是很重要的</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='no'>MOV A,R0;仅属于寄存器寻址而非寄存器间接寻址,所以你回答错了。距离公司要求还有距离</div><script>showreplylogin();</script>
回复 楼主 zjjone1023 的帖子
<div class='shownolgin' data-isdigest='no'>我承认汇编的重要性,汇编其实就是整个芯片的指令系统,但是反汇编回来的东西还能看吗?能看懂能分析清楚吗?表示怀疑!!!程序大了看别人的C程序都头大!</div><script>showreplylogin();</script>回复 板凳 xu__changhua 的帖子
<div class='shownolgin' data-isdigest='no'>徐老师,是汇编高手,膜拜啊,现在就是去很多公司都在问用C还是汇编,大多数都是C会的多点,汇编知道丁点,失败啊。有时勉强在C里插两条汇编。</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='no'>说到汇编 。最近一直在调一个操作系统 代码都是汇编 看得难受啊 。
自己写估计肯定是不行咯 不过代码还是会看 。。。</div><script>showreplylogin();</script>
回复 4楼 仙猫 的帖子
<div class='shownolgin' data-isdigest='no'>哈哈 支持下 嘿嘿</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='no'>C和汇编各有用处,保持自己谦虚,读懂别人谦虚</div><script>showreplylogin();</script>
页:
[1]