เครื่องจำลองตัวนับโปรแกรม
ใช้ป้ายกำกับเช่น loop:, คำสั่งลำดับอย่าง LOAD หรือ ADD, branch เช่น BR label หรือ BR +8 รวมถึง JMP, CALL, RET และ HALT
เครื่องจำลองเพื่อการเรียนรู้นี้กำหนดที่อยู่ให้บรรทัดคำสั่งที่ไม่ว่างแต่ละบรรทัด และติดตามตัวนับโปรแกรม (PC) แบบย่อ ไม่ใช่เครื่องนับบรรทัดโค้ด คำสั่งต้นฉบับ หรือโทเคน และไม่คอมไพล์หรือรันภาษาโปรแกรม
วิธีติดตามรายการคำสั่ง
-
1
กรอกรายการสั้น ๆ
ใช้คำสั่งความยาวคงที่หนึ่งคำสั่งต่อบรรทัด และป้าย ASCII เช่น loop: หากต้องการ
-
2
เลือกรูปแบบที่อยู่
ตั้งที่อยู่เริ่มต้น ขนาดคำสั่ง 1, 2, 4 หรือ 8 ไบต์ ความกว้าง 16/24/32 บิต และรูปแบบแสดงผล
-
3
ตั้งค่าการติดตาม
กำหนดให้ทุก branch ที่รู้จักใช้ตัวเลือกเดียวกันว่าแยกสาขาหรือไม่ เลือก 1–80 ขั้น แล้วตรวจดูการเปลี่ยน PC
แบบจำลองที่รองรับ
| รายการ | การทำงาน |
|---|---|
opcode อื่น เช่น LOAD หรือ ADD |
เดินหน้าตามขนาดคำสั่งคงที่ที่เลือก |
BR, BRA, BRANCH, BEQ, BNE, BGT, BGE, BLT, BLE, BZ, BNZ, JZ, JNZ |
ใช้ตัวเลือกกลางว่าแยกสาขาหรือไม่ |
JMP, JUMP, GOTO |
กระโดดไปยังป้ายหรือที่อยู่ตัวเลข |
CALL, JSR, BL / RET, RETURN |
เก็บ / นำที่อยู่คืนกลับแบบจำลองออก |
HALT, HLT, STOP |
หยุดที่ PC ปัจจุบัน |
เป้าหมายอาจเป็นป้าย ASCII ที่อยู่ฐานสิบ หรือที่อยู่ฐานสิบหกที่ขึ้นต้นด้วย 0x ค่าแบบมีเครื่องหมาย เช่น +8 จะอ้างอิงจาก PC ลำดับถัดไป ส่วนตัวเลขไม่มีเครื่องหมายเป็นที่อยู่สัมบูรณ์ ที่อยู่จะวนตามความกว้างบิตที่เลือก // และ ; เริ่มหมายเหตุ โอเปอแรนด์มีไว้แสดงเท่านั้น
ขีดจำกัดและความเป็นส่วนตัว
- อินพุตถูกตัดที่ 1,800 อักขระ และหยุดแยกวิเคราะห์หลัง 200 คำสั่ง
- การติดตามจำกัด 1–80 ขั้น และ branch แบบมีเงื่อนไขทั้งหมดใช้ตัวเลือกกลางเดียวกัน
- ไม่จำลองรีจิสเตอร์ หน่วยความจำ แฟล็ก pipeline, delay slot, การเข้ารหัส หรือคำสั่งความยาวแปรผัน
- โหมดปกติส่งรายการมายังเว็บไซต์นี้ผ่าน Livewire ส่วนโหมดทีละขั้นใส่รายการใน URL ด้วย อย่าวางโค้ดลับ
คำถามที่พบบ่อย
ไม่ เครื่องมือกำหนดที่อยู่ให้บรรทัดคำสั่งและติดตาม PC โดยไม่นับบรรทัดต้นฉบับ คำสั่ง หรือโทเคน
ไม่ รองรับเพียง opcode ควบคุมทั่วไปกลุ่มเล็ก ๆ ส่วน opcode อื่นแค่เลื่อน PC และไม่ประมวลผลโอเปอแรนด์
นำ offset บวกกับ PC ลำดับถัดไป จาก 0x1000 และคำสั่ง 4 ไบต์ เป้าหมายคือ 0x100C
รายการถูกส่งมายังเว็บไซต์นี้เพื่อแสดงผลด้วย Livewire และอยู่ใน URL เมื่อใช้โหมดทีละขั้น ไม่มี API ภายนอกวิเคราะห์โค้ด แต่ควรหลีกเลี่ยงโค้ดลับ
เครื่องมือที่เกี่ยวข้อง
ตัวลดรูปพีชคณิตบูลีน
ลดรูปนิพจน์บูลีนด้วยแผนผัง Karnaugh และอัลกอริทึม Quine-McCluskey แสดงทุกขั้นตอนการลดรูปและผลลัพธ์สุดท้ายในรูป SOP/POS
เลขฐานสองเป็นฐานสิบ
แปลงเลขฐานสองเป็นฐานสิบได้ทันที แสดงการกระจายตามตำแหน่งเพื่อให้เห็นว่าแต่ละบิตมีส่วนอย่างไร
เครื่องสร้างตัวอักษรสุ่ม
สร้างตัวอักษร A-Z แบบสุ่ม เลือกจำนวน ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก หรือแบบผสม แล้วใช้กับเกม โจทย์ หรือกิจกรรมในห้องเรียน
เครื่องกำเนิดจานสี
สร้างพาเลตสีแบบเอกรงค์ ใกล้เคียง คู่ตรงข้าม ไตรแอดิก หรือเตตราดิกจากสี HEX หลัก พร้อมส่งออกตัวแปร CSS ที่คัดลอกได้ทันที
ตัวแปลงไบนารีเป็น ASCII
วางข้อมูลไบนารี (ไบต์ที่คั่นด้วยช่องว่าง หรือบิตสตรีมยาวๆ) แล้วรับข้อความ ASCII ที่แทนค่านั้น รองรับการเข้ารหัสแบบ 7 บิตและ 8 บิต
เครื่องมือสร้างสีแบบสุ่ม
สร้างสี HEX แบบสุ่ม 1 ถึง 50 สี พร้อมตัวอย่างสีสำหรับดูตัวอย่าง คัดลอก และนำไปใช้ใน CSS งานทดสอบ หรือการสำรวจพาเลตสี.