我想问问用Xcode可以编译和运行汇编语言程序么?如果不行的话在Mac下要如何编译运行汇编程序?希望高手们多多帮忙....

2011-03-31 10:46:02 +08:00
 Sainias
正在学微机,要学汇编语言程序设计。
上课老师都是用masm.exe,link.exe和windows自带的debug.exe运行。
刚刚换了mac,不知道能不能在mac上编译运行汇编程序呢??
20106 次点击
所在节点    问与答
39 条回复
virushuo
2011-03-31 17:41:23 +08:00
@dreamer @Sainias 我觉得这样提问没什么问题。提问的智慧是很多年前mail list下的提问指南,现在有很多信息过滤方法,人们不会太被这种问题打扰。但对于提问人,确实能节约很多时间。很多东西有经验的人只是随手一解释,当事人可能能节约2,3天。
Livid
2011-03-31 17:42:45 +08:00
用 virtual box 里安装 win98,这样你就可以在 Mac 上获得一个和教材上一致或接近的学习环境。现代的 Mac 跑这样的虚拟机是非常轻松的。
Livid
2011-03-31 17:52:06 +08:00
@fanzeyi 如果你不知道一个问题的确切答案,请不要灌水。谢谢。
dreamer
2011-03-31 17:57:33 +08:00
@virushuo 嗯,那篇文章一直修订到08年,我觉得里面大部分东西对论坛和社区还是适用的。我对“新手问题”没有意见,不过如果可以尽可能多地提供细节,可能会让有经验的人更能明白问题是什么,那样就不需要在回帖中另外做很多解释了。

OK,还是和 @Sainias 说声不好意思,开始我是随口刻薄了一下,希望没有打击你学习和参与的热情 ^皿^
Livid
2011-03-31 18:01:26 +08:00
@dreamer Thank you :)
Livid
2011-03-31 18:03:21 +08:00
@summic Thank you and I'm writing a new tip now. :)
zhouhua97
2011-03-31 18:39:02 +08:00
还是一团和气的好,其实谁都没错,而且现在真心想学东西的人还真是少啊,v2ex确实是和其他论坛不一样,提问的时候先想一下怎么问比较好,不要当伸手党为好。当了几年老师,面对无数的各种各样问题,仿佛习惯了,但是真心想学习的同学还是应该鼓励的。
Sainias
2011-03-31 20:46:40 +08:00
@zhouhua97 我平时不太问问题,表达能力也不太好,所以一出口就闯祸了TAT,其实对于这个专业,真是又爱又恨,学起来难,但是动起手来觉得真的很有意思,要自己多多鼓捣鼓捣,有时候纠结也不知道该问谁。。。
@Livid 谢谢,我清明节回家就好好弄,学这种东西还是自己多多动手的好!
@dreamer 怪我这个人表达能力不好,小时候语文就很烂,没法表达清楚。。。虽然在发帖之前用了15分钟组织语言,谁知道还是一塌糊涂。。。加上现在对mac还是很陌生,才用了几天,要是windows我估计怎么鼓捣也没问题。。。
@9hills 嵌入式开发就是弄单片机什么的么?我下半学期就要开始学这个了,大三下学期的课都好可怕~~

anyway谢谢大家的帮忙和关注~玩玩汇编还是挺有意思的!!!
zhouhua97
2011-03-31 21:26:21 +08:00
@Sainias 也不用太在意,我刚才看了下那篇提问的智慧,确实不错,建议看看。你什么专业的啊,还要学习单片机,现在的嵌入式系统可不单单指单片机了,包含很多,实际上搞ARM的应该更多,当然还有DSP、FPGA也是可以搞嵌入式的。
9hills
2011-03-31 21:27:38 +08:00
@Sainias 嗯,单片机也算嵌入式的一种吧,里面汇编应用的比较多。

话说本科时我们宿舍某哥们写了一个上千条汇编的程序。。。我是基本用c了,用汇编写会死人的,一般是做移植的时候才用一点。。
fanzeyi
2011-03-31 21:27:46 +08:00
@Livid 我是在回答 @dreamer 最后的一点。
Sainias
2011-03-31 21:47:02 +08:00
@9hills 汇编因为刚刚开始学,热情比较高涨,我刚刚翻了单片机的课本,里面是汇编的。。。我去图书馆找书也看过用c写的,等我开始上这门课了估计会有更多了解~
@zhouhua97 我刚刚回来就开始看了,确实我一直没注意过这方面(因为一直都是潜水。。),以后一定会多多注意的!我学通信工程的,作为一个女生,觉得真是各种头大,现在每周的乐趣就是集成电路实验课焊焊电路板了。。。专业课特多,好苦恼。。。一个月之后锁相和单片机的课也要开始上了,各种压力阿。。。TAT
zhouhua97
2011-03-31 22:26:50 +08:00
@Sainias 嗯,学通信的,我那时候学的电子工程,差不多。女生有什么关系,现在一个班上学习好的基本都是女生,看来你还蛮喜欢动手的。不知道你们的单片机课讲的是51还是什么单片机,单片机种类太多了现在,而且不同的单片机汇编都不太一样,不过原理基本都差不多,学单片机有块自己的板子的话学起来要快的多。上学的时候都差不多,课程太多,想在一个方向上花时间又怕拖了其他的后腿。
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 格式。

这些基本知识比较老旧的课本都不太教,所以是比较头疼的地方。
jjgod
2011-03-31 22:44:29 +08:00
“语法和 nasm 稍有不同”应该是“语法和 masm 稍有不同”。
summic
2011-04-01 00:03:25 +08:00
@dreamer 并没有怪你的意思 :),06年就开始泡在v2ex,很享受这里的气氛。

@livid 或许可以从程序层面的推荐算法上做些尝试

谢谢@virushuo 没想到这帖居然引来火炬还有@jjgod两位大神的参与。
9hills
2011-04-01 10:05:51 +08:00
@Sainias @zhouhua97 应该还是51吧,51是基础中的基础,51的汇编也是基础中的基础
都是需要仔细把握的,不同的单片机虽然各不一样,不过看datasheet就可以了,一通百通

初学单片机还是要有个自己的板子多做,一个51的板很便宜,而且自己画一个都行。找个小的感兴趣的项目做一做,比如参加一下电子设计竞赛之类的,不仅能提高自己的实力,而且以后找工作/保研/考研面试的时候是一个非常大的优势。
Sainias
2011-04-01 10:30:07 +08:00
@zhouhua97 确实是,课程太多,每一门都要花时间,要全部顾及好还真是不容易的事情,再加上还有课程外的需要看。。。
@9hills 其实我现在是想把课程上的知识学扎实,之后出来找工作可能不会往这方面发展,但是学多点知识总归没错的!
@jjgod 谢谢阿,你这么一说我就比较清楚了,原来是有差别的,那看来我还是要装个xp吧,我现在只希望把课本上的知识先搞懂呢~等我弄懂了masm估计nasm学起来也不难了!
virushuo
2011-04-01 12:42:37 +08:00
啊,如果 @Sainias 是说的汇编是mcs51,这个我倒是玩过一点,学这东西最好的玩法是去电子城买一个小实验板,大约150块钱能搞定。如果用pc,可以直接拿串口线烧录,如果mac就麻烦了,需要弄一个写入器,大约80块钱。51还是很好玩的,纯在计算机上是看不出来效果的,尤其往各管脚发送信息改变电平AD转换什么的,基本都没法模拟,只能用实验板。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/10724

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX