Tulis atau buka program
Mulai dari contoh, ketik assembly Anda sendiri, atau buka file .s. Taruh data di bawah .data dan kode di bawah .text.
Ketik assembly RV32IM dengan label dan pseudo-instruksi, lalu jalankan dengan kecepatan penuh atau satu instruksi demi satu.
Pasang breakpoint, mundur langkah, dan pantau register, memori, kode mesin, serta konsol saat program berjalan.
Memuat simulator RISC-V…
Mulai dari contoh, ketik assembly Anda sendiri, atau buka file .s. Taruh data di bawah .data dan kode di bawah .text.
Tekan Jalankan untuk kecepatan penuh, atau Langkah untuk menjalankan satu instruksi dan melihat register dan memori mana yang berubah. Klik di samping nomor baris untuk memasang breakpoint.
Output dan input terjadi di konsol. Periksa register dan memori, mundur untuk menemukan letak kesalahan, dan salin kode mesin sebagai hex.
Kelewatan satu langkah? Mundur membatalkan instruksi terakhir, termasuk register, memori, dan output, sehingga Anda bisa memeriksa lagi tanpa menjalankan dari awal.
call menimpa ra. Fungsi yang memanggil fungsi lain harus menyimpan ra di stack terlebih dahulu dan memulihkannya sebelum ret, seperti di contoh faktorial.
Tab Kode mesin menghitung berapa kali setiap instruksi dijalankan. Badan loop yang berjalan satu kali terlalu banyak atau tidak pernah berjalan langsung menunjuk ke branch yang salah.
Butuh ilustrasi desain prosesor Anda atau klip untuk kuliah Anda? Buat dengan WaveSpeed AI.
Buat ilustrasi bergaya diagram dan sampul untuk slide dan laporan praktikum.
Ubah ide menjadi klip penjelasan pendek untuk kelas Anda.
Ubah sketsa papan atau kemasan chip menjadi model 3D.
Kredit gratis $1 untuk akun baru yang memenuhi syarat. Tanpa kartu. Generator memerlukan akun dan kredit tersendiri. Simulator RISC-V ini gratis.
Ya. Simulator RISC-V online ini gratis, tanpa akun, tanpa batasan eksekusi, dan tanpa instalasi.
Set integer dasar 32-bit (RV32I), ekstensi M untuk perkalian, pembagian, dan sisa bagi, serta pembacaan counter cycle, time, dan instret — set instruksi inti yang diajarkan di mata kuliah arsitektur komputer dan assembly.
Sebagian besar bisa. Kode dimulai di 0x00400000 dan data di 0x10010000, dan system call memakai nomor yang sama (a7 = 1 cetak integer, 4 cetak string, 5 baca integer, 10 exit, dan seterusnya) seperti simulator pengajaran yang umum. Tab Referensi mencantumkan semuanya.
Taruh nomor call di a7 dan argumen di a0, lalu jalankan ecall. Saat program membaca, konsol meminta input: ketik dan tekan Enter. Anda juga bisa mengetik lebih dulu sebelum program memintanya.
Jumlah instruksi bersifat tepat. Jumlah siklus adalah perkiraan untuk core in-order sederhana: 1 siklus per instruksi, 2 per load, 3 per jump atau branch yang diambil, 3 per perkalian, dan 33 per pembagian.
Bisa. Tab Kode mesin menampilkan alamat, word hex, dan bentuk terdekode setiap instruksi. Salin sebagai hex, satu word per baris, atau unduh file .hex atau .bin mentah.
Word harus dibaca dan ditulis di alamat kelipatan 4, dan halfword di kelipatan 2. Taruh .align 2 sebelum data word, atau periksa alamat yang Anda hitung. Pesan error menyebutkan alamat dan barisnya.
Bisa. Mundur membatalkan hingga 4.096 instruksi terakhir, termasuk register, memori, dan output, sehingga Anda bisa menemukan bug tanpa menjalankan dari awal.
Tidak. Perakitan dan eksekusi terjadi di browser Anda, dan program Anda disimpan di penyimpanan browser ini sehingga masih ada saat Anda kembali.
Gratis, privat, dan siap kapan pun Anda siap.