学汇编语言主要的应用是什么?

haodd123 2009-03-02 05:45:21
我知道,每种语言都有它擅长的方面,我 只知道汇编语言是一门很基础的语言 吧?
越基础功能越强大?呵呵这是我的理解可能不对 呵呵
我在网上稍微找了点资料,看了一些,都是怎么进行二进制、八进制、等数字的计算呢?搞得我好郁闷呀!
学其他语言如C#、JavaScript 等都是至少开始能写出一个“hello Word!”呀这个我学了半天还不知道汇编语言到底能做什么呢?
...全文
1386 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
小赌移情 2009-03-25
  • 打赏
  • 举报
回复
任何一本微型機原理的書都以assemble為工具, 例子. 所以學它的首要目的是理解處理器, 進而理解計算機.
任何一種程序都會成為機器碼來執行, 也是基本上與assemble對應, 所以理解它是有利於學習各種語言的. 雖說不是必要的. 學了你就知道它的好了.

另外各種處理器的assemble語言其實是差不多的, 雖然移植起來很麻煩,但是理解起來是一個道理.(其實c/c++在不同的平台下移植也不是強到哪去)
HE_WAITFORME 2009-03-24
  • 打赏
  • 举报
回复
我学了一个学期,我觉得主要加深了对硬件的了解
czc1009 2009-03-21
  • 打赏
  • 举报
回复
技多不压身!学的东西都会有用,只不过我们现在没发现而已!
zxg680 2009-03-21
  • 打赏
  • 举报
回复
学完汇编,对以后的编程有更深的理解,也许因为是最底层吧
zhushouqqq 2009-03-19
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 da334554321123322 的回复:]
汇编语言的使用领域
综上所说,汇编语言的特点明显,其诱人的优点直接导致其严重的缺点,其“与机器相关”和“执行的高效率”导致其可移植性差和调试难。所以,我们在选用汇编语言时要根据实际的应用环境,尽可能避免其缺点对整个应用系统的影响。

下面简单列举几个领域以示说明,但不要把它们绝对化。

1、适用的领域

要求执行效率高、反应快的领域,如:操作系统内核,工业控制,实时系统等;

系统性能的瓶颈…
[/Quote]
很谨密的归纳

不过要再一个 逆向
milunhailili 2009-03-19
  • 打赏
  • 举报
回复
我觉得学汇编主要是用来理解程序的。
懂汇编的不一定是高手,但高手一定是懂汇编的。
努力吧。。。
Gsky33 2009-03-15
  • 打赏
  • 举报
回复
学就对了!
da334554321123322 2009-03-15
  • 打赏
  • 举报
回复

include windows.inc ;包含 Windows API 函数、常数、结构体声明

.data
wc WNDCLASS ;窗体风格
hInstance dd ;程序实例句柄
msg MSG ;Windows的消息结构
TextChs db '世界你好!'
TextChsLen=$-TextChs
TextEng db 'Hello World!'
TextEngLen=$-TextEng

.code
Start:
;{取得程序的实例句柄
invoke GetModuleHandle, NULL
mov hInstance, eax
;}

;{注册一个窗口类
mov wc.style, 0
mov wc.lpfnWndProc, offset WindowProc
mov wc.cbClsExtra, 0
mov wc.cbWndExtra, 0
mov eax, hInstance
mov wc.hInstance, eax
invoke LoadIcon, NULL, IDI_WARNING ;使用感叹号图标
mov wc.hIcon, eax
invoke LoadCursor, NULL, IDC_CROSS ;使用十字形光标
mov wc.hCursor, eax
invoke GetStockObject, WHITE_BRUSH ;使用白色背景
mov wc.hbrBackground, eax
mov wc.lpszMenuName, 0
mov wc.lpszClassName, "HelloWorldWindow"
invoke RegisterClass, offset wc
;}

;{创建一个窗体实例
invoke CreateWindowEx, 0, "HelloWorldWindow", "这是示例程序", \
WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, \
CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, 0
invoke ShowWindow, eax, SW_SHOW ;将刚才创建的窗体显示出来
;}

;{进入消息循环
invoke GetMessage, offset msg, NULL, 0, 0
while eax
invoke TranslateMessage, offset msg
invoke DispatchMessage, offset msg
invoke GetMessage, offset msg, NULL, 0, 0
endw
;}

invoke ExitProcess,0 ;退出程序

;-----------------------------------------------------------------
;窗口函数
WindowProc proc stdcall hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM

local ps:PAINTSTRUCT ;定义局部变量

