เขียนหรือเปิดโปรแกรม
เริ่มจากตัวอย่าง พิมพ์แอสเซมบลีของคุณเอง หรือเปิดไฟล์ .s ใส่ข้อมูลไว้ใต้ .data และโค้ดไว้ใต้ .text
พิมพ์แอสเซมบลี RV32IM พร้อมเลเบลและคำสั่งเทียม แล้วรันด้วยความเร็วเต็มหรือทีละคำสั่ง
ตั้ง breakpoint ย้อนกลับ และดูรีจิสเตอร์ หน่วยความจำ รหัสเครื่อง และคอนโซลขณะโปรแกรมทำงาน
กำลังโหลดซิมูเลเตอร์ RISC-V…
เริ่มจากตัวอย่าง พิมพ์แอสเซมบลีของคุณเอง หรือเปิดไฟล์ .s ใส่ข้อมูลไว้ใต้ .data และโค้ดไว้ใต้ .text
กด Run เพื่อรันด้วยความเร็วเต็ม หรือ Step เพื่อรันหนึ่งคำสั่งและดูว่ารีจิสเตอร์และหน่วยความจำใดเปลี่ยน คลิกข้างหมายเลขบรรทัดเพื่อตั้ง breakpoint
เอาต์พุตและอินพุตเกิดขึ้นในคอนโซล ตรวจรีจิสเตอร์และหน่วยความจำ ย้อนกลับเพื่อหาจุดที่ผิดพลาด และคัดลอกรหัสเครื่องเป็น hex
เลยไปหนึ่งขั้น? การย้อนกลับจะยกเลิกคำสั่งล่าสุด รวมถึงรีจิสเตอร์ หน่วยความจำ และเอาต์พุต คุณจึงดูใหม่ได้โดยไม่ต้องรันจากต้น
call เขียนทับ ra ฟังก์ชันที่เรียกฟังก์ชันอื่นต้องบันทึก ra ลงสแตกก่อนและคืนค่าก่อน ret เหมือนในตัวอย่างแฟกทอเรียล
แท็บรหัสเครื่องนับว่าแต่ละคำสั่งรันกี่ครั้ง ตัวลูปที่รันเกินไปหนึ่งครั้งหรือไม่เคยรันเลยชี้ตรงไปที่ branch ที่ผิด
ต้องการภาพประกอบการออกแบบโปรเซสเซอร์หรือคลิปสำหรับรายวิชาหรือไม่ สร้างได้ด้วย WaveSpeed AI
สร้างภาพประกอบแบบไดอะแกรมและปกสำหรับสไลด์และรายงานแล็บ
เปลี่ยนไอเดียเป็นคลิปอธิบายสั้นๆ สำหรับชั้นเรียน
เปลี่ยนภาพร่างบอร์ดหรือแพ็กเกจชิปเป็นโมเดล 3D
เครดิตฟรี $1 สำหรับบัญชีใหม่ที่มีสิทธิ์ ไม่ต้องใช้บัตร เครื่องมือสร้างต้องใช้บัญชีและเครดิตแยกต่างหาก ส่วนซิมูเลเตอร์ 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 ดิบ
เวิร์ดต้องอ่านและเขียนที่แอดเดรสที่เป็นผลคูณของ 4 และฮาล์ฟเวิร์ดที่ผลคูณของ 2 ใส่ .align 2 ก่อนข้อมูลแบบเวิร์ด หรือตรวจแอดเดรสที่คำนวณ ข้อความแสดงข้อผิดพลาดจะระบุแอดเดรสและบรรทัด
ได้ การย้อนกลับยกเลิกได้สูงสุด 4,096 คำสั่งล่าสุด รวมถึงรีจิสเตอร์ หน่วยความจำ และเอาต์พุต คุณจึงหาบั๊กได้โดยไม่ต้องรันจากต้น
ไม่ การแอสเซมเบิลและการรันเกิดขึ้นในเบราว์เซอร์ และโปรแกรมของคุณถูกบันทึกในพื้นที่จัดเก็บของเบราว์เซอร์นี้ ครั้งหน้าจึงยังอยู่
ฟรี เป็นส่วนตัว และพร้อมเมื่อคุณพร้อม