コンテンツにスキップ

アセンブリ言語

出典: フリー百科事典『ウィキペディア(Wikipedia)』
アセンブラーから転送)
モトローラ MC6800 のアセンブリ言語のソースコード

: assembly language[1]

: Assembler: Assembler Language[ 1][2]

[]


[1]

[ 2]

: GNUgas

110/[3]

[]


使使3

[]


: mnemonic[4]

[4]X64 0x05  ADD 1

使使CPUNOP使8086xchg ax,axnop使nop xchg ax,ax xchg ax,axnopIBMSystem/360System/370NOPNOPR使BCBCR0SPARCsynthetic instructions[5]

012使使System/360BC15BBC0NOP: 

[]


: operand10

[]


使使

アセンブリディレクティブ[編集]


[6]使

(pseudo-opcode)[7]

/[]


"10$"使

使

[]


x86/IA-328

 10110 3AL  000  AL 01100001 [8]
10110000 01100001


B0 61

B0AL610110000197 MOV 
MOV AL, 61h       ; Load AL with 97 decimal (61 hex)

61HAL61HAL

 MOV /LSTLR MVI 

 10110000(B0)8 AL10110001(B1)CL10110010(B2) DL[8]
MOV AL, 1h        ; Load AL with immediate value 1
MOV CL, 2h        ; Load CL with immediate value 2
MOV DL, 3h        ; Load DL with immediate value 3

MOVの構文には次の例のようにさらに複雑なものもある[9]

MOV EAX, [EBX]	  ; Move the 4 bytes in memory at the address contained in EBX into EAX
MOV [ESI+EAX], CL ; Move the contents of CL into the byte at address ESI+EAX

MOV使88-8EA0-A3B0-B8C6C7[8]

[]


C
表. アセンブリ言語と高級言語
アセンブラ 高級言語
レジスタ -
ジャンプ命令 [10]
制御構造 -
構造体 -
関数 -
コメント

1

[]


[11][12]

マクロ[編集]




Z80ld hl,bc  ld l,c  ld h,b 2[13]使IBM VM/CMSCICSACP/TPF[14]使

[]


 "Concept-14 macro set" System/360IF/ELSE/ENDIF[15][16]8080/Z80 A-natural 

BASIC BASE Z80BASE-80MC6809BASE-09BASEBASE-09
S[A,B,X,U
A=$80
A=A+$C0
S]A,B,X,U,PC

上記の記述は下記のアセンブラ表記に対応する。

PSHS A,B,X,U
LDA #$80
ADDA #$C0
PULS A,B,X,U,PC

アセンブラ[編集]


: assemble[6]

: assembler[17]

[18]m4[19][8][20]

: [21]


[]






1使 "errata" 使使



使

 errata 1NOP

使 errata [22]

[]


IBM High Level Assembler (HLASM) - IBM

PDP-8 - PAL-III (Program Assembly Language III)

CAP-X - CASL 使

CASL - COMET

as - UNIX

GNU (gas) - GNUx86680x0SPARCVAXCPU

Microsoft Macro Assembler (MASM) - x86 CPU

Netwide Assembler (nasm) - MASMx86 CPU

Turbo Assembler (TASM) - MASMx86 CPU

MIXAL - MIXMMIXMMIXAL

A-natural - Whitesmiths Ltd. 8080/Z80C使

UnixasOSGNU使

使TASMMASMFASMNASM[23]

[]


1940EDSAC (1949)  initial orders1[24]1954 IBM 701 1955Stan Poley  IBM 650 SOAP (Symbolic Optimal Assembly Program) [25]



1950

OSALGOLESPOL Burroughs MCP (1961) IBMCOBOLFORTRANPL/I 1990

使

19801990ZX Spectrum64AmigaAtari ST 使BASICAmiga ASM-One assembler Microsoft Visual Studio 

Don French  VIC-20  1,639 ANDOR[26]

1980 Lotus 1-2-3 [27]

1990GCCSDKC[28][29]3C使使[30]MOTHER 2[31][32]LISP使C

2000DirectX (Direct3D) 8.0Direct3D 8.0使2001XboxXboxAPIDirect3D 8.x[33]CPUC++使GPU使HLSLCg (C for Graphics) HLSLDirect3D 9.0Direct3D 104.0HLSL使[34]

[35][36][37][38][?][39][40]

C++C#C[41]

[]


C

[]




: 

: 

: GC






[]




: 






BIOSPOST
使

: 使


: 


:  - BLAS, x264SIMD[42]

: 
: 









: 
:  - 

:  - 

:  - 

: 




MBR446

vDSO





使LinuxEXPORT_SYMBOL[43].export_symbol使CPUCPUinclude/linux/export.h[ 3]C[ 4]

[?]1使[44]

[]


OS

便使便

Linux使

[]

注釈[編集]



(一)^ IBMSystem/3602011 (Assembler Language) IBM High Level Assembler

(二)^ MIPS (.set bopt) OPTASMSLR

(三)^ CPU

(四)^ GCCC

出典[編集]



(一)^ ab"(assembly language)" . . , III. 2022-12-25.

(二)^ Stroustrup, Bjarne, The C++ Programming Language, Addison-Wesley, 1986, ISBN 0-201-12078-X: "C++ was primarily designed so that the author and his friends would not have to program in assembler, C, or various modern high-level languages." - assembler  assembly language 使

