เครื่องจำลองตัวนับโปรแกรม
ใช้ป้ายกำกับเช่น 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, การเข้ารหัส หรือคำสั่งความยาวแปรผัน
- โหมดปกติส่งรายการมายังเซิร์ฟเวอร์ของเว็บไซต์นี้ ส่วนโหมดทีละขั้นใส่รายการใน URL ด้วย อย่าวางโค้ดลับ
คำถามที่พบบ่อย
ไม่ เครื่องมือกำหนดที่อยู่ให้บรรทัดคำสั่งและติดตาม PC โดยไม่นับบรรทัดต้นฉบับ คำสั่ง หรือโทเคน
ไม่ รองรับเพียง opcode ควบคุมทั่วไปกลุ่มเล็ก ๆ ส่วน opcode อื่นแค่เลื่อน PC และไม่ประมวลผลโอเปอแรนด์
นำ offset บวกกับ PC ลำดับถัดไป จาก 0x1000 และคำสั่ง 4 ไบต์ เป้าหมายคือ 0x100C
รายการถูกส่งมายังเว็บไซต์นี้เพื่อแสดงผลด้วย เซิร์ฟเวอร์ของเรา และอยู่ใน URL เมื่อใช้โหมดทีละขั้น ไม่มี API ภายนอกวิเคราะห์โค้ด แต่ควรหลีกเลี่ยงโค้ดลับ
เครื่องมือที่เกี่ยวข้อง
ตารางอ้างอิง ASCII
ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL
อ้างอิงตัวอักษร HTML
รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ
ตารางอ้างอิงแป้นพิมพ์ลัด
ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux
ตัวตรวจสอบอีเมล
ตรวจสอบที่อยู่อีเมล: ตรวจไวยากรณ์ RFC 5322 ค้นหา MX เรกคอร์ดแบบเรียลไทม์ พร้อมรายละเอียดส่วนท้องถิ่น โดเมน และความยาว ไม่มีการส่งอีเมลใด ๆ
เครื่องมือสร้าง EditorConfig
สร้างไฟล์ .editorconfig จากกฎการเยื้อง การจบบรรทัด และชุดอักขระของคุณ แล้วเพิ่มเซกชันที่ถูกต้องให้ทุกภาษาในรีโพซิทอรี ทั้ง Python, Go, YAML, Makefile และอื่น ๆ
ตัวลดรูปพีชคณิตบูลีน
ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^
เครื่องมือนี้มีให้บริการในภาษาอื่น
- Simulador del contador de programa [ES]
- プログラムカウンターシミュレーター [JA]
- Simulador de contador de programa [PT]
- 프로그램 카운터 시뮬레이터 [KO]
- Simulateur de compteur de programme [FR]
- Simulator för programräknare [SV]
- Trình mô phỏng bộ đếm chương trình [VI]
- محاكي عدّاد البرنامج [AR]
- Programmatellersimulator [NL]
- Simulator program counter [ID]
- Programmzähler-Simulator [DE]
- Symulator licznika rozkazów [PL]
- Program Counter Simulator [EN]
- Simulatore del program counter [IT]
- Симулятор счётчика команд [RU]
- Program sayacı simülatörü [TR]
- 程序计数器模拟器 [ZH]