Menu
CoddyTech

Playground Assembly

Tulis, jalankan, dan bagikan potongan kode. Tanpa setup.

Coddymain.asm
Output
Click Run to see the output here.

Jalankan Assembly online di browsermu

Ini adalah compiler Assembly online gratis untuk kode x86-64 yang ditulis dengan sintaks NASM. Ketik programmu, tekan Jalankan, lalu Coddy meng-assemble-nya dengan nasm -f elf64, me-link-nya dengan ld, dan menjalankan executable Linux hasilnya di server. Setelah itu kamu melihat stdout, stderr, dan status keluarnya. Tidak ada yang perlu diinstal: tanpa NASM, tanpa linker, tanpa mesin virtual, tanpa cross-compiler.

Program awalnya adalah entry point _start lengkap yang membaca satu baris dari input standar dan menulis balik sapaan dengan syscall mentah read, write, dan exit, tanpa libc. Begitulah assembly sebenarnya bekerja: kamu memindahkan argumen ke rax/rdi/rsi/rdx, memanggil syscall, dan kernel mengerjakan sisanya. Pakai panel stdin di bawah editor untuk mengirim input ke programmu setiap kali Jalankan, persis seperti mengirim data lewat pipe ke binary sungguhan.

Kenapa playground Assembly ini berguna

  • Toolchain NASM x86-64 sungguhan. Kode sumbermu di-assemble dengan nasm -f elf64 dan di-link dengan ld di Linux, perintah yang sama dengan yang kamu ketik di komputermu sendiri, jadi apa yang berjalan di sini sama dengan yang berjalan di mesin sungguhan.
  • Syscall Linux langsung. Program awalnya memakai read, write, dan exit lewat instruksi syscall tanpa libc yang menghalangi, jadi kamu melihat persis bagaimana register membawa argumen dan nilai kembalian.
  • Dukungan input standar. Kirim byte ke programmu lewat panel stdin dan baca dengan syscall 0. Berguna untuk latihan klasik 'baca nama, cetak sapaan' dan yang lebih dari itu.
  • Tanpa setup, umpan balik instan. Tidak perlu instal NASM, tidak perlu mengingat flag linker, tidak ada error izin. Buka halamannya dan editor langsung siap. Error dari assembler dan linker langsung muncul di output.

Yang bisa kamu coba di playground Assembly

  • Cetak string tetap dengan satu syscall write, lalu exit(0) yang bersih. Ini program x86-64 lengkap yang paling kecil, dan cara tercepat untuk melihat bagaimana _start dan syscall saling terhubung.
  • Baca dari stdin ke buffer .bss, buang newline di akhir, lalu tampilkan kembali. Pola ini ada di balik hampir setiap latihan assembly yang memakai input.
  • Jumlahkan dua angka di register dan ubah hasilnya menjadi digit ASCII secara manual, supaya kamu bisa mencetaknya dengan write. Dari sini kamu belajar bahwa assembly tidak punya print, hanya byte dan syscall.

FAQ compiler Assembly online

Assembler dan sintaks apa yang dipakai playground ini?
Playground ini memakai NASM (Netwide Assembler) dengan sintaks Intel, untuk Linux x86-64. Kodemu di-assemble dengan nasm -f elf64 dan di-link dengan ld. Kalau kamu terbiasa dengan sintaks AT&T/GAS (gaya %rax, movq), tulis ulang dengan gaya Intel milik NASM: mov rax, 1, section .text, global _start.
Apakah aku perlu menginstal NASM atau linker untuk memakai ini?

Tidak. Seluruh toolchain berjalan di server dalam container sandbox. Kamu menulis NASM di browser, menekan Jalankan, dan Coddy meng-assemble serta me-link programmu. Tidak ada yang perlu diinstal di komputermu: tanpa NASM, tanpa ld, tanpa VM Linux.

Bagaimana cara membaca input di assembly di sini?
Pakai syscall read (nomor 0): isi rax dengan 0 (sys_read), rdi dengan 0 (stdin), rsi dengan alamat buffer, dan rdx dengan jumlah byte maksimum, lalu jalankan syscall. Apa pun yang kamu ketik di panel stdin di bawah editor dikirim ke programmu saat Jalankan. Program awalnya menunjukkan pola lengkapnya, termasuk membuang newline di akhir.
Kenapa programku butuh _start, bukan main?
Karena program awalnya di-link dengan ld tanpa C runtime. main adalah konvensi libc: kode startup C memanggilnya setelah menyiapkan semuanya. Dengan link ld polos tidak ada libc, jadi kernel langsung melompat ke label _start. Itulah sebabnya setiap program di sini mendefinisikan global _start. Kamu sendiri yang harus keluar dengan bersih memakai syscall exit (nomor 60) di akhir.
Bisakah aku belajar assembly dengan compiler ini meski masih pemula?

Bisa. Mulailah dari program sapaan, ubah string-nya, dan lihat output-nya. Lalu coba membaca input, menghitung di register, dan mengubah angka menjadi teks secara manual. Karena tidak ada setup dan setiap Jalankan memberi umpan balik instan, kamu bisa mencoba berulang kali dengan cepat. Itulah cara tercepat membangun intuisi tentang register, memori, dan syscall.

Alat berguna untuk Assembly

Alat gratis berbasis browser yang cocok dipakai bersama Playground Assembly, semuanya bagian dari Coddy.