打印

我学校学的是8051汇编语言 用的是伟福 毕业好找工作吗

[复制链接]
8650|54
手机看帖
扫描二维码
随时随地手机跟帖
沙发
zhaoyu2005| | 2011-8-13 09:12 | 只看该作者
在学校学的什么单片机,用的什么开发手段,不是最重要的,最重要的是 思想 。也可以说是你具备的思维方式,这个才是最重要的,这个决定了你看问题的角度 高度,也决定了你的成就。不要局限于用什么构架的单片机、所用片子的位数、处理速度、编程语言

使用特权

评论回复
板凳
刘前辈| | 2011-8-13 11:54 | 只看该作者
本帖最后由 刘前辈 于 2011-8-13 21:23 编辑

学的8051汇编? 羡慕极了。我自学的8051汇编,本来自我感觉还可以。结果昨天才知道,奥妙的地方好多不知道呢。
举例:
当2个中断同时被触发,高优先级的中断首先被响应,ISR首先被CPU执行,低优先级的那个中断被挂起;当高优先级ISR运行结束,RETI指令返回;——RETI指令后面至少执行一条指令之后才可以响应下一个挂起的中断。——这一点谁都知道。
例如:
INT0:
……
;ISR代码
……
RETI
MOV  R0,A  ;这一条必然被保护执行。

CLR  A      ;下一个中断响应只可能从这条开始。
……

我的问题:除了RETI 指令外,还有什么指令具有这样(保护当前指令 后面一条指令 (2者像单指令一样)立即执行,而不会被其他中断响应ISR隔离推迟执行)的功能?

我只问LZ一人,——高手若知道请保留答案2天。

或者讲解一下第2个问题:

所有型号的单片机都具有此功能?——为什么?

//

使用特权

评论回复
地板
zhaoyu2005| | 2011-8-13 15:14 | 只看该作者
LS,你的理解有一定问题,就是RETI之后是哪条指令被执行,不是在程序空间上在它之后,而是在中断前,被执行的最后一条指令的下一条指令,很多时候中断的位置是不确定的(除非是空循环等中断),那么中断过后首先被执行的指令也是不确定的。还有就是中断可以嵌套的。
再说第二个问题,既然第一个不是完全对,那第二个问题自然不成问题了,不过你理解了向量中断和非向量中断,第二个问题自然明白了,51的是向量中断,PIC的非向量中断,STM32,两者都有

使用特权

评论回复
5
mugenwon| | 2011-8-13 15:29 | 只看该作者
记住,行业决定收入,不是技术。

使用特权

评论回复
6
刘前辈| | 2011-8-13 19:55 | 只看该作者
本帖最后由 刘前辈 于 2011-8-13 20:29 编辑

确实没表达清楚:(2者像单指令一样)是指除了RETI指令之外。
RETI 和下一条指令叫动态绑定,其它类似指令可是根据用户汇编代码静态固定绑定了。符合下面:

我的问题:除了RETI 指令外,还有什么指令具有这样(保护当前指令 后面一条指令 (2者像单指令一样)立即执行,而不会被中断响应ISR隔离推迟执行)的功能?



RETI

;下面是返回断点后的第一条语句;

MOV  R0,A   ;   这条断点恢复后的第一条用户指令必然被保护执行,然后才
                             可能响应其它中断。——即使你有多级中断嵌套。

还有什么指令具有这种能将下一条指令绑定在一起,屏蔽中断,被保护执行的功能?

一般概念认为中断响应可以发生在任何当前正在执行的语句完成之后,除了RETI 和……指令之外。


、、

使用特权

评论回复
7
Cortex-M0| | 2011-8-13 20:48 | 只看该作者
这简单,但俺不说,两天后再说~~~  :lol

使用特权

评论回复
8
刘前辈| | 2011-8-13 21:30 | 只看该作者
4楼如若知道51有这类似RETI以外的指令,或许就会知道我要问的是什么。

可惜4楼现在还不知道51汇编有这样的指令,只好说“刘前辈,你不懂。你问的2个问题都是因为你概念理解有误。”

