(Translated by https://www.hiragana.jp/)
汇编语言 - 维基百科,自由的百科全书

汇编语言

てい级编ほど语言

汇编语言英語えいごassembly language[註 1][1]にんなんいち种用于电子计算つくえほろ处理ほろひかえせいある其他编程けんてきてい级语げんざい不同ふどうてき设备ちゅう,汇编语言对应不同ふどうてきつくえ语言指令しれいしゅう。一种汇编语言专用于某种计算つくえけい统结构,而不ぞう许多こう级语げん以在不同ふどうけい统平だい移植いしょく

汇编语言
编程范型指令しれいしきへんほど
发行时间1949ねん,​75ねんまえ​(1949
ぶんけん扩展めい.asm

使用しよう汇编语言编写てきみなもとだい码,しかきさきどおり过相应的汇编ほどじょはた它们转换なり执行てきつくえだい码。这一过程被称为汇编过程

汇编语言使用しようじょ记符(Mnemonicsらい代替だいたい表示ひょうじ特定とくていてい级机语言てき操作そうさ特定とくていてき汇编指令しれいしゅう可能かのうかい包括ほうかつ特定とくていてき操作そうさすう。许多汇编ほどじょ以识别代表地おもてじつね量的りょうてき标签(Label)かず符号ふごう(Symbols),这样就可以用字ようじらい代表だいひょう操作そうさすう而无需采うつしてき方式ほうしき普遍ふへん说,まいいち特定とくていてき汇编语言特定とくていてきつくえ语言指令しれいしゅういちいち对应てき

许多汇编ほどじょ为程じょ开发、汇编ひかえせい、辅助调试提供ていきょうりょう额外てき支持しじつくえせいゆうてき汇编语言编寫工具こうぐ经常かい提供ていきょうきょしゅう,它们也被しょう为宏汇编

现在汇编语言やめぞう其他だい多數たすうてきほどじょ設計せっけいげん一樣被廣泛用于ほどじょ設計せっけいざいこんてんてき實際じっさい應用おうようちゅう,它通常つうじょう應用おうようざいそこそうかたけん操作そうさだか要求ようきゅうてきほどじょゆうてき场合。驅動くどうほどじょ嵌入かんにゅうしき操作そうさけい和實かずみ時運じうん行程こうていじょちゅう都会とかい需要じゅよう汇编げん

工具こうぐ

编辑

典型てんけいてき現代げんだいくみやくassembler建造けんぞう目的もくてきよしかいやくぐみ指令しれいしゅうてきじょ记符(Mnemonicsいた操作そうさえいOpCodeなみ解析かいせき符號ふごう名稱めいしょうSymbolic namesなりため記憶きおく體位たいい以及其它てき實體じったい使用しよう符號ふごう參考さんこうsymbolic referencesぐみやくてきいち重要じゅうよう特徵とくちょう,它可以節しょうおさむあらためほどしき人工じんこうてんmanual address updatesてきとぼしあじ耗時計算けいさん基本きほん就是つくえ码变なり一些字母而已,编译てき时候さい输入てき指令しれい字母じぼがえ换成为晦涩难懂的つくえ码。

现状

编辑

ずい现代软件けい越来ごえくえつ庞大复杂,大量たいりょう经过りょうふうそうてきだか级语げんC/C++Pascal/Object Pascal也应运而せい。这些しんてき语言使とくほどじょ员在开发过程ちゅうのう够更简单,さら有效ゆうこうりつ使つかい软件开发じん员得以应づけ快速かいそくてき软件开发てき要求ようきゅう。而汇编语げんよし于其复杂せい使とく其适よう领域逐步减小。ただし这并意味いみ汇编やめ无用武之たけゆきよし于汇编更接近せっきんつくえ语言のう直接ちょくせつ对硬けん进行操作そうさ生成せいせいてきほどじょあずか其他てき语言しょう具有ぐゆうさらだかてき运行速度そくどうらないようさらしょうてきうちそんいん此在一些对于时效性(timeliness要求ようきゅう很高てきほどじょ以及こう业控せい方面ほうめん大量たいりょう应用。

いん此,虽然ゆう众多编程语言きょう选择,ただし汇编依然いぜんかく大學だいがく计算つくえ科学かがく类专业学生がくせいてき必修ひっしゅう课,以讓學生がくせい深入ふかいり了解りょうかい计算つくえてき运行原理げんり

くみやく風格ふうかく

编辑
 
汇编语言图解
 
Apple II时代てき汇编语言
 
IBM 370系統けいとうてき說明せつめい書中しょちゅう汇编语言指令しれいしょ

x86/amd64汇编指令しれいてき两大风格ぶん别是Intel汇编あずかAT&T汇编,ふん别被Microsoft Windows/Visual C++あずかGNU/Gasさいよう(Gas也可使用しようIntel汇编风格):

项目 Intel风格 AT&T风格
操作そうさすう顺序 操作そうさすうざいまえ みなもと操作そうさすうざいまえ
よせそん はら %ぜん
たてそくすう はら $ぜん
16进制りつそくすう ようきさき缀BあずかHぶん表示ひょうじ二进制与十六进制
对于16进制字母じぼ开头てきようぜん缀0
ぜん缀0x
访问ないそん长度てき表示ひょうじ ぜん缀BYTE PTR, WORD PTR, DWORD PTR

かずQWORD PTR表示ひょうじ节,,そうよん

きさき缀b,w,l,q表示ひょうじ节,,そうよん
引用いんよう全局ぜんきょくあるせい态变りょうvarてき [var] var
引用いんよう全局ぜんきょくあるせい态变りょうvarてき var $var
引用いんよう局部きょくぶ变量 需要じゅようもと于栈ゆび针(rsp)
绝对寻址 [imm] imm
间接寻址 [reg] (%reg)
もとしょう对寻 [reg +imm] imm(%reg)
变址寻址 [base+index] (base,index)
变址寻址 [base+index+imm] imm(base,index)
比例ひれい变址寻址 [base + index * scale + imm] imm(base, index, scale)
scaleただのう1,2,4,8其中てきいち数字すうじ(1省略しょうりゃくうつし就是普通ふつう变址寻址)
だい码注释 单行ちゅう释用;+ちゅう内容ないようれい如:

mov    rax, rdx ;这里ちゅう

注意ちゅうい 这里imm为立そくすう,baseindex为寄そん,scale为伸缩量
 
1979ねんあな時代じだいてき彙編げん卡片於紐やく大學だいがく圖書館としょかん

あい著作ちょさく

编辑
  • おう爽的《汇编语言》一书为汇编语言的教程,やめ经被一些大学当作教程使用。[2]类似てき教程きょうてい包括ほうかつ《Windows环境32汇编语言ほどじょ设计》とうとう
  • 美国びくにDuntemann, Jeff于2000ねん著作ちょさく《组合语言步步ほほがく》 Assembly Language Step-by-Step。
  • 澳洲Jorgensen, Ed 《x86-64构组あい语言于Ubuntuけい统》x86-64 Assembly Language Programming with Ubuntu。
  • 美国びくにWaldron, John てき1998ねん著作ちょさく《RISCけい统下组合语言がい论》 Introduction to RISC Assembly Language Programming. (ISBN 0-201-39828-1)

ちゅう

编辑
  1. ^ 組合くみあいげん英語えいごassembly language,assembler language

参考さんこう文献ぶんけん

编辑
  1. ^ Assembler language页面そん档备份そん互联网档あん), IBM Knowledge center
  2. ^ おう爽. 汇编语言. 汇编语言 だいさんはん. 北京ぺきん: きよし华大がく出版しゅっぱんしゃ. 2013. ISBN 978-7-302-33314-2. OCLC 910380574. 

まいり

编辑

外部がいぶ連結れんけつ

编辑