Асемблер — разлика између измена
Чишћење |
. |
||
Ред 1: | Ред 1: | ||
{{Short description|Програмски језик ниског нивоа}} |
|||
{{Инфокутија програмски језик |
{{Инфокутија програмски језик |
||
| име = Асемблер |
| име = Асемблер |
||
Ред 8: | Ред 9: | ||
'''Асемблер''' (асемблерски језик)<ref name="ASM1">{{cite web |url= https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.asma400/asmr102112.htm |
'''Асемблер''' (асемблерски језик)<ref name="ASM1">{{cite web |url= https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.asma400/asmr102112.htm |
||
|title=Assembler language}}</ref> је [[програмски језик]] који [[машински језик]], специфичне [[микропроцесор|процесорске]] архитектуре, представља у људима читљивом облику. Из тога произилази да свака процесорска архитектура поседује свој асемблер.<ref>{{cite book |last=Saxon|first=James|last2=Plette|first2=William|title=Programming the IBM 1401 |url=https://babel.hathitrust.org/cgi/pt?id=mdp.39015000480718;view=2up;seq=6 |publisher=Prentice-Hall |year=1962 |lccn=62-20615 |via=HathiTrust}} [use of the term ''assembly program'']</ref> |
|title=Assembler language}}</ref><ref name="Ohio_2016"/><ref name="Archer_2016"/><ref name="Streib 2020 p. ">{{cite book | last=Streib | first=James T. | title=Undergraduate Topics in Computer Science | chapter=Guide to Assembly Language | publisher=Springer International Publishing | publication-place=Cham | year=2020 | isbn=978-3-030-35638-5 | issn=1863-7310 | doi=10.1007/978-3-030-35639-2 | page= | s2cid=195930813 | quote=Programming in assembly language has the same benefits as programming in machine language, except it is easier.}}</ref> је [[програмски језик]] који [[машински језик]], специфичне [[микропроцесор|процесорске]] архитектуре, представља у људима читљивом облику. Из тога произилази да свака процесорска архитектура поседује свој асемблер.<ref>{{cite book |last=Saxon|first=James|last2=Plette|first2=William|title=Programming the IBM 1401 |url=https://babel.hathitrust.org/cgi/pt?id=mdp.39015000480718;view=2up;seq=6 |publisher=Prentice-Hall |year=1962 |lccn=62-20615 |via=HathiTrust}} [use of the term ''assembly program'']</ref><ref name="IBM_2014_Macro"/><ref name="IBM_2014_ASM"/> |
||
{{rut}} |
|||
The first assembly code in which a language is used to represent machine code instructions is found in [[Kathleen Booth|Kathleen]] and [[Andrew Donald Booth]]'s 1947 work, ''Coding for A.R.C.''.<ref>{{cite book |last1=Booth |first1=Andrew D |last2=Britten |first2=Kathleen HV |title=Coding for A.R.C. |date=1947 |publisher=Institute for Advanced Study, Princeton |url=https://albert.ias.edu/bitstream/handle/20.500.12111/7941/Booth_Britten_Coding_for_ARC_1947.pdf?sequence=1&isAllowed=y |access-date=4 November 2022}}</ref> Assembly code is converted into executable machine code by a [[Utility software|utility program]] referred to as an ''[[#Assembler|assembler]]''. The term "assembler" is generally attributed to [[Maurice Vincent Wilkes|Wilkes]], [[David John Wheeler|Wheeler]] and [[Stanley J. Gill|Gill]] in their 1951 book ''[[The Preparation of Programs for an Electronic Digital Computer]]'',<ref name="Wilkes_1951"/> who, however, used the term to mean "a program that assembles another program consisting of several sections into a single program".<ref name="Fairhead_2017"/> The conversion process is referred to as ''assembly'', as in ''assembling'' the [[source code]]. The computational step when an assembler is processing a program is called ''assembly time''. Because assembly depends on the machine code instructions, each assembly language<ref group=nb>Other than meta-assemblers</ref> is specific to a particular [[computer architecture]].<ref name="OS360_2011"/><ref name="Austerlitz 2003 pp. 326–360">{{cite book | last=Austerlitz | first=Howard | title=Data Acquisition Techniques Using PCs | chapter=Computer Programming Languages | publisher=Elsevier | year=2003 | doi=10.1016/b978-012068377-2/50013-9 | pages=326–360 | isbn=9780120683772 | quote=Assembly language (or Assembler) is a compiled, low-level computer language. It is processor-dependent since it basically translates the Assembler's mnemonics directly into the commands a particular CPU understands, on a one-to-one basis. These Assembler mnemonics are the instruction set for that processor.}}</ref><ref name="Carnes 2022">{{cite web | last=Carnes | first=Beau | title=Learn Assembly Language Programming with ARM | website=freeCodeCamp.org | date=2022-04-27 | url=https://www.freecodecamp.org/news/learn-assembly-language-programming-with-arm/ | access-date=2022-06-21 | quote=Assembly language is often specific to a particular computer architecture so there are multiple types of assembly languages. ARM is an increasingly popular assembly language.}}</ref> |
|||
Програм у асемблеру се често означава и као [[асемблер код]]. Тај код се путем специјалног [[компајлер (асемблер)|компајлера]] претвара у машински код који процесор може да директно изврши. Обрнути процес претварања машинског у асемблер код назива се ''дисасемблирање''. При том процесу је спашавање свих пређашњих дијелова асемблер кода немогуће, пошто се они (нпр. коментари) при компилирању неповратно бришу. Због тога је дисасемблирани код тешко разумљив. Асемблер обично има једну изјаву по машинској инструкцији, али коментари и изјаве који су асемблерске директиве<ref name="A.DIR">{{cite web |url=http://www.bixoft.nl/english/opcd00.htm |title=High Level Assembler - Opcodes overview, Assembler Directives}}</ref>, [[Macro instruction|макрои]]<ref>{{cite web |title=Macro instructions |url=https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.asma400/asmr102115.htm}}</ref><ref name="ASM1" />, и симболичке ознаке програма и меморијских локација се често подржавају. |
Програм у асемблеру се често означава и као [[асемблер код]]. Тај код се путем специјалног [[компајлер (асемблер)|компајлера]] претвара у машински код који процесор може да директно изврши. Обрнути процес претварања машинског у асемблер код назива се ''дисасемблирање''. При том процесу је спашавање свих пређашњих дијелова асемблер кода немогуће, пошто се они (нпр. коментари) при компилирању неповратно бришу. Због тога је дисасемблирани код тешко разумљив. Асемблер обично има једну изјаву по машинској инструкцији, али коментари и изјаве који су асемблерске директиве<ref name="A.DIR">{{cite web |url=http://www.bixoft.nl/english/opcd00.htm |title=High Level Assembler - Opcodes overview, Assembler Directives}}</ref>, [[Macro instruction|макрои]]<ref>{{cite web |title=Macro instructions |url=https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.asma400/asmr102115.htm}}</ref><ref name="ASM1" />, и симболичке ознаке програма и меморијских локација се често подржавају. |
||
Ред 16: | Ред 19: | ||
Неке од главних мана таквих програма су лоша читљивост, што је посебно изражено при великим пројектима и комплексности кода, као и практична немогућност конвертовања истог кода на другу процесорску архитектуру.<ref>System calls often vary, e.g. for [[OS/360 and successors|MVS]] vs. [[DOS/360 and successors|VSE]] vs. VM/CMS; the binary/executable formats for different operating systems may also vary. {{cite web |url=https://stackoverflow.com/questions/6859348/how-do-assembly-languages-depend-on-operating-systems |title=How do assembly languages depend on operating systems?}}</ref> Због тих мана се асемблер данас користи само у временски критичним програмима (брзина) као што су [[машински адаптер]]и ({{јез-енг|driver}}) за графичке карте или у просторно критичним програмима (величина) у интегрисаним системима ({{јез-енг|Embedded Systems}}). Примери таквих система су [[микроконтролер]]и. У контрасту са асемблером, већина [[Програмски језик високог нивоа|програмских језика високог нивоа]] су генерално [[Портовање|портабилни]] преко више архитектура, али захтевају [[Интерпретатор (рачунарство)|интерпретирање]] или [[Compiler|компајлирање]]. Асемблер се такође може назвати ''симболичким машинским кодом''.<ref>{{cite web | year=2016 |title=Assembly: Review - The Ohio State University |url=http://web.cse.ohio-state.edu/~sivilotti.1/teaching/3903.recent/lectures/lecture14.pdf}}</ref><ref>{{cite web |title=Assembly Language For Students |url=https://dl.acm.org/citation.cfm?id=3125846 |author=B. Archer |quote=Assembly language may also be called symbolic machine code.}}</ref> |
Неке од главних мана таквих програма су лоша читљивост, што је посебно изражено при великим пројектима и комплексности кода, као и практична немогућност конвертовања истог кода на другу процесорску архитектуру.<ref>System calls often vary, e.g. for [[OS/360 and successors|MVS]] vs. [[DOS/360 and successors|VSE]] vs. VM/CMS; the binary/executable formats for different operating systems may also vary. {{cite web |url=https://stackoverflow.com/questions/6859348/how-do-assembly-languages-depend-on-operating-systems |title=How do assembly languages depend on operating systems?}}</ref> Због тих мана се асемблер данас користи само у временски критичним програмима (брзина) као што су [[машински адаптер]]и ({{јез-енг|driver}}) за графичке карте или у просторно критичним програмима (величина) у интегрисаним системима ({{јез-енг|Embedded Systems}}). Примери таквих система су [[микроконтролер]]и. У контрасту са асемблером, већина [[Програмски језик високог нивоа|програмских језика високог нивоа]] су генерално [[Портовање|портабилни]] преко више архитектура, али захтевају [[Интерпретатор (рачунарство)|интерпретирање]] или [[Compiler|компајлирање]]. Асемблер се такође може назвати ''симболичким машинским кодом''.<ref>{{cite web | year=2016 |title=Assembly: Review - The Ohio State University |url=http://web.cse.ohio-state.edu/~sivilotti.1/teaching/3903.recent/lectures/lecture14.pdf}}</ref><ref>{{cite web |title=Assembly Language For Students |url=https://dl.acm.org/citation.cfm?id=3125846 |author=B. Archer |quote=Assembly language may also be called symbolic machine code.}}</ref> |
||
Today, it is typical to use small amounts of assembly language code within larger systems implemented in a higher-level language, for performance reasons or to interact directly with hardware in ways unsupported by the higher-level language. For instance, just under 2% of version 4.9 of the [[Linux kernel]] source code is written in assembly; more than 97% is written in [[C programming language|C]].<ref name="Anguiano_kernel_sloccount">{{Cite web | author-last=Anguiano | author-first = Ricardo | title=linux kernel mainline 4.9 sloccount.txt |url=https://gist.github.com/ricardoanguiano/18125b7eb3f26cf83724fb60662bdd2c |access-date=2022-05-04 |website=Gist |language=en}}</ref> |
|||
==Notes== |
|||
{{Reflist|group="nb"|refs= |
|||
}} |
|||
== Референце == |
== Референце == |
||
{{reflist| |
{{reflist|refs= |
||
<ref name="Ohio_2016">{{cite web |title=Assembly: Review |volume=Lecture 14 |series=Computer Science and Engineering |publisher=College of Engineering, [[Ohio State University]] |date=2016 |url=http://web.cse.ohio-state.edu/~sivilotti.1/teaching/3903.recent/lectures/lecture14.pdf |access-date=2020-03-24 |url-status=live |archive-url=https://web.archive.org/web/20200324153925/http://web.cse.ohio-state.edu/~sivilotti.1/teaching/3903.recent/lectures/lecture14.pdf |archive-date=2020-03-24}}</ref> |
|||
<ref name="Archer_2016">{{cite book |title=Assembly Language For Students |url=https://dl.acm.org/citation.cfm?id=3125846 |author-first=Benjamin |author-last=Archer |date=November 2016 |publisher=[[CreateSpace Independent Publishing]] |location=North Charleston, South Carolina, USA |isbn=978-1-5403-7071-6 |quote=Assembly language may also be called symbolic machine code.}}</ref> |
|||
<ref name="IBM_2014_ASM">{{cite manual |
|||
|title=High Level Assembler for z/OS & z/VM & z/VSE Language Reference Version 1 Release 6 |
|||
|id=SC26-4940-06 |
|||
|section=Assembler language |
|||
|section-url=https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.asma400/asmr102112.htm |
|||
|url=https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.asma400/toc.htm |
|||
|date=2014 |orig-year=1990 |publisher=[[IBM]] |
|||
}}</ref> |
|||
<ref name="IBM_2014_Macro">{{cite manual |
|||
|title=High Level Assembler for z/OS & z/VM & z/VSE Language Reference Version 1 Release 6 |
|||
|id=SC26-4940-06 |
|||
|section=Macro instructions |
|||
|section-url=https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.asma400/asmr102115.htm |
|||
|url=https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.asma400/toc.htm |
|||
|publisher=[[IBM]] |date=2014 |orig-year=1990 |
|||
}}</ref> |
|||
<ref name="Wilkes_1951">{{cite book |author-last1=Wilkes |author-first1=Maurice Vincent |author-link1=Maurice Vincent Wilkes |author-last2=Wheeler |author-first2=David John |author-link2=David John Wheeler |author-last3=Gill |author-first3=Stanley J. |author-link3=Stanley J. Gill |title=The preparation of programs for an electronic digital computer |date=1951 |publisher=[[Tomash Publishers]] |isbn=978-0-93822803-5 |oclc=313593586 |edition=Reprint 1982 }}</ref> |
|||
<ref name="Fairhead_2017">{{cite web |author-last=Fairhead |author-first=Harry |title=History of Computer Languages - The Classical Decade, 1950s |work=I Programmer |date=2017-11-16 |url=https://www.i-programmer.info/history/57-computer-languages/471-the-classical-decade.html |access-date=2020-03-06 |url-status=live |archive-url=https://web.archive.org/web/20200102192823/https://www.i-programmer.info/history/57-computer-languages/471-the-classical-decade.html |archive-date=2020-01-02}}</ref> |
|||
<ref name="OS360_2011">{{cite web |title=How do assembly languages depend on operating systems? |date=2011-07-28 |work=Stack Exchange |publisher=[[Stack Exchange Inc.]] |url=https://stackoverflow.com/questions/6859348/how-do-assembly-languages-depend-on-operating-systems |access-date=2020-03-24 |url-status=live |archive-url=https://web.archive.org/web/20200324152747/https://stackoverflow.com/questions/6859348/how-do-assembly-languages-depend-on-operating-systems |archive-date=2020-03-24}} (NB. System calls often vary, e.g. for [[OS/360 and successors|MVS]] vs. [[DOS/360 and successors|VSE]] vs. VM/CMS; the binary/executable formats for different operating systems may also vary.)</ref> |
|||
}} |
|||
== Литература == |
== Литература == |
||
Ред 33: | Ред 71: | ||
* John Waldron: ''Introduction to RISC Assembly Language Programming''. Addison Wesley. {{page|year=1998|isbn=978-0-201-39828-1|pages=}} |
* John Waldron: ''Introduction to RISC Assembly Language Programming''. Addison Wesley. {{page|year=1998|isbn=978-0-201-39828-1|pages=}} |
||
* Dennis Yurichev: [https://yurichev.com/writings/UAL-EN.pdf ''Understanding Assembly Language''] |
* Dennis Yurichev: [https://yurichev.com/writings/UAL-EN.pdf ''Understanding Assembly Language''] |
||
* {{Cite book |author-link1=Alfred V. Aho |last1=Aho |first1=Alfred V. |author-link2 = Ravi Sethi |last2=Sethi |first2=Ravi |author-link3=Jeffrey D. Ullman |last3=Ullman |first3=Jeffrey D. |title=Compilers: Principles, Techniques, and Tools |isbn=9780201100884 |publisher=[[Addison-Wesley]] |year=1986 |edition=1st|title-link=Compilers: Principles, Techniques, and Tools }} |
|||
* {{Cite journal |author-link=Frances E. Allen |last1=Allen |first1=Frances E. |title=A History of Language Processor Technology in IBM |journal=IBM Journal of Research and Development |volume=25 |pages=535–548 |number=5 |date=September 1981 |publisher=[[IBM]] |doi = 10.1147/rd.255.0535}} |
|||
* {{Cite book |last1=Allen |first1=Randy |author-link2=Ken Kennedy (computer scientist) |last2=Kennedy |first2=Ken |title=Optimizing Compilers for Modern Architectures |publisher=[[Morgan Kaufmann Publishers]] |year=2001 |isbn=978-1-55860-286-1}} |
|||
* {{Cite book |author-link=Andrew Appel |last1=Appel |first1=Andrew Wilson |title=Modern Compiler Implementation in Java |edition=2nd |publisher=[[Cambridge University Press]] |year=2002 |isbn=978-0-521-82060-8}} |
|||
* {{Cite book |author-link=Andrew Appel |last1=Appel |first1=Andrew Wilson |url=https://books.google.com/books?id=8APOYafUt-oC |title=Modern Compiler Implementation in ML |publisher=[[Cambridge University Press]] |year=1998 |isbn=978-0-521-58274-2 }} |
|||
* {{cite book|last=Bornat|first=Richard|title=Understanding and Writing Compilers: A Do It Yourself Guide|year=1979|publisher=[[Macmillan Publishing]]|isbn=978-0-333-21732-0|url=http://www.cs.mdx.ac.uk/staffpages/r_bornat/books/compiling.pdf|author-link=Richard Bornat|access-date=11 April 2007|archive-date=15 June 2007|archive-url=https://web.archive.org/web/20070615132948/http://www.cs.mdx.ac.uk/staffpages/r_bornat/books/compiling.pdf|url-status=dead}} |
|||
* {{cite book |title=Assemblers, Compilers, and Program Translation |author-first=Peter |author-last=Calingaert |editor-first=Ellis |editor-last=Horowitz |editor-link=Ellis Horowitz |date=1979 |series=Computer software engineering series |publisher=[[Computer Science Press, Inc.]] |location=Potomac, Maryland |edition=1st printing, 1st |isbn=0-914894-23-4 |issn=0888-2088 |lccn=78-21905 |url=https://archive.org/details/assemblerscompil00cali |url-access=registration |access-date=2020-03-20 }} (2+xiv+270+6 pages) |
|||
* {{Cite book|title=Engineering a compiler|last1=Cooper|first1=Keith Daniel|last2=Torczon|first2=Linda|date=2012|publisher=Elsevier/Morgan Kaufmann|isbn=9780120884780|edition=2nd|location=Amsterdam|pages=8|oclc=714113472}} |
|||
{{refend}} |
{{refend}} |
||
Верзија на датум 13. новембар 2022. у 22:53
Асемблер | |
---|---|
Појавио се | 1949. год. |
Асемблер (асемблерски језик)[1][2][3][4] је програмски језик који машински језик, специфичне процесорске архитектуре, представља у људима читљивом облику. Из тога произилази да свака процесорска архитектура поседује свој асемблер.[5][6][7]
Један корисник управо ради на овом чланку. Молимо остале кориснике да му допусте да заврши са радом. Ако имате коментаре и питања у вези са чланком, користите страницу за разговор.
Хвала на стрпљењу. Када радови буду завршени, овај шаблон ће бити уклоњен. Напомене
|
The first assembly code in which a language is used to represent machine code instructions is found in Kathleen and Andrew Donald Booth's 1947 work, Coding for A.R.C..[8] Assembly code is converted into executable machine code by a utility program referred to as an assembler. The term "assembler" is generally attributed to Wilkes, Wheeler and Gill in their 1951 book The Preparation of Programs for an Electronic Digital Computer,[9] who, however, used the term to mean "a program that assembles another program consisting of several sections into a single program".[10] The conversion process is referred to as assembly, as in assembling the source code. The computational step when an assembler is processing a program is called assembly time. Because assembly depends on the machine code instructions, each assembly language[nb 1] is specific to a particular computer architecture.[11][12][13]
Програм у асемблеру се често означава и као асемблер код. Тај код се путем специјалног компајлера претвара у машински код који процесор може да директно изврши. Обрнути процес претварања машинског у асемблер код назива се дисасемблирање. При том процесу је спашавање свих пређашњих дијелова асемблер кода немогуће, пошто се они (нпр. коментари) при компилирању неповратно бришу. Због тога је дисасемблирани код тешко разумљив. Асемблер обично има једну изјаву по машинској инструкцији, али коментари и изјаве који су асемблерске директиве[14], макрои[15][1], и симболичке ознаке програма и меморијских локација се често подржавају.
Програми написани у асемблеру се одликују могућношћу слања директних команди процесору као и искоришћавању цијелог дијапазона рачунарске архитектуре. Пошто ти програми раде практично на нивоу машинског кода, и са собом немају помоћне конструкције, генерализације кода и за машину сличне небитне ствари, много су мањи и бржи од програма написаних у неком конвенционалном програмском језику.
Неке од главних мана таквих програма су лоша читљивост, што је посебно изражено при великим пројектима и комплексности кода, као и практична немогућност конвертовања истог кода на другу процесорску архитектуру.[16] Због тих мана се асемблер данас користи само у временски критичним програмима (брзина) као што су машински адаптери (енгл. driver) за графичке карте или у просторно критичним програмима (величина) у интегрисаним системима (енгл. Embedded Systems). Примери таквих система су микроконтролери. У контрасту са асемблером, већина програмских језика високог нивоа су генерално портабилни преко више архитектура, али захтевају интерпретирање или компајлирање. Асемблер се такође може назвати симболичким машинским кодом.[17][18]
Today, it is typical to use small amounts of assembly language code within larger systems implemented in a higher-level language, for performance reasons or to interact directly with hardware in ways unsupported by the higher-level language. For instance, just under 2% of version 4.9 of the Linux kernel source code is written in assembly; more than 97% is written in C.[19]
Notes
- ^ Other than meta-assemblers
Референце
- ^ а б „Assembler language”.
- ^ „Assembly: Review” (PDF). Computer Science and Engineering. College of Engineering, Ohio State University. 2016. Архивирано (PDF) из оригинала 2020-03-24. г. Приступљено 2020-03-24.
- ^ Archer, Benjamin (новембар 2016). Assembly Language For Students. North Charleston, South Carolina, USA: CreateSpace Independent Publishing. ISBN 978-1-5403-7071-6. „Assembly language may also be called symbolic machine code.”
- ^ Streib, James T. (2020). „Guide to Assembly Language”. Undergraduate Topics in Computer Science. Cham: Springer International Publishing. ISBN 978-3-030-35638-5. ISSN 1863-7310. S2CID 195930813. doi:10.1007/978-3-030-35639-2. „Programming in assembly language has the same benefits as programming in machine language, except it is easier.”
- ^ Saxon, James; Plette, William (1962). Programming the IBM 1401. Prentice-Hall. LCCN 62-20615 — преко HathiTrust. [use of the term assembly program]
- ^ „Macro instructions”. High Level Assembler for z/OS & z/VM & z/VSE Language Reference Version 1 Release 6. IBM. 2014 [1990]. SC26-4940-06.
- ^ „Assembler language”. High Level Assembler for z/OS & z/VM & z/VSE Language Reference Version 1 Release 6. IBM. 2014 [1990]. SC26-4940-06.
- ^ Booth, Andrew D; Britten, Kathleen HV (1947). Coding for A.R.C. (PDF). Institute for Advanced Study, Princeton. Приступљено 4. 11. 2022.
- ^ Wilkes, Maurice Vincent; Wheeler, David John; Gill, Stanley J. (1951). The preparation of programs for an electronic digital computer (Reprint 1982 изд.). Tomash Publishers. ISBN 978-0-93822803-5. OCLC 313593586.
- ^ Fairhead, Harry (2017-11-16). „History of Computer Languages - The Classical Decade, 1950s”. I Programmer. Архивирано из оригинала 2020-01-02. г. Приступљено 2020-03-06.
- ^ „How do assembly languages depend on operating systems?”. Stack Exchange. Stack Exchange Inc. 2011-07-28. Архивирано из оригинала 2020-03-24. г. Приступљено 2020-03-24. (NB. System calls often vary, e.g. for MVS vs. VSE vs. VM/CMS; the binary/executable formats for different operating systems may also vary.)
- ^ Austerlitz, Howard (2003). „Computer Programming Languages”. Data Acquisition Techniques Using PCs. Elsevier. стр. 326—360. ISBN 9780120683772. doi:10.1016/b978-012068377-2/50013-9. „Assembly language (or Assembler) is a compiled, low-level computer language. It is processor-dependent since it basically translates the Assembler's mnemonics directly into the commands a particular CPU understands, on a one-to-one basis. These Assembler mnemonics are the instruction set for that processor.”
- ^ Carnes, Beau (2022-04-27). „Learn Assembly Language Programming with ARM”. freeCodeCamp.org. Приступљено 2022-06-21. „Assembly language is often specific to a particular computer architecture so there are multiple types of assembly languages. ARM is an increasingly popular assembly language.”
- ^ „High Level Assembler - Opcodes overview, Assembler Directives”.
- ^ „Macro instructions”.
- ^ System calls often vary, e.g. for MVS vs. VSE vs. VM/CMS; the binary/executable formats for different operating systems may also vary. „How do assembly languages depend on operating systems?”.
- ^ „Assembly: Review - The Ohio State University” (PDF). 2016.
- ^ B. Archer. „Assembly Language For Students”. „Assembly language may also be called symbolic machine code.”
- ^ Anguiano, Ricardo. „linux kernel mainline 4.9 sloccount.txt”. Gist (на језику: енглески). Приступљено 2022-05-04.
Литература
- Reiner Backer: Assembler - Maschinennahes Programmieren von Anfang an; rororo Taschenbücher Nr.61224. 2003. ISBN 978-3-499-61224-4.
- ASM Community Book "An online book full of helpful ASM info, tutorials and code examples" by the ASM Community, archived at the internet archive.
- Bartlett, Jonathan (2004). Programming from the Ground Up. Bartlett Publishing. ISBN 978-0-9752838-4-4. Архивирано из оригинала 08. 07. 2011. г. Приступљено 25. 04. 2018.
- Britton, Robert (2003). MIPS Assembly Language Programming. Prentice Hall. ISBN 978-0-13-142044-1.
- Jeff Duntemann: Assembly Language Step-by-Step. Wiley. 2000. ISBN 978-0-471-37523-4.
- Hyde, Randall (2003). The Art of Assembly Language. No Starch Press. ISBN 978-1-886411-97-5.
Draft versions available online as PDF and HTML - Charles W. Kann: Introduction to MIPS Assembly Language Programming. 2015.
- Peter Norton, John Socha, Peter Norton's Assembly Language Book for the IBM PC, Brady Books, NY: 1986.
- Michael Singer, PDP-11. Assembler Language Programming and Machine Organization, John Wiley & Sons, NY: 1980.
- Sweetman, Dominic (1999). See MIPS Run. Morgan Kaufmann Publishers. ISBN 978-1-55860-410-0.
- John Waldron: Introduction to RISC Assembly Language Programming. Addison Wesley. 1998. ISBN 978-0-201-39828-1.
- Dennis Yurichev: Understanding Assembly Language
- Aho, Alfred V.; Sethi, Ravi; Ullman, Jeffrey D. (1986). Compilers: Principles, Techniques, and Tools (1st изд.). Addison-Wesley. ISBN 9780201100884.
- Allen, Frances E. (септембар 1981). „A History of Language Processor Technology in IBM”. IBM Journal of Research and Development. IBM. 25 (5): 535—548. doi:10.1147/rd.255.0535.
- Allen, Randy; Kennedy, Ken (2001). Optimizing Compilers for Modern Architectures. Morgan Kaufmann Publishers. ISBN 978-1-55860-286-1.
- Appel, Andrew Wilson (2002). Modern Compiler Implementation in Java (2nd изд.). Cambridge University Press. ISBN 978-0-521-82060-8.
- Appel, Andrew Wilson (1998). Modern Compiler Implementation in ML. Cambridge University Press. ISBN 978-0-521-58274-2.
- Bornat, Richard (1979). Understanding and Writing Compilers: A Do It Yourself Guide (PDF). Macmillan Publishing. ISBN 978-0-333-21732-0. Архивирано из оригинала (PDF) 15. 6. 2007. г. Приступљено 11. 4. 2007.
- Calingaert, Peter (1979). Horowitz, Ellis, ур. Assemblers, Compilers, and Program Translation. Computer software engineering series (1st printing, 1st изд.). Potomac, Maryland: Computer Science Press, Inc. ISBN 0-914894-23-4. ISSN 0888-2088. LCCN 78-21905. Приступљено 2020-03-20. (2+xiv+270+6 pages)
- Cooper, Keith Daniel; Torczon, Linda (2012). Engineering a compiler (2nd изд.). Amsterdam: Elsevier/Morgan Kaufmann. стр. 8. ISBN 9780120884780. OCLC 714113472.
Спољашње везе
- Асемблер на сајту Curlie
- Брзи курс асемблера
- Асемблер програмирање на Линуксу Архивирано на сајту Wayback Machine (1. новембар 2006)
- MenuetOS - Хоби пројекат оперативног система написаног у асемблеру који стаје на једну дискету од 1.44 MB
- KolibriOS - Настао из MenuetOS-а, чланак овде
- Unix Assembly Language Programming
- Linux Assembly
- PPR: Learning Assembly Language
- NASM – The Netwide Assembler (a popular assembly language)
- Assembly Language Programming Examples
- Authoring Windows Applications In Assembly Language
- Assembly Optimization Tips by Mark Larson
- The Art of Assembly Language by Randall Hyde
- The table for assembly language to machine code