我想学汇编,,,,大家能不能给我点建议
0x3A2B2015/05/07软件综合 IP:陕西
首先,我会C和C++,,,,,,,会各种进制转化23333(必备技能233)
现在感觉找不到一本比较好的书,,,有是有好的书的话也请推荐几本
我个人比较喜欢看网上的视频教程,这样好不好呢,,也请给点建议
来自:计算机科学 / 软件综合
15
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
smith
9年9个月前 IP:广东
767463
汇编和平台相关的,如果是i386架构的话,罗云杉的那本书还不错。
汇编可以拿来写一些有趣的东西,不过不要拿来做坏事
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn
9年9个月前 IP:浙江
767479
首先,建议LZ思考一下是否真的需要学习汇编,在这个高级语言横行的时候汇编通常只是在涉及硬件驱动、系统内核或者底层的嵌入式开发、系统安全、编译器、逆向分析的时候才会偶尔用到,或者只是用于提高调试水平。
汇编和平台相关,我学的时候看的是这本:
80x86汇编语言基础教程 [Essentials of 80x86 assembly language] 机械工业出版社 ISBN:9787111176176
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
.........
9年9个月前 IP:江西
767492
STM32汇编当然是《Cortex-Mxxx 权威指南》系列。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
acmilan
9年9个月前 修改于 9年9个月前 IP:四川
767513
只是用来写程序的话,罗云彬的那一本《Windows下32位汇编语言程序设计》就很好。
可以先写点程序打基础,以后再进行各种深入研究时看到汇编代码能够一眼看懂,要写汇编时能够熟练编写是主要目的。
当然用Win32汇编写程序写好了以后,对于WinAPI也有一个初步认识了,不想用汇编也可以改用C++编写Windows程序。

编程环境的话,推荐RadASM,我就用的这个环境,比较好用的汇编专用环境。
汇编微软没有专门的SDK,手打导入各种WinAPI会很累,需要使用第三方的MASM32。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
acmilan
9年9个月前 IP:四川
767520
汇编语言流行是很久以前的时候了,那时候机器资源有限,PC上还没有64位处理器,流行进行各种优化,所以学汇编的很多。。。
现在机器性能过剩,编译器优化技术又有很大进步,对于一般的应用C++编写的都觉得太快了,有时手打的汇编反而还没有编译器优化的好,所以现在非专业人员一般没必要研究汇编了。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
frival
9年9个月前 IP:广东
767522
上传一些教程,不过学了C之后,没怎么用过汇编,很快都忘记了。
当时就是这样在debug中慢慢调试的:
键盘缓存.jpg
段地址的区别.jpg
attachment icon 汇编语言.rar 7.45MB RAR 32次下载
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
0x3A2B作者
9年9个月前 IP:陕西
767603
引用 acmilan:
只是用来写程序的话,罗云彬的那一本《Windows下32位汇编语言程序设计》就很好。
可以先写点程序打基础,以后再进行各种深入研究时看到汇编代码能够一眼看懂,要写汇编时能够熟练编写是主要目的。
当然用Win32汇编写程序写好了以后,对于...
主要是为了嵌入式的,,,因为,,电脑的话,,我用C++就够了[不用GUI2333]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
0x3A2B作者
9年9个月前 IP:陕西
767604
引用 smith:
汇编和平台相关的,如果是i386架构的话,罗云杉的那本书还不错。
汇编可以拿来写一些有趣的东西,不过不要拿来做坏事
放心我只是为了更好地理解硬件,,,,,,有必要的话,,,可能会用来优化代码2333
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
smith
9年9个月前 IP:广东
767609
引用 0x3A2B:
放心我只是为了更好地理解硬件,,,,,,有必要的话,,,可能会用来优化代码2333
我读大学的时候也在看罗云杉的书,才知道他移民到了加拿大,然后和他和他工作的公司扯皮,最后一怒之下写了个程序把公司的电脑系统废了,吃了官司,不过后面和解了。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
0x3A2B作者
9年9个月前 IP:陕西
767632
引用 smith:
我读大学的时候也在看罗云杉的书,才知道他移民到了加拿大,然后和他和他工作的公司扯皮,最后一怒之下写了个程序把公司的电脑系统废了,吃了官司,不过后面和解了。
其实我是为了嵌入式学的23333[顺便帮助理解硬件2333说不定竞赛时可以用来小小的优化代码2333)]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn
9年9个月前 IP:浙江
767655
引用 0x3A2B:
其实我是为了嵌入式学的23333[顺便帮助理解硬件2333说不定竞赛时可以用来小小的优化代码2333)]
嵌入式汇编的情况更加复杂一点,涉及到I8051、AVR、ARM Cortex-M、ARM Cortex-A、MIPS等多个不同的架构体系,而大多数汇编的书籍和教程是以X86架构为主要内容的,学了X86汇编后,看Cortex-M的汇编仍然有不少内容要补充
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
acmilan
9年9个月前 IP:四川
767657
引用 0x3A2B:
其实我是为了嵌入式学的23333[顺便帮助理解硬件2333说不定竞赛时可以用来小小的优化代码2333)]
其实如果单为了嵌入式编程的话,不必学习x86汇编,买个好一点的51单片机开发板,直接上51汇编就行。(价格也不贵)
51单片机是8位机,x86是16/32位机,学了16位的再去返祖学8位的反而会水土不服。。。
而且计算机汇编和单片机汇编的任务不同——单片机要直接操纵硬件,而计算机一般只是操纵OS。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
0x3A2B作者
9年9个月前 IP:陕西
767756
引用 acmilan:
其实如果单为了嵌入式编程的话,不必学习x86汇编,买个好一点的51单片机开发板,直接上51汇编就行。(价格也不贵)
51单片机是8位机,x86是16/32位机,学了16位的再去返祖学8位的反而会水土不服。。。
而且计算机汇编和单片机汇编...
要是STM32呢[程序肯定只有一部分用汇编,,全部用把人弄死了]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
acmilan
9年9个月前 修改于 9年9个月前 IP:四川
767757
引用 0x3A2B:
要是STM32呢[程序肯定只有一部分用汇编,,全部用把人弄死了]
先学51汇编打基础吧,学习汇编语言重要的是便于理解单片机的运行原理。51单片机是最容易学习的一种单片机汇编语言。其它的比如ARM是RISC比x86这种CISC理解起来更困难,数据对齐、立即数限制等。
STM32是Thumb/Thumb-2指令集,我没记错的话有官方的固件库可用(可以模拟C51的各种寄存器赋值、中断设定等操作),还可以使用C++。搞STM32用汇编的教程没几个,反而很多人还会用C++的面向对象特性来封装他们的程序。如果不是特殊需求的话没必要使用汇编,有需求可以再看相关教程和文档学习,有汇编基础的话看文档也会比什么都不懂的看起来容易一些。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
0x3A2B
进士 机友 笔友
文章
6
回复
71
学术分
0
2014/06/23注册,2个月17天前活动

HAM、炸鸡玩家

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}