Skip to content
NASM 2.16.01

オンラインアセンブラ(NASM)コンパイラ

myCompilerは無料のオンラインAssembly コンパイラ、エディタ、コードランナーです Assemblyコードをブラウザで直接書き、実行、共有できます。Assemblyのプレイグラウンド、サンドボックス、フィドル、クラウドコンパイラ、オンラインREPLとして使えます。ダウンロード不要、インストール不要。エディタを開いて、構文ハイライト・自動補完・即時出力でコーディングを始めましょう。

27以上の言語 100万人以上の開発者が利用 永久無料

Assemblyコードをオンラインで実行する方法

このオンラインプレイグラウンドでアイデアからAssemblyコードの実行まで3ステップ。アカウント不要です。

コードを書く シンタックスハイライト、行番号、現在の言語を表示するファイルタブを備えたコードエディタ main.asm 1 1 2 3 4 5 6 7 Assembly Ln 7, Col 25

コードを書く

Assemblyエディタを開いて書き始めましょう。スマートエディタが入力中に構文ハイライト・自動補完・エラー検出を提供します。

実行をクリック 実行ボタンとクラウドサーバーでコードを実行するためのキーボードショートカットのヒントを持つエディタ main.asm 2 Run or press Ctrl +

実行をクリック

Run 」ボタンを押すか +Enter を押して、安全なサンドボックス済みクラウドサーバーでAssemblyコードを実行します。

結果を確認 コマンドプロンプトと実行結果を表示するプログラム出力が表示される統合ターミナル main.asm 3 1 2 ... Terminal $ nasm main.asm && ld && ./a.out $ Program finished

結果を確認

出力は統合ターミナルに即座に表示されます。エラーや例外はわかりやすいメッセージで表示されます。

Assemblyでコーディングするために必要なすべて

ブラウザで使える完全なオンラインAssembly IDEとコーディングプレイグラウンド。セットアップなしでコードを書き、実行、共有できます。

セットアップ不要

このブラウザベースのAssemblyインタープリタで数秒でコーディングを開始できます。ダウンロード不要、インストール不要、環境設定不要。ブラウザを開いてmyCompilerにアクセスし、すぐにAssemblyコードを書き始めましょう。

ウェブブラウザがあればどのデバイスでも動作します。デスクトップ、ノートパソコン、タブレット、スマートフォン、Chromebook。インストールも設定も一切不要です。

高機能コードエディタ

ブラウザに組み込まれたプロ仕様のコードエディタでAssemblyを書けます。構文ハイライトでコードに色を付け、キーワード・文字列・関数を一目で区別できるようにします。

インテリジェントな自動補完が入力中にメソッドやプロパティを提案し、リアルタイムエラー検出がコードを実行する前にミスを検出します。

マルチファイルプロジェクト

一つのプロジェクト内で複数のファイルを作成・管理できます。ファイルサイドバーを使ってコードをモジュールに整理し、デスクトップIDEと同様にファイル間でインポートできます。

適切なプロジェクト構造でモジュラーアプリケーションを構築できます。各ファイルは編集可能で、すぐに切り替えられます。

すぐにコードを実行

実行ボタンをクリックするか +Enter を押すとAssemblyコードをすぐに実行できます。このオンラインコードランナーは統合ターミナルパネルにすぐに出力を表示します。コードは安全なサンドボックス済みクラウドサーバーで実行され、数秒で結果が表示されます。

エラーメッセージとスタックトレースが明確に表示されるため、問題の発見と修正が簡単です。ターミナルはリッチな出力フォーマットのためにANSIカラーをサポートしています。

試してみませんか? 最初のAssemblyプログラムを数秒で書いて実行しましょう。

Assemblyエディタを開く

myCompilerのAssembly

myCompilerはNASM 2.16.01を実行し、常に最新の安定版に更新されています。構文ハイライト・インテリジェントなコード補完・マルチファイルプロジェクト対応・リアルタイム出力用の組み込みターミナル・インタラクティブプログラム用の標準入力(stdin)を備えた完全なブラウザベースIDEが使えます。デスクトップ、ノートパソコン、タブレット、スマートフォン、ChromebookなどあらゆるデバイスでAssemblyコードを書き・コンパイル・実行・デバッグできます。ダウンロード不要、設定不要、登録不要です。プログラムをユニークなURLで保存し、誰とでも共有できます。自分のウェブサイトに動作するAssemblyエディタを埋め込むこともできます。