if uMsg = WM_PAINT ;当窗体刷新时在窗体左上角显示文字
invoke BeginPaint, hWnd, addr ps
;{使用红色显示汉字“世界你好!”
invoke SetTextColor, ps.hdc, 0ffh
invoke TextOut, ps.hdc, 0, 0, offset TextChs, TextChsLen
;}
;{使用蓝色显示英语“Hello World!”
invoke SetTextColor, ps.hdc, 0ff0000h
invoke TextOut, ps.hdc, 0, 20, offset TextEng, TextEngLen
;}
;{使用绿色显示“按'T'键退出程序”
invoke SetTextColor, ps.hdc, 0ff00h
invoke TextOut, ps.hdc, 0, 40, "按'T'键退出程序", 15
;}
invoke EndPaint, hWnd, addr ps
return 0
elseif uMsg == WM_CLOSE ;当用户点击关闭时弹出提示信息
invoke MessageBox, hWnd, "请按'T'键退出程序", "提示", MB_ICONEXCLAMATION
return 0
elseif uMsg = WM_CHAR && (wParam=='t' || wParam = 'T') ;用户按下了'T'键
invoke PostQuitMessage, 0
return 0
else ;其它消息则调用默认的窗口函数
invoke DefWindowProc, hWnd, uMsg, wParam, lParam
endif
endp
;-----------------------------------------------------------------

end Start
darkfox123 2009-03-15
  • 打赏
  • 举报
回复
应用太广泛,但任何一种都不是重点.
重点是,必须学习它,以了解计算机原理.
da334554321123322 2009-03-15
  • 打赏
  • 举报
回复
汇编语言的使用领域
综上所说,汇编语言的特点明显,其诱人的优点直接导致其严重的缺点,其“与机器相关”和“执行的高效率”导致其可移植性差和调试难。所以,我们在选用汇编语言时要根据实际的应用环境,尽可能避免其缺点对整个应用系统的影响。

下面简单列举几个领域以示说明,但不要把它们绝对化。

1、适用的领域

要求执行效率高、反应快的领域,如:操作系统内核,工业控制,实时系统等;

系统性能的瓶颈,或频繁被使用子程序或程序段;

与硬件资源密切相关的软件开发,如:设备驱动程序等;

受存储容量限制的应用领域,如:家用电器的计算机控制功能等;

没有适当的高级语言开发环境。

2、不宜使用的领域

大型软件的整体开发;

没有特殊要求的一般应用系统的开发等。



liang118038liang 2009-03-15
  • 打赏
  • 举报
回复
汇编相当于机器码的直接对应指令,所以没有多余动作,效率是最高的,C或C++等编译型语言会编译
为汇编后最后才转换为机器码的,所以了解汇编才了解电脑的真实运作状况!!
elmnd 2009-03-11
  • 打赏
  • 举报
回复
1反汇编
2写高薪, 高深的技术(编译器, DDK, C51...)
3提高对高层语言的理解Thinking Low Level, Writing High Level
pla_007 2009-03-11
  • 打赏
  • 举报
回复
被公司逼着学的,招的时候说是C++,进来后就开始学汇编了,还学的是实模式下的。
虽然学起来很吃力,但是知道这个学好了对以后的编码有好处,所以还是硬着头皮学下去。
qdliucl 2009-03-11
  • 打赏
  • 举报
回复
汇编语言是低级语言,学习汇编的目的主要有一下几点:
1.更好的理解计算机的体系结构
2.可以和高级语言结合编程,其负责和硬件相关的底层编程
单纯的用汇编编程其实意义不大。
tink_tink 2009-03-11
  • 打赏
  • 举报
回复
我只能说
汇编很强大
很好用
例如单片机的开发就是用汇编写的
jakqigle 2009-03-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 tt0928 的回复:]
你可能一辈子都不会用汇编正式编程,但这不代表它对你来说没有价值。懂汇编的和不懂汇编的人对计算机的理解深度不同,写出来的程序也就……
[/Quote]
不见得一定会用汇编,但是学完后对于其他高级语言会有不同层次的理解
AI应用技术 2009-03-09
  • 打赏
  • 举报
回复
帮忙定下。。。
学汇编中
kraz2001 2009-03-09
  • 打赏
  • 举报
回复
学号汇编需要哪些基础知识?
「已注销」 2009-03-07
  • 打赏
  • 举报
回复
老实告诉你,汇编是无所不能的,看你学得怎么样了
另外,编程语言总是有这么一条定律:易用性与效率成反比,像VB这样编程跟做PPT的语言效率不会好到哪里。而目前最好的语言,我想是C吧,它兼备了易用与效率,而汇编是唯一效率比C高的语言了(机器语言也算汇编,一一对应),但实在不太易用。
下面是一些个人的看法:
VB,DHLPHI - 界面开发,数据库连接,简单易用。
C/C++ - 全能,效率高,性能好,具备一定的可移植性。
ASM(汇编) - 系统开发,驱动开发,或用于特定的加速模块。
JAVA - 可移植性强,但效率不咋的(我眼中的)。
freefox1 2009-03-05
  • 打赏
  • 举报
回复
恩,我也想知道
加载更多回复(8)

21,500

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