Nano Banana 2.1 มาแล้ว — ล่าสุดจาก Google | ลองเลย →
เข้าสู่ระบบ
WAVESPEED AI RISC-V SIMULATOR โค้ดของคุณอยู่บนอุปกรณ์ของคุณ
100% ฟรี

ซิมูเลเตอร์ RISC-V ฟรีเขียนแอสเซมบลี รัน และดูทุกรีจิสเตอร์

พิมพ์แอสเซมบลี RV32IM พร้อมเลเบลและคำสั่งเทียม แล้วรันด้วยความเร็วเต็มหรือทีละคำสั่ง
ตั้ง breakpoint ย้อนกลับ และดูรีจิสเตอร์ หน่วยความจำ รหัสเครื่อง และคอนโซลขณะโปรแกรมทำงาน

RV32I + Mย้อนกลับและ breakpointรหัสเครื่องเป็น hex
ไม่ต้องสมัครสมาชิก ทำงานในเบราว์เซอร์ของคุณ ไม่ต้องติดตั้งอะไร

กำลังโหลดซิมูเลเตอร์ RISC-V…

โปรแกรมของคุณถูกบันทึกในเบราว์เซอร์นี้ ดาวน์โหลดเพื่อเก็บสำเนา
ง่ายๆ เพียงสามขั้นตอน

วิธีรันแอสเซมบลี RISC-V ออนไลน์

01

เขียนหรือเปิดโปรแกรม

เริ่มจากตัวอย่าง พิมพ์แอสเซมบลีของคุณเอง หรือเปิดไฟล์ .s ใส่ข้อมูลไว้ใต้ .data และโค้ดไว้ใต้ .text

02

รันหรือไล่ทีละขั้น

กด Run เพื่อรันด้วยความเร็วเต็ม หรือ Step เพื่อรันหนึ่งคำสั่งและดูว่ารีจิสเตอร์และหน่วยความจำใดเปลี่ยน คลิกข้างหมายเลขบรรทัดเพื่อตั้ง breakpoint

03

อ่านผลลัพธ์

เอาต์พุตและอินพุตเกิดขึ้นในคอนโซล ตรวจรีจิสเตอร์และหน่วยความจำ ย้อนกลับเพื่อหาจุดที่ผิดพลาด และคัดลอกรหัสเครื่องเป็น hex

เคล็ดลับการดีบักแอสเซมบลี

ย้อนกลับแทนการเริ่มใหม่

เลยไปหนึ่งขั้น? การย้อนกลับจะยกเลิกคำสั่งล่าสุด รวมถึงรีจิสเตอร์ หน่วยความจำ และเอาต์พุต คุณจึงดูใหม่ได้โดยไม่ต้องรันจากต้น

บันทึก ra ก่อน call

call เขียนทับ ra ฟังก์ชันที่เรียกฟังก์ชันอื่นต้องบันทึก ra ลงสแตกก่อนและคืนค่าก่อน ret เหมือนในตัวอย่างแฟกทอเรียล

ดูคอลัมน์จำนวนครั้ง

แท็บรหัสเครื่องนับว่าแต่ละคำสั่งรันกี่ครั้ง ตัวลูปที่รันเกินไปหนึ่งครั้งหรือไม่เคยรันเลยชี้ตรงไปที่ branch ที่ผิด

WaveSpeed AI

จากโค้ดสู่ภาพ

ต้องการภาพประกอบการออกแบบโปรเซสเซอร์หรือคลิปสำหรับรายวิชาหรือไม่ สร้างได้ด้วย WaveSpeed AI

  • โมเดล AI กว่า 1,000 รายการ
  • ภาพ วิดีโอ และ 3D
  • จ่ายตามการใช้งาน

เครดิตฟรี $1 สำหรับบัญชีใหม่ที่มีสิทธิ์ ไม่ต้องใช้บัตร เครื่องมือสร้างต้องใช้บัญชีและเครดิตแยกต่างหาก ส่วนซิมูเลเตอร์ RISC-Vใช้ฟรี