このオンラインAssemblyプレイグラウンドを、スニペットのテスト用クイックコード実行ツール・学習用コーディングサンドボックス・コーディング面接準備用クラウドコンパイラとして活用できます。エディタには快適なコーディングのためのダークモード・より速いワークフローのためのキーボードショートカット・素早くデバッグできるよう行番号付きの明確なエラーメッセージが含まれています。学生は課題や練習に使用します。教師はサンプルコードの共有に使用します。開発者はアイデアのプロトタイプ作成に使用します。myCompilerは初心者にも使いやすく、高速で、完全無料です。あらゆる現代的なウェブブラウザで動作します。

Assemblyでコーディングを始める

Assemblyのコード例

オンラインコンパイラで試せるAssemblyの一般的なパターン。各例はすぐに実行できます。

AssemblyでHello World

main.asm
section .data
    msg db "Hello, World!", 10
    len equ $ - msg
section .text
    global _start
_start:
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, len
    syscall
    mov rax, 60
    xor rdi, rdi
    syscall

Assemblyの変数とデータ型

main.asm
section .data
    num1    dq 42
    num2    dq 58
    msg     db "Sum: ", 0
    msglen  equ $ - msg

section .text
    global _start
_start:
    mov rax, [num1]
    add rax, [num2]     ; rax = 42 + 58 = 100
    ; exit with the sum as exit code
    mov rdi, rax
    mov rax, 60
    syscall

AssemblyのIf-Else条件分岐

main.asm
section .data
    pos_msg db "Positive", 10
    pos_len equ $ - pos_msg
    neg_msg db "Non-positive", 10
    neg_len equ $ - neg_msg

section .text
    global _start
_start:
    mov rax, 5          ; test value
    cmp rax, 0
    jle .non_positive
    mov rax, 1
    mov rdi, 1
    mov rsi, pos_msg
    mov rdx, pos_len
    syscall
    jmp .exit
.non_positive:
    mov rax, 1
    mov rdi, 1
    mov rsi, neg_msg
    mov rdx, neg_len
    syscall
.exit:
    mov rax, 60
    xor rdi, rdi
    syscall

AssemblyのForループとWhileループ

main.asm
section .data
    newline db 10

section .bss
    buf resb 2

section .text
    global _start
_start:
    mov rcx, 5          ; loop counter
    mov rbx, 0          ; i = 0
.loop:
    test rcx, rcx
    jz .done
    ; convert rbx to ASCII digit and print
    mov rax, rbx
    add rax, 0x30
    mov [buf], al
    mov rax, 1
    mov rdi, 1
    mov rsi, buf
    mov rdx, 1
    syscall
    inc rbx
    dec rcx
    jmp .loop
.done:
    mov rax, 60
    xor rdi, rdi
    syscall

Assemblyの関数

main.asm
section .data
    msg db "Result: 120", 10
    len equ $ - msg

section .text
    global _start

; Compute factorial(n): n in rdi, result in rax
factorial:
    cmp rdi, 1
    jle .base
    push rdi
    dec rdi
    call factorial
    pop rdi
    imul rax, rdi
    ret
.base:
    mov rax, 1
    ret

_start:
    mov rdi, 5
    call factorial      ; rax = 120
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, len
    syscall
    mov rax, 60
    xor rdi, rdi
    syscall

Assemblyの配列とコレクション

main.asm
; Array of 5 integers
section .data
    nums    dq 10, 20, 30, 40, 50
    count   equ 5

section .text
    global _start
_start:
    xor rax, rax        ; sum = 0
    xor rcx, rcx        ; i = 0
.loop:
    cmp rcx, count
    jge .done
    add rax, [nums + rcx*8]
    inc rcx
    jmp .loop
.done:
    ; exit with sum / 10 as code (15 = 150/10)
    mov rdi, rax
    mov rax, 60
    syscall

AssemblyのMemory Layout

