2
liwei 2011-03-31 10:55:20 +08:00
汇编器用as, 连接器用ld,汇编的语法也不一样
或者可以选择跨平台的 nasm |
3
Sainias OP |
4
limon 2011-03-31 11:16:33 +08:00
刚学汇编都是在实模式下的,所以一般用的win98,像如今的windows7,macos都只能在保护模式下运行程序,所以用虚拟机是比较好的办法啦
|
7
summic 2011-03-31 12:43:23 +08:00
@dreamer 最后一句的太打击新人了,@Sainias 同学很郁闷:http://fanfou.com/statuses/XTVbv0cBDsM
Google背后是冷冰冰的机器,而这里每一个回复背后都是独一无二的智慧和经验。 |
9
dreamer 2011-03-31 13:03:09 +08:00
@summic 我觉得在提问之前做充分的调查是基本的要求,Google 一下就会在第一页找到的东西确实不应该提问。如果这个算打击的话,那就算打击吧。
|
11
Sainias OP @dreamer
首先我想说,我问过老师,也搜索过,我 在发这个帖子之前我不知道原来mac下写的汇编是跟书本上dos下的语法,编译和链接都是不一样的。 我是第一次用xcode,我也不知道该如何利用xcode去编译和链接我的代码,这个是我想问的。 我写了代码进去可是编译出错,网上各种论坛的答案五花八门,所以我才想到在这里问问大家。 我觉得我最白痴的就是我不应该用baidu来搜? 这个问题到此为止吧。以后这些小事我不会再来打搅你们这些高手了,谢谢你的提醒。 如果说我给你说中我是没搜索过没思考过就来问问题的话,我就不会像现在一样难受。 |
12
zhouhua97 2011-03-31 16:03:52 +08:00
不要难过,呵呵,都是从菜鸟过来的。
|
13
dreamer 2011-03-31 16:10:42 +08:00
@Sainias 首先我要说明一下,我不是什么高手,也从来没有自诩过高手,我也不懂汇编,程序写得不好。回到正题,我并没有说你不应该提问,而是你不应该提问“这样的问题”。
很抱歉,我从你的提问中没有看到你最后的回帖中说明的那些努力。看一下你最初的提问: “我想问问用Xcode可以编译和运行汇编语言程序么?” —— 写一段放进去试着编译运行,不行机器会告诉你。 “如果不行的话在Mac下要如何编译运行汇编程序?” —— 搜索可以得到,关键词 “Mac 编译运行汇编程序”。 “不知道能不能在mac上编译运行汇编程序呢??” —— 搜索可以得到。 这就是最初问题的答案。如果你在一开始就把最后回复我的信息加上,那么就是一个好的问题: “各位同学,我之前都是在 Windows 环境下写汇编语言,但是用了 Mac 之后发现 Mac 下的汇编语法、编译和链接都是和 windows 环境不同的。我尝试用 xcode 编译和链接我的代码,但是失败了,xcode 的错误提示是:Failure xxx blablabla 我重新写了一些测试代码,代码如下: mov xx xx ... blablabla 可是编译依旧出错。错误信息如下: xxxxxxxx failure xxxxx 然后我又利用搜索引擎搜索了错误信息,找到了一些看似有用的信息,有一篇文章(给出文章链接)说 blablabla,但是还有一篇文章(同样给出链接)说 blablabla。 我对 mac 和 xcode 都不熟悉,所以给搞糊涂了。不知道这里有没有人可以提出一些帮助? 非常感谢。 ” 可惜你没有,然后你觉得被我打击然后满腹委屈和我争辩的时候才提到了这些真正有助于解决你问题的信息。 无疑冒犯,就事论事。或许刻薄了点儿,那是我性格缺陷,见笑了。 |
15
Sainias OP @dreamer 是我自己表达不清楚,其实我是想问问有没有人在xcode上写过汇编的来教我一下的;
而且我也不应该这么没用的,这个事情我想了一个下午,就觉得自己好没用,上课焊电路板还差点烫到手; 我以前不爱问问题就是很怕被人笑话,我这一次是真的鼓捣了两天没弄出了所以然才上来问问看的希望能找到人带带我; 其实真的有点打击到,刚刚跟老公哭诉完,我自己太软弱了,不好意思,下次我会注意的。 |
16
dreamer 2011-03-31 16:47:37 +08:00
@Sainias 提问的时候别着急。如果你想找人带你,可以换种提问方法,比如“有没有 xcode 上的汇编入门手册?”。不要在社区中希望别人手把手教你,那是你自己的事情,而且自己从头开始做会学到更多东西。
如果你在提问之前进行过足够多的思考的话,就不用担心别人笑话你,每个人都会遇到问题,没什么丢人的。但是最好提供足够多的与问题相关的信息,减少一些情绪的表达。社区是一个松散的组织,不是“圈子”和“家庭”,所以不要希望大家都像你身边的亲人那样无论你有什么问题都全身心帮助你。只有你的问题值得回答,才会得到回答。:) 另外,如果你刚才光顾着哭的话,可能错过了那篇文章:http://www.beiww.com/doc/oss/smart-questions.html 真的非常推荐看一下。每次看都会有新的收获。 最后希望你的手没事 :D 。。。女生还真是脆弱啊。。。 |
17
summic 2011-03-31 16:55:36 +08:00
大家都没什么恶意,都是就事论事。我觉得对于问题质量的要求是一方面,还有重要的一方面是提问者的态度,不能一概而论。一个初级问题经过讨论逐渐深入,不也是好事一件。
lz注册没多久,对这个社区还不太了解,可能没有掌握v2ex提问题的技巧,对于一个还在上学的女生,问这方面的问题,要求不能那么苛刻。sainias最近换到mac平台,又新接触汇编,遇到的麻烦肯定特别多,如果不是搜索不能解决问题和出于对这个社区的信任和期望,她也不会跑到这里来提问。 结果今天郁闷了一整天,甚至开始怀疑自己的智力水平了。 希望大家关照一下新人也希望这一帖的事情给@livid持续改进问与答节点提供一点思索。 |
18
Sainias OP @dreamer - -其实一个人折腾很无助的。。@summic 同学带领我加入mac大军,我回学校了他又不在我身边,有问题也不知道怎么解决,他也不搞汇编什么的,是我自己懒,不想把旧电脑搬出来。。。。
清明节假期回家我就好好再跟他纠结一下,谢谢你的推荐,我晚上上完课回来好好研究研究。 |
19
9hills 2011-03-31 17:36:25 +08:00
嘛,搜索也是靠技巧的,不是想搜就能搜出来的。
别人问问题回答就是了-- 太打击别人MM了 另外确实汇编的语法各种不一样、各种头大--假如lz有做嵌入式开发的话感觉会更深,毕竟已经很少有人用汇编开发PC上的程序了。 |
20
dreamer 2011-03-31 17:37:22 +08:00
|
21
virushuo 2011-03-31 17:41:23 +08:00
|
22
Livid MOD 用 virtual box 里安装 win98,这样你就可以在 Mac 上获得一个和教材上一致或接近的学习环境。现代的 Mac 跑这样的虚拟机是非常轻松的。
|
24
dreamer 2011-03-31 17:57:33 +08:00
|
27
zhouhua97 2011-03-31 18:39:02 +08:00
还是一团和气的好,其实谁都没错,而且现在真心想学东西的人还真是少啊,v2ex确实是和其他论坛不一样,提问的时候先想一下怎么问比较好,不要当伸手党为好。当了几年老师,面对无数的各种各样问题,仿佛习惯了,但是真心想学习的同学还是应该鼓励的。
|
28
Sainias OP @zhouhua97 我平时不太问问题,表达能力也不太好,所以一出口就闯祸了TAT,其实对于这个专业,真是又爱又恨,学起来难,但是动起手来觉得真的很有意思,要自己多多鼓捣鼓捣,有时候纠结也不知道该问谁。。。
@Livid 谢谢,我清明节回家就好好弄,学这种东西还是自己多多动手的好! @dreamer 怪我这个人表达能力不好,小时候语文就很烂,没法表达清楚。。。虽然在发帖之前用了15分钟组织语言,谁知道还是一塌糊涂。。。加上现在对mac还是很陌生,才用了几天,要是windows我估计怎么鼓捣也没问题。。。 @9hills 嵌入式开发就是弄单片机什么的么?我下半学期就要开始学这个了,大三下学期的课都好可怕~~ anyway谢谢大家的帮忙和关注~玩玩汇编还是挺有意思的!!! |
29
zhouhua97 2011-03-31 21:26:21 +08:00
@Sainias 也不用太在意,我刚才看了下那篇提问的智慧,确实不错,建议看看。你什么专业的啊,还要学习单片机,现在的嵌入式系统可不单单指单片机了,包含很多,实际上搞ARM的应该更多,当然还有DSP、FPGA也是可以搞嵌入式的。
|
30
9hills 2011-03-31 21:27:38 +08:00
|
32
Sainias OP |
33
zhouhua97 2011-03-31 22:26:50 +08:00
@Sainias 嗯,学通信的,我那时候学的电子工程,差不多。女生有什么关系,现在一个班上学习好的基本都是女生,看来你还蛮喜欢动手的。不知道你们的单片机课讲的是51还是什么单片机,单片机种类太多了现在,而且不同的单片机汇编都不太一样,不过原理基本都差不多,学单片机有块自己的板子的话学起来要快的多。上学的时候都差不多,课程太多,想在一个方向上花时间又怕拖了其他的后腿。
|
34
jjgod 2011-03-31 22:43:55 +08:00
首先要了解的是汇编语言,就算是 x86 汇编也有很多格式,而且和支持的系统有关。
比如你们课本里学的是 masm 格式加 x86 实模式的汇编,这在 Windows 下是通过一个实模式模拟器运行的。 Mac OS X 自带的汇编器是 nasm,是 Linux/Unix 下常用的一种,语法和 nasm 稍有不同,一般用来做 x86/x86_64 保护模式的汇编,另外 gcc 可以做 inline assembly 的汇编,使用的语法是 gas 格式。 这些基本知识比较老旧的课本都不太教,所以是比较头疼的地方。 |
35
jjgod 2011-03-31 22:44:29 +08:00
“语法和 nasm 稍有不同”应该是“语法和 masm 稍有不同”。
|
36
summic 2011-04-01 00:03:25 +08:00
|
37
9hills 2011-04-01 10:05:51 +08:00
|
38
Sainias OP |