เครื่องจำลองตัวนับโปรแกรม

ร่องรอย PC

ใช้ป้ายกำกับเช่น loop:, คำสั่งลำดับอย่าง LOAD หรือ ADD, branch เช่น BR label หรือ BR +8 รวมถึง JMP, CALL, RET และ HALT

เครื่องจำลองเพื่อการเรียนรู้นี้กำหนดที่อยู่ให้บรรทัดคำสั่งที่ไม่ว่างแต่ละบรรทัด และติดตามตัวนับโปรแกรม (PC) แบบย่อ ไม่ใช่เครื่องนับบรรทัดโค้ด คำสั่งต้นฉบับ หรือโทเคน และไม่คอมไพล์หรือรันภาษาโปรแกรม

วิธีติดตามรายการคำสั่ง

  1. 1

    กรอกรายการสั้น ๆ

    ใช้คำสั่งความยาวคงที่หนึ่งคำสั่งต่อบรรทัด และป้าย ASCII เช่น loop: หากต้องการ

  2. 2

    เลือกรูปแบบที่อยู่

    ตั้งที่อยู่เริ่มต้น ขนาดคำสั่ง 1, 2, 4 หรือ 8 ไบต์ ความกว้าง 16/24/32 บิต และรูปแบบแสดงผล

  3. 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 งานทดสอบ หรือการสำรวจพาเลตสี.