main.asm
; Assembly structs via memory layout
; struct Dog { name: 32 bytes, age: 8 bytes }
section .data
    dog_name db "Rex", 0
             times 29 db 0
    dog_age  dq 3
    msg      db "Dog initialized", 10
    msg_len  equ $ - msg

section .text
    global _start
_start:
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, msg_len
    syscall
    mov rax, 60
    xor rdi, rdi
    syscall

Assemblyのエラーハンドリング

main.asm
; Check syscall return value for errors
section .data
    filename db "nonexistent.txt", 0
    errmsg   db "File not found", 10
    errlen   equ $ - errmsg

section .text
    global _start
_start:
    ; Try to open file
    mov rax, 2          ; sys_open
    mov rdi, filename
    mov rsi, 0          ; O_RDONLY
    mov rdx, 0
    syscall
    ; Check for error (negative return)
    test rax, rax
    jns .ok
    mov rax, 1
    mov rdi, 2          ; stderr
    mov rsi, errmsg
    mov rdx, errlen
    syscall
.ok:
    mov rax, 60
    xor rdi, rdi
    syscall

AssemblyのファイルI/O

main.asm
section .data
    filename db "output.txt", 0
    content  db "Hello, File!", 10
    cont_len equ $ - content

section .text
    global _start
_start:
    ; Open/create file (O_WRONLY|O_CREAT|O_TRUNC = 0o641)
    mov rax, 2
    mov rdi, filename
    mov rsi, 0o641
    mov rdx, 0o644
    syscall
    mov r8, rax         ; save fd
    ; Write to file
    mov rax, 1
    mov rdi, r8
    mov rsi, content
    mov rdx, cont_len
    syscall
    ; Close file
    mov rax, 3
    mov rdi, r8
    syscall
    ; Exit
    mov rax, 60
    xor rdi, rdi
    syscall

Assemblyのシステムコール

main.asm
; Linux x86-64 system calls demo
section .data
    msg1 db "sys_write: stdout", 10
    len1 equ $ - msg1
    msg2 db "sys_write: stderr", 10
    len2 equ $ - msg2

section .text
    global _start
_start:
    ; Write to stdout (fd=1)
    mov rax, 1
    mov rdi, 1
    mov rsi, msg1
    mov rdx, len1
    syscall
    ; Write to stderr (fd=2)
    mov rax, 1
    mov rdi, 2
    mov rsi, msg2
    mov rdx, len2
    syscall
    ; Exit with code 0
    mov rax, 60
    xor rdi, rdi
    syscall

Assemblyオンラインで入力を受け取る方法

myCompilerはAssemblyプログラムの標準入力(stdin)をサポートしています。 Assemblyの標準入力関数を使用してユーザー入力を読み取ります。プログラムを実行する前に、stdinパネルに入力データを入力してください。

これは1行および複数行の入力の両方に対応しています。 言語の組み込みI/O関数を使用して、文字列を読み取り数値に変換できます。

自分で試してみる
main.asm stdin対応
section .data
    msg db "Enter text: ", 0
    mlen equ $ - msg
section .bss
    buf resb 64
section .text
    global _start
_start:
    mov rax, 0
    mov rdi, 0
    mov rsi, buf
    mov rdx, 64
    syscall
    mov rdx, rax
    mov rax, 1
    mov rdi, 1
    mov rsi, buf
    syscall
    mov rax, 60
    xor rdi, rdi
    syscall
stdin
Hello!
出力
Hello!

セットアップ不要、登録不要。 今すぐAssemblyコードを書き始めましょう。

今すぐコーディングを始める

Assemblyオンラインを始めよう

何もインストールせずに今すぐAssemblyコードを書いて実行できます。コードを入力して「実行」をクリックするだけです。この無料のAssemblyコードランナーはプログラムをすぐに実行し、エディタ下のターミナルパネルに出力を表示します。 Assemblyオンラインエディタを開き、コードを入力して「実行」をクリックしてください。

Assemblyが初めての方は、このオンラインAssemblyプレイグラウンドで変数・データ型・条件分岐・ループなど基礎から始めましょう。上のコード例には始めるために必要な基礎がすべて網羅されています。各例はサンドボックスにコピーしてすぐに実行できます。セットアップも設定も不要です。