คำถามที่พบบ่อยเกี่ยวกับซิมูเลเตอร์ RISC-V

ซิมูเลเตอร์ RISC-V นี้ใช้ฟรีหรือไม่

ใช่ ซิมูเลเตอร์ RISC-V ออนไลน์นี้ใช้ฟรี ไม่ต้องมีบัญชี ไม่จำกัดจำนวนครั้งที่รัน และไม่ต้องติดตั้งอะไร

รองรับคำสั่งใดบ้าง

ชุดคำสั่งจำนวนเต็มพื้นฐาน 32 บิต (RV32I) ส่วนขยาย M สำหรับการคูณ หาร และหาเศษ และการอ่านตัวนับ cycle, time และ instret ซึ่งเป็นชุดคำสั่งหลักที่สอนในวิชาสถาปัตยกรรมคอมพิวเตอร์และแอสเซมบลี

โปรแกรมจากรายวิชาของฉันจะรันที่นี่ได้หรือไม่

ส่วนใหญ่ได้ โค้ดเริ่มที่ 0x00400000 และข้อมูลที่ 0x10010000 และ system call ใช้หมายเลขเดียวกัน (a7 = 1 พิมพ์จำนวนเต็ม, 4 พิมพ์สตริง, 5 อ่านจำนวนเต็ม, 10 ออก เป็นต้น) กับซิมูเลเตอร์ที่ใช้สอนทั่วไป แท็บอ้างอิงแสดงไว้ทั้งหมด

จะพิมพ์และอ่านอินพุตได้อย่างไร

ใส่หมายเลข call ใน a7 และอาร์กิวเมนต์ใน a0 แล้วรัน ecall เมื่อโปรแกรมอ่าน คอนโซลจะขออินพุต: พิมพ์แล้วกด Enter คุณยังพิมพ์ล่วงหน้าก่อนที่โปรแกรมจะขอได้ด้วย

นับรอบอย่างไร

จำนวนคำสั่งเป็นค่าที่แน่นอน จำนวนรอบเป็นค่าประมาณสำหรับคอร์แบบ in-order อย่างง่าย: 1 รอบต่อคำสั่ง 2 ต่อการโหลด 3 ต่อการกระโดดหรือ branch ที่เกิดขึ้น 3 ต่อการคูณ และ 33 ต่อการหาร

ได้รหัสเครื่องหรือไม่

ได้ แท็บรหัสเครื่องแสดงแอดเดรส เวิร์ด hex และรูปแบบที่ถอดรหัสแล้วของทุกคำสั่ง คัดลอกเป็น hex บรรทัดละหนึ่งเวิร์ด หรือดาวน์โหลดไฟล์ .hex หรือ .bin ดิบ

ทำไมโปรแกรมของฉันหยุดด้วย misaligned access

เวิร์ดต้องอ่านและเขียนที่แอดเดรสที่เป็นผลคูณของ 4 และฮาล์ฟเวิร์ดที่ผลคูณของ 2 ใส่ .align 2 ก่อนข้อมูลแบบเวิร์ด หรือตรวจแอดเดรสที่คำนวณ ข้อความแสดงข้อผิดพลาดจะระบุแอดเดรสและบรรทัด

ย้อนกลับได้หรือไม่

ได้ การย้อนกลับยกเลิกได้สูงสุด 4,096 คำสั่งล่าสุด รวมถึงรีจิสเตอร์ หน่วยความจำ และเอาต์พุต คุณจึงหาบั๊กได้โดยไม่ต้องรันจากต้น

โค้ดของฉันถูกอัปโหลดหรือไม่

ไม่ การแอสเซมเบิลและการรันเกิดขึ้นในเบราว์เซอร์ และโปรแกรมของคุณถูกบันทึกในพื้นที่จัดเก็บของเบราว์เซอร์นี้ ครั้งหน้าจึงยังอยู่

เครื่องมือฟรีทั้งหมด

รันโปรแกรม RISC-V ถัดไปของคุณ

ฟรี เป็นส่วนตัว และพร้อมเมื่อคุณพร้อม

เปิดซิมูเลเตอร์