(三)^  Intel Architecture Software Developers Manual, Volume 2: Instruction Set Reference. INTEL CORPORATION. (1999). http://download.intel.com/design/PentiumII/manuals/24319102.PDF 20101118 

(四)^ ab"(mnemonic)" . . , III. 2022-12-25.

(五)^ The SPARC Architecture Manual, Version 8.  SPARC, International (1992). 2011121020121027

(六)^ abDavid Salomon (1993). Assemblers and Loaders

(七)^ Microsoft Corporation. MASM: Directives & Pseudo-Opcodes. 2011319

(八)^ abcd Intel Architecture Software Developers Manual, Volume 2: Instruction Set Reference. INTEL CORPORATION. (1999). pp. 442 and 35. http://download.intel.com/design/PentiumII/manuals/24319102.PDF 20101118 

(九)^ Evans, David (2006). x86 Assembly Guide.  University of Virginia. 20101118

(十)^ goto

(11)^ Answers.com. assembly language: Definition and Much More from Answers.com. 2008619

(12)^ NESHLA: The High Level, Open Source, 6502 Assembler for the Nintendo Entertainment System

(13)^ Z80 Op Codes for ZINT

(14)^  (CRS) 使OS

(15)^ Dr. H.D. Mills (1970) Marvin Kessler  in IBM

(16)^ Concept 14 Macros.  MVS Software. 2009525

(17)^ Saxon, James, and Plette, William, Programming the IBM 1401, Prentice-Hall, 1962, LoC 62-20615. - assembly program 使

(18)^ J.DONOVAN, JOHN (1972). systems programming. pp. 59. ISBN 0-07-085175-1 

(19)^ bit bit 19908158ISBN 4-320-02526-1 

(20)^ Hyde, Randall. "Chapter 12  Classes and Objects". The Art of Assembly Language, 2nd Edition. No Starch Press. © 2010.

(21)^ (John Daintith, ed.) A Dictionary of Computing: "meta-assembler"

(22)^ Beck, Leland L. (1996). 2. System Software: An Introduction to Systems Programming. Addison Wesley 

(23)^ Randall Hyde. Which Assembler is the Best?. 2007101820071019

(24)^ Salomon. Assemblers and Loaders. p. 7. http://www.davidsalomon.name/assem.advertis/asl.pdf 2012117 

(25)^ The IBM 650 Magnetic Drum Calculator. 2012117

(26)^ Jim Lawless (2004521). Speaking with Don French : The Man Behind the French Silk Assembler Tools. 20088212008725

(27)^  --- 

(28)^ Toolchain, libraries and headers relationship - PlayStation Development Network

(29)^ What were PS1 and N64 games written in? : gamedev

(30)^ SegaBase Volume 6 - Saturn. Eidolon's Inn (2008110). 2014722013627

(31)^ Lisp (PDF) Archived 2008820, at the Wayback Machine.

(32)^ OO  21    | 

(33)^ NVIDIA Xbox GPU Specs | TechPowerUp GPU Database

(34)^ Using Shaders in Direct3D 10 - Win32 apps | Microsoft Docs

(35)^ Rusling, David A.. The Linux Kernel. 2012311

(36)^ Writing the Fastest Code, by Hand, for Fun: A Human Computer Keeps Speeding Up Chips.  New York Times, John Markoff (20051128). 201034

(37)^ Bit-field-badness.  hardwarebug.org (2010130). 201025201034

(38)^ GCC makes a mess.  hardwarebug.org (2009513). 2010316201034

(39)^ Randall Hyde. The Great Debate. 2008616200873

(40)^ Code sourcery fails again.  hardwarebug.org (2010130). 201042201034

(41)^ CEDECFINAL FANTASY XV - GamesIndustry.biz Japan Edition

(42)^ x264.git/common/x86/dct-32.asm.  git.videolan.org (2010929). 2012342010929

(43)^ [https://github.com/torvalds/linux/blob/master/include/linux/export.h GitHub, torvalds / linux, include/linux/export.h]. 2023108

(44)^ Hyde, Randall (1996930). Foreword ("Why would anyone learn this stuff?"), op. cit.. 2010325201035

参考文献[編集]

  • Jonathan Bartlett: Programming from the Ground Up. Bartlett Publishing, 2004. ISBN 0-9752838-4-7
    Also available online as PDF. 2024年3月20日閲覧。
  • Robert Britton: MIPS Assembly Language Programming. Prentice Hall, 2003. ISBN 0-13-142044-5
  • Paul Carter: PC Assembly Language. Free ebook, 2001.
    Website
  • Jeff Duntemann: Assembly Language Step-by-Step. Wiley, 2000. ISBN 0-471-37523-3
  • Randall Hyde: The Art of Assembly Language. No Starch Press, 2003. ISBN 1-886411-97-2
  • 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.
  • Dominic Sweetman: See MIPS Run. Morgan Kaufmann Publishers, 1999. ISBN 1-55860-410-3
  • John Waldron: Introduction to RISC Assembly Language Programming. Addison Wesley, 1998. ISBN 0-201-39828-1

関連項目[編集]

外部リンク[編集]