慣れてきたら、マルチファイルプロジェクトの作成・ライブラリの活用・URLでのプログラム共有にも挑戦してみましょう。無料アカウントに登録すると、自分の作業を保存してプログラムの個人ライブラリを構築できます。myCompilerはブラウザで直接使える完全なオンラインAssembly IDEとして機能します。

myCompilerを使うのは

コーディングを学ぶ方も、面接準備をする方も、アイデアをプロトタイプにする方も、myCompilerはあなたのために作られています。

学生と学習者

学校や個人のコンピュータに何もインストールせずに練習問題を解いたり、宿題をこなしたり、コードで実験したりできます。

教師と教育者

ユニークなURLで学生にコード例を共有できます。コースの教材にコンパイラを埋め込んで、学生がブラウザで直接サンプルを実行できるようにします。

面接対策者

コーディング面接の問題を練習し、アルゴリズムをテストし、技術面接の準備中に素早く解答を確認できます。

プロの開発者

ローカル環境を構築せずにアイデアを素早くプロトタイプ化したり、コードスニペットをテストしたり、ライブラリを試したりできます。素早い実験に最適です。

コンテンツクリエイターとブロガー

ブログ記事・チュートリアル・ドキュメントにインタラクティブな例を埋め込み、読者がページを離れずにコードを実行できるようにします。

チームとコラボレーター

URLでコードスニペットを同僚と共有できます。他の人があなたのコードを閲覧・実行・フォークして、あなたの作業を発展させることができます。

myCompiler vs. ローカルIDE

なぜローカルにインストールする代わりにオンラインAssemblyコンパイラを使うのか?

機能 myCompiler ローカルIDE
セットアップ時間 即時 数分から数時間
インストール 不要 Assembly + IDE が必要
デバイス対応 ブラウザがあればどこでも デスクトップのみ
コードの共有 ワンクリックURL 手動(ファイル・gitなど)
プログラミング言語 27以上を一か所に 一度に一つ
費用 永久無料 無料〜¥¥¥
Chromebookで動作 対応 制限あり

Assemblyとは何ですか?

Assembly言語は、プロセッサのマシンコード命令を人間が読める形で表現する低水準プログラミング言語です。高水準言語とは異なり、AssemblyはCPUが実行するバイナリ命令とほぼ1対1で対応しています。myCompilerで使用されているNASM(Netwide Assembler)は、クリーンなIntel構文とポータブルな出力フォーマットで知られる最も人気のあるx86/x86-64アセンブラの1つです。

Assemblyでの記述は、CPUレジスタraxrbxrsp)、メモリアドレス算術命令syscallを通じたLinuxシステムコールと直接やり取りすることを意味します。変数、関数、オブジェクトはなく、レジスタ、メモリ、命令のみです。この究極の明示性により、Assemblyはコンピュータが実際にどのように動作するかを理解するのに非常に有用です。

Assemblyは何に使われますか?

Assembly言語は、コンピュータアーキテクチャとCPUがプログラムを実行する方法の理解、OSカーネルやブートローダの作成(x86ブートセクタはAssemblyで書かれています)、ハードウェアとのやり取りのためのデバイスドライバ、コンパイラやデータベースのクリティカルなホットパスの最適化、リバースエンジニアリングとマルウェア分析、セキュリティ研究におけるエクスプロイト開発に使用されています。GCCやLLVMなどのコンパイラは中間ステップとしてAssemblyを生成します。

初心者のためのAssembly

Assembly言語は初心者向けの言語ではありません。CPUアーキテクチャ、メモリレイアウト、呼び出し規約、システムコールインターフェースの理解が必要です。しかし、Assemblyの記述はコンパイラの仕事を教えてくれ、計算のかけがえのないメンタルモデルを構築します。コンピュータサイエンスの学生がAssemblyで「Hello World」を書くことは通過儀礼としてよく行われています。myCompilerのオンラインNASMコンパイラを使えば、Linux開発環境をセットアップせずにx86-64 Assemblyを実験できます。

Assemblyと他の言語の比較

