社区
汇编语言
帖子详情
为什么学汇编,不仅仅是一门编程语言
疯魔症
2009-08-05 04:48:39
个人观点:汇编指令是CPU直接识别的(不算伪指令),学了汇编,可以直接控制硬件,用程序控制物理上的机器。
...全文
313
11
打赏
收藏
为什么学汇编,不仅仅是一门编程语言
个人观点:汇编指令是CPU直接识别的(不算伪指令),学了汇编,可以直接控制硬件,用程序控制物理上的机器。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
leizhe
2009-08-09
打赏
举报
回复
[Quote=引用 9 楼 cyberexp2008 的回复:]
用01010101010110写吧!!那才叫程序啊??
哈哈
[/Quote]
汇编语言的基于硬件编程比其他语言都强悍,有效率。
用二进制编程,就像你坐在奔驰车上 前面还用2头牛来拉 能跑快吗?
只学汇编语言 远远不够的,汇编语言只是提供了给你能控制硬件的权限--
至于怎么控制、解决实际问题才是最重要的。
fmf1999
2009-08-07
打赏
举报
回复
那不是最原始的吗?
CYBEREXP2008
2009-08-07
打赏
举报
回复
用01010101010110写吧!!那才叫程序啊??
哈哈
goodider
2009-08-06
打赏
举报
回复
汇编只是解决从1 0 变成机器码后人们还是不容易识别,才出现的。应该是这样,如果我没记错。
gzgzlxg
2009-08-06
打赏
举报
回复
汇编语言只不过是机器码的助记符,对于人类的记忆系统来说,助记符的使用明显要容易的多,例如:
机器码 助记符
B8 00 00 00 mov eax, 0
B9 00 00 00 mov ecx, 0
BA 00 00 00 mov edx, 0
BB 00 00 00 mov ebx, 0
助记符明显比机器码容易记忆,并容易书写。
宏汇编是在汇编(助记符)的基础上,加上一些伪指令和用户能自行定义的伪指令(即宏)。
至于编译器本质上就是翻译器,将助记符还原为机器码,当然也包括了伪指令和宏。
同时,在机器安装系统后,运行任何代码都要遵循系统的规则,例如在win32下,可执行文件需要一个PE文件头,这个文件头就是系统规则的体现,而链接器就是干这件事的。链接器根据用户的提示,将编译器产生的裸代码(OBJ文件),根据系统的要求加上各种规则,例如PE文件头,使用了系统库或其他的库,入c库,链接器还要将用户代码和这些具体的库链接。所以,你可以在win32下写一段代码,然后使用32为的link.exe链接生成一个windows下的可执行文件(加入windows的规则),同时你也可以使用dos下的链接器例如doslnk.exe生成一个dos下的可执行文件(加入DOS的规则)。
汇编指令集并不庞大,对于不同的cpu指令集也不同,例如86系列的指令集远比z80系列的指令集简单,尤其是置位和清位指令,86系列完全没有提供,需要通过与或运算来完成。所以汇编语言的学习并不是想象的那样困难,这几天有位老兄要别人见证8天学汇编,现在还没有具体结果。别人怎样我不知道,至少当年(1983年)我在研究所工作时正遇上全国计算机普及教育,于是抽空学了几天(不到7天),后来在84年即独立开发了工业控制系统。当时的环境和现在根本没有办法比的,没有网络,没有资料,也没有人可以问。
汇编语言的学习最重要的就是将指令集分类,其实也没有多少:
1、移动类:即 mov 类 mov movs
2、加减类:即 add adc sub sbb
3、乘除类:即 mul imul div idiv
4、与或类:即 and xor or not neg
5、指针加减:即inc dec
6、标志位清置:即 CLD STD(方向标志),CLI STI(中断标志),等等..
7、无转移类:即 jmp (call ret)
8、比较类:即 cmp test
9、有条件转移类:即 ja jb jg jl 等
10、加载数据指针类:即 lea lds
11、输入输出:即 in out
12、堆栈操作:即 push pop
13、位移操作:即 shr shl rcl rcr 等
14、操作 GDT、LDT 类:即 LGDT LIDT SGDT SIDT 等..
15、交换:即 xchg
16、查表:即 xlat
17、循环组合:即 rep repe repne
还有一些杂类,最主要的就是这些了。
将每个类中弄几个玩玩,就这么多,你认为要学多久,一天足亦,哈哈。
当然要学好汇编,不能脱离规则,也就是系统的支持,你不看那些yy玄幻小说,说成神的关键就在掌握规则的多少,哈哈,其实学好汇编不难,就那么几个指令,难的是成神,即掌握规则,更近一步,掌握法则。
BAYNPU
2009-08-06
打赏
举报
回复
汇编语言是一种符号语言,比机器语言容易理解和掌握、也容易调试和维护。不过汇编语言本质上还是机器语言,还是一种面向机器的低级程序设计语言。
willflyz
2009-08-06
打赏
举报
回复
[Quote=引用 6 楼 gzgzlxg 的回复:]
别人怎样我不知道,至少当年(1983年)我在研究所工作时正遇上全国计算机普及教育,于是抽空学了几天(不到7天),后来在84年即独立开发了工业控制系统
[/Quote]
83年就开始学汇编了,老前辈啊!
onlyjia
2009-08-05
打赏
举报
回复
[Quote=引用楼主 zwb0540822 的回复:]
个人观点:汇编指令是CPU直接识别的(不算伪指令),学了汇编,可以直接控制硬件,用程序控制物理上的机器。
[/Quote]
先看这帖子 :
http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=free&kind=1220&qkSg=2&qID=10793&readSg=1
DarkChampion
2009-08-05
打赏
举报
回复
CPU识别的是机器码
万丈高楼平地起,汇编是基础中的基础
djking1986
2009-08-05
打赏
举报
回复
写汇编主要是为了更好的了解计算机 了解计算机的硬件结构 直接控制计算机的硬件 也可以通过计算机的结果延伸了解相似的控制器结构 编写控制器程序(嵌入式) 也是个人观点。
疯魔症
2009-08-05
打赏
举报
回复
不认为用汇编写windows程序
汇编
语言程序设计
汇编
语言是
一门
低级程序设计语言,在数以千计的计算机语言中,有着不可替代的重要地位,广泛地用于开发操作系统内核、设备驱动程序等。随着近年来物联网、嵌入式系统的发展,
汇编
语言在行业中的地位也再次攀升,在2017年1月的TIOBE排行榜上,再次进入前十。对大多数
学
习计算机的人士而言,是理解计算机系统核心知识的一个桥梁,在人才培养中也起着特殊的作用。课程面向计算机初
学
者,介绍
汇编
语言程序设计基础的部分。
如果
编程语言
是
一门
武功绝
学
在编程的
学
习过程中,我们何尝不是从一招一式的函数、语法、特性等
学
起,掌握了
一门
编程语言
后,再
学
习另
一门
语言就会快很多,如同拥有内功后,习得其他武功也会轻松很多。 如果
编程语言
是
一门
武功绝
学
,各语言分别...
汇编
语言
学
习总结
汇编
语言是一种最接近机器语言的
一门
编程语言
。与纯机器语言的01代码一一对应的
一门
语言,只是为了方便编写使用了方便人阅读的指令格式。
学
习
汇编
语言的难度确实挺高的。必须对计算机组成,尤其是CPU工作原理有相当...
【一天
一门
编程语言
】使用
汇编
语言实现斐波那契数列
斐波那契数列(Fibonacci Sequence),又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数
学
上,斐波那契数列以如下被以递归的方法定义:F(0) = 0F(1) = 1
汇编
语言是一种低级语言,它...
汇编
语言
学
习体会
在没有
学
习
汇编
语言以前,我可能会对
汇编
这门强大而又难
学
的程序设计语言产生怀疑,因为现在我们有那么多的高级
编程语言
可以
学
习,尤其是现在日益强大的面向对象语言。而且每种语言都要比
汇编
语言
学
起来容易,而且...
汇编语言
21,458
社区成员
41,603
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章