且看最后7楼正解。看看什么才叫学会了51汇编。


、、

使用特权

评论回复
9
highgear| | 2011-8-13 22:52 | 只看该作者
顶顶 4 楼, 概念清晰。不过 51 不是向量中断,而8086之类是。

刘公公前辈,你想卖弄也不用来难为楼主吧?
想要卖弄,首先得表达清晰,更重要的是概念清晰。俺也学学123姐姐的聪明,只说一个词: pipeline.

使用特权

评论回复
10
icecut| | 2011-8-13 23:06 | 只看该作者
这简单,但俺不说,两天后再说~~~  :lol
Cortex-M0 发表于 2011-8-13 20:48


m0和m3都做了修正。。。可以咬尾执行。。。。所以他学的再牛X也是outman

使用特权

评论回复
11
icecut| | 2011-8-13 23:08 | 只看该作者
刘xx,你去opencore上下载8051文件,然后去查这种设计是不是一个垃圾设计造成的,你在这还像说他牛X。。。。贴verilog并且解释,我就服你

使用特权

评论回复
12
icecut| | 2011-8-13 23:12 | 只看该作者
这一条必然被保护执行;P笑掉大牙啊。。。树上说你就信啊。。。我就觉得这是垃圾设计
看mips 跳转指令后的nop。。。多恶心

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
highgear + 1
13
highgear| | 2011-8-13 23:57 | 只看该作者
这种 nop 是效率的代价。有些cpu如 TI 的可以有选择使用或不使用 ret/jmp 后的指令,这意味着cpu设计复杂度的增加。显然简化cpu设计,同时提供一个良好的 c 编译器而避免汇编,是一个合算的做法。

使用特权

评论回复
14
古道热肠| | 2011-8-14 00:05 | 只看该作者
呵呵,最好把专业基础课补补,用人单位也许会问你C语言或数据结构的内容,别一问三不知,就没法进门了。

使用特权

评论回复
15
ydw1991| | 2011-8-14 00:18 | 只看该作者
路过

使用特权

评论回复
16
Cortex-M0| | 2011-8-14 08:00 | 只看该作者
m0和m3都是踩着巨人的肩膀往上爬,老是拿现在技术去评论几十年前的老技术,这是不合理的,过去,由于受制造工艺(如集成度)的限制,很多技术都无法实现,现在也一样,有些技术只能靠N年之后再实现。

存在就有生存的土壤和理由,包括最垃圾的设计。举个例子,看到此贴的每一个人都在上网,手中操作的键盘,其英文位置排列,是最最垃圾的设计,这种键盘设计,让每一个学习打字的人,多浪费了N倍时间,全世界有多少人在用,为此多花费多浪费了多少青春年华?

使用特权

评论回复
17
sysdriver| | 2011-8-14 12:37 | 只看该作者
走自己路,让别人去说吧。

使用特权

评论回复
18
hotpower| | 2011-8-14 12:51 | 只看该作者
路过不明是非的老头。
俺现在是“远离51,珍惜时光。”

使用特权

评论回复
19
刘前辈| | 2011-8-14 13:07 | 只看该作者
看来还真没几个人知道。支持几位版主意见,LZ可以就这个问题,认真读一下8051数据手册;

否则,招聘时,你说“我学的51汇编……”资源部的人提这么个简单问题,若知道,肯定录取。(首先应该感谢刘前辈。)
     若被问住,就面临“连51汇编也没学好。”的印象。——这是很基础的问题(知道有这么几条指令的特殊性就行)。也可以是很深奥的问题(与初学者无关)。

所以,什么事,
第一、不吹牛,不知道就说不知道。基础没打好只能归结为自己的问题。
第二、不知道的问题千万别装知道,唯一的办法就是古道热肠所说: 回家恶补基础;下次再来。

什么事都不简单,51汇编也一样。


、、

使用特权

评论回复
20
icecut| | 2011-8-14 14:18 | 只看该作者
其实outman的另一个名字就是前辈。因为他知道过去且只知道过去。。。不能预见未来。。。

使用特权

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

本版积分规则

0

主题

5

帖子

1

粉丝