C言語と比較すると、Assemblyではレジスタとスタックフレームの手動管理が必要であり、C言語はそれを自動的に処理しますが、Assemblyは実行されるすべての命令に対する絶対的な制御を提供します。モダンな最適化コンパイラ(GCC、Clang)は手書きのコードと同等に効率的なAssemblyを生成することが多く、そのためAssemblyはプログラム全体ではなく特定のホットパスに使用されることがほとんどです。RustやC++と比較すると、Assemblyには型システムもメモリ安全性もなく抽象化もありません。ハードウェアの抽象化レベルで直接作業します。

なぜオンラインAssemblyコンパイラを使うのか?

オンラインNASMアセンブラ(Assemblyサンドボックスやx86プレイグラウンドとも呼ばれます)を使えば、NASMとLinux環境をインストールすることなく、ブラウザで直接x86-64 Assemblyコードをアセンブルして実行できます。コンピュータアーキテクチャのコース、システムコールの仕組みの学習、CPUレジスタ使用の理解、ローカルセットアップなしでの低レベルプログラミング概念の実験に非常に有用です。

myCompilerのオンラインAssembly IDEは、Cランタイムとリンクされたx86-64 Linux用のNASMを使用しています。Linuxシステムコールの実行、System V AMD64 ABIに従った関数の記述、文字列や定数のためのデータセクションの使用が可能です。URLでのAssemblyプログラムの保存・共有がすべて無料です。

なぜAssemblyは人気があるのか?

Assemblyは、すべてのソフトウェアが最終的にマシンコードとして実行されるため、引き続き重要です。Assemblyを理解することはパフォーマンス、セキュリティ脆弱性、コンパイラの動作の理解の基礎です。リバースエンジニアやセキュリティ研究者はAssemblyを日常的に読んでいます。すべてのバイナリはAssemblyに逆アセンブルされます。システムプログラミング、組み込み開発、セキュリティ研究への関心の復活により、大学やブートキャンプでのAssembly教育が維持されています。

Assemblyのキャリアチャンス

Assemblyの知識は、セキュリティ研究者/リバースエンジニア、組み込みシステムエンジニア、コンパイラエンジニア、OSデベロッパー、パフォーマンスエンジニアの職種で高く評価されています。セキュリティ企業、チップメーカー、防衛関連企業、低レベルソフトウェア企業がAssemblyの専門知識を重視しています。OSやファームウェアレベルの職種では、CやRustと組み合わせることが多いです。

キーボードショートカット

myCompilerエディタでこれらのキーボードショートカットを使って素早くコーディングしましょう。

コードを実行
+ Enter
プログラムを保存
+ S
コメントの切り替え
+ /
インデント
Tab
インデント解除
Shift + Tab
元に戻す
+ Z
次の一致箇所を選択
+ D
検索と置換
+ H

Assemblyコンパイラをあなたのウェブサイトに埋め込む

インタラクティブなAssemblyコンパイラをウェブサイト・ブログ・学習プラットフォームに追加できます。読者はページを離れずにあなたのページで直接Assemblyコードを書いて実行できます。

技術チュートリアルコーディング講座ドキュメント教育コンテンツに最適です。myCompilerでプログラムを保存し、埋め込みリンクを使って任意のウェブページに追加してください。

Embedded Assembly コンパイラ、エディタ、コードランナー
Output Run
HTML
<iframe
src="https://www.mycompiler.io
    /embed/asm-x86_64"
width="100%"
height="400"
frameborder="0">
</iframe>

開発者がmyCompilerを選ぶ理由

Assemblyと27以上の他のプログラミング言語に対応したフル機能のオンラインIDEです。

27以上の言語

Python・JavaScript・Java・C++・Rust・Go・TypeScript・C#、その他多数。すべてのコンパイラとインタープリタを一か所に。即座に言語を切り替えられます。

ダーク&ライトモード

ワンクリックでライトテーマとダークテーマを切り替えられます。昼夜問わずどんな照明環境でも快適にコーディングできます。

モバイル対応

スマートフォン・タブレット・Chromebookに最適化された完全なレスポンシブエディタ。ウェブブラウザがあればどのデバイスでもコーディングできます。アプリのダウンロード不要です。

コードの保存と共有

アカウントにプログラムを保存し、ユニークなURLで共有し、他のユーザーがあなたのコードを閲覧・フォーク・実行できるようにします。コラボレーションやコードレビューに最適です。

タグと整理

保存したプログラムをタグで整理し、検索とフィルターで素早く見つけられます。コードスニペットとソリューションの個人ライブラリを構築しましょう。

アカウント不要

すぐにコードを書いて実行できます。登録不要・メール不要・クレジットカード不要。作業を保存したい場合にのみ無料アカウントを作成してください。

他のプログラミング言語を探索する

myCompilerは27以上の言語をサポートしています。いつでも切り替えられます。すべて無料、すべて一か所に。

よくある質問

オンラインAssemblyコンパイラ・プレイグラウンド・コードランナーの使用に関する一般的な質問です。

はい!myCompilerはAssemblyを含むすべてのサポート言語で完全無料です。サブスクリプション・プレミアムプラン・隠れた費用は一切ありません。すべての機能が無料で利用できます。
myCompilerはAssembly環境を常に最新の状態に保っています。正確なバージョンはこのページの言語詳細セクションで確認できます。すべての言語ランタイムを定期的に最新の安定バージョンに更新しています。
myCompilerはLinux上のx86-64 Assembly用のNASMを使用しています。x86-64命令を使用したプログラムの作成、Linuxシステムコールの実行、低レベルプログラミング概念の学習ができます。
Assemblyエディタを開いてコードを書くか貼り付け、実行ボタンをクリックするだけです。コードはサーバーで実行され、数秒以内にターミナルパネルに出力が表示されます。
はい。「保存」をクリックするとプログラムが保存されます。誰にでも共有できるユニークなURLが発行されます。受け取った人はあなたのコードを閲覧・フォーク・実行できます。
はい。myCompilerはマルチファイルプロジェクトをサポートしています。サイドバーでファイルの作成・名前変更・削除ができます。ローカルIDEと同様にAssemblyコードを整理できます。
はい。すべてのコードはサーバー上の隔離されたコンテナで実行されます。各実行には独自のサンドボックス環境が割り当てられ、実行後に破棄されます。あなたのコードが他のユーザーや当社のインフラに影響を与えることはありません。
はい。myCompilerはスマートフォンとタブレットに最適化されたレスポンシブデザインを採用しています。外出先でAssemblyコードを書いて実行できます。モバイルインターフェースはエディタ・出力・ファイルパネルの切り替えにタブを使用します。
はい。下のパネルの「入力」タブをクリックし、入力データを入力または貼り付けてから「実行」をクリックしてください。プログラムは指定した入力から読み取ります。
実行は高速です。コードは最適化されたクラウドインフラで実行され、出力は通常数秒以内に表示されます。実行時間はプログラムの複雑さによって異なります。
はい。myCompilerには埋め込み機能があります。iframeスニペットをコピーして、ウェブサイト・ブログ・ドキュメントに貼り付けられます。訪問者はあなたのページで直接コードを編集・実行できます。
myCompilerは実行(Ctrl/Cmd+Enter)・保存(Ctrl/Cmd+S)・検索(Ctrl/Cmd+F)など一般的なエディタショートカットをサポートしています。完全なリストはこのページのキーボードショートカットセクションを参照してください。
いいえ。myCompilerはコードをクラウドサーバーでコンパイル・実行するためインターネット接続が必要です。エディタ自体はブラウザで読み込まれますが、コードの実行には接続が必要です。
myCompilerは高速・無料・セットアップ不要の環境を提供し、モダンなコードエディタ・マルチファイル対応・ダークモード・即時共有機能を備えています。学習・プロトタイプ作成・面接対策・コードサンプルの共有に最適です。
はい。myCompilerはアルゴリズムやコーディング問題の練習に最適です。Assemblyコードを書き、カスタム入力を用意して、すぐに解答をテストできます。作業を保存していつでも戻ることができます。
print文やコンソール出力を使ってプログラムの動作をトレースしてください。myCompilerはすべての標準出力とエラーメッセージをターミナルパネルに表示します。エラーメッセージには問題箇所を特定するための行番号が含まれています。

Assemblyコードを書く準備はできましたか?

無料のAssemblyプレイグラウンドを開いてすぐにコーディングを始めましょう。ダウンロード不要、アカウント不要です。

Assemblyでコーディングを始める

無料・登録不要 · NASM 2.16.01

Assemblyでコーディングを始める