Nano Banana 2.1 มาแล้ว — ล่าสุดจาก Google | ลองเลย →
เข้าสู่ระบบ
WAVESPEED AI 6502 EMULATOR ทำงานในเบราว์เซอร์ของคุณ
100% ฟรี

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

พิมพ์แอสเซมบลี 6502 แล้วกด Run: โค้ดจะถูกแอสเซมเบิลและรันบนหน้าจอสี 32×32 พร้อมอินพุตจากคีย์บอร์ด
ไล่ทีละคำสั่ง ตั้ง breakpoint และดูรีจิสเตอร์ แฟล็ก และหน่วยความจำเปลี่ยนแปลง

แอสเซมเบลอร์ในตัวทีละขั้นและ breakpointSnake และอีก 7 ตัวอย่าง
ไม่ต้องสมัครสมาชิก ไม่ต้องติดตั้งอะไร ใช้งานออฟไลน์ได้

กำลังโหลดอีมูเลเตอร์…

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

วิธีใช้อีมูเลเตอร์ 6502

01

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

พิมพ์แอสเซมบลี 6502 ในตัวแก้ไข หรือเลือกตัวอย่าง เช่น Snake แถบสี หรือเดโมคณิตศาสตร์ โปรแกรมเริ่มที่ $0600

02

รัน

กด Run (หรือ Ctrl/⌘+Enter) โค้ดจะถูกแอสเซมเบิล ข้อผิดพลาดจะแสดงพร้อมหมายเลขบรรทัด คลิกหน้าจอเพื่อส่งปุ่มไปยังโปรแกรม

03

ดีบัก

หยุดชั่วคราว ไล่ทีละคำสั่ง และคลิกหมายเลขบรรทัดเพื่อตั้ง breakpoint ดูรีจิสเตอร์ แฟล็ก หน่วยความจำ และ disassembly ขณะทำงาน

เรียนรู้ 6502

เคล็ดลับ 6502 สำหรับมือใหม่

6502 มีรีจิสเตอร์ 8 บิตสามตัว สแตก 256 ไบต์ และโหมดการอ้างแอดเดรสไม่กี่แบบ แนวคิดเหล่านี้จะพาคุณไปได้ไกล

หน้าจอคือหน่วยความจำ

แต่ละไบต์ตั้งแต่ $0200 ถึง $05FF คือหนึ่งพิกเซล แถวละ 32 พิกเซล STA $0200 ระบายสีพิกเซลมุมซ้ายบน บวก $20 เพื่อเลื่อนลงหนึ่งแถว

Zero page เร็วกว่า

แอดเดรส $00–$FF ใช้หนึ่งไบต์ในการระบุและอ่านเร็วกว่าหนึ่งรอบ เก็บตัวนับและพอยน์เตอร์ไว้ที่นั่น

พอยน์เตอร์ใช้ (zp),Y

เก็บแอดเดรส 16 บิตในสองไบต์ของ zero page โดยไบต์ต่ำก่อน จากนั้น LDA ($10),Y จะอ่านจากแอดเดรสนั้นบวก Y ตัวอย่าง Snake และลวดลายใช้วิธีนี้ไล่ไปบนหน้าจอ

ตั้ง carry ก่อนคำนวณ

ADC บวก carry ด้วย จึงควรเริ่มการบวกด้วย CLC และการลบด้วย SEC คำสั่ง branch อย่าง BCC และ BCS จะทดสอบ carry ภายหลัง

โหมดฐานสิบ

หลัง SED คำสั่ง ADC และ SBC จะนับแบบฐานสิบ: $58 + $46 ได้ $04 พร้อมตั้ง carry (104) สะดวกสำหรับคะแนน ปิดอีกครั้งด้วย CLD

อ่านแฟล็ก

ทุกคำสั่งโหลดและคำนวณจะอัปเดต N และ Z ไล่ลูปทีละขั้นแล้วดูแฟล็กเปลี่ยนก่อนถึง branch ที่ทดสอบมัน

WaveSpeed AI

สร้างงานศิลป์สำหรับโปรเจกต์เรโทรของคุณ

สร้างสไปรต์พิกเซลอาร์ต หน้าจอไตเติล และคลิปสั้นสำหรับเกมและเดโมของคุณจากพรอมต์ด้วย WaveSpeed AI

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

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

คำถามที่พบบ่อยเกี่ยวกับอีมูเลเตอร์ 6502

อีมูเลเตอร์ 6502 นี้ใช้ฟรีหรือไม่

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

จำลอง 6502 รุ่นใด

NMOS 6502 ดั้งเดิมพร้อมคำสั่งที่มีเอกสารทั้ง 151 คำสั่ง โหมด BCD พร้อมพฤติกรรมแฟล็กแบบ NMOS บั๊กหน้า JMP ($xxFF) และจำนวนรอบตามเอกสาร รวมถึงรอบเพิ่มเมื่อข้ามหน้าและ branch

แม่นยำแค่ไหน

ผ่านโปรแกรมทดสอบการทำงาน 6502 ที่ใช้กันแพร่หลาย และกรณีทดสอบคำสั่งเดี่ยว 1.5 ล้านกรณีที่ตรวจรีจิสเตอร์ แฟล็ก หน่วยความจำ และจำนวนรอบ

ผังหน่วยความจำเป็นอย่างไร

RAM 64 KB หน้าจอคือ $0200–$05FF (หนึ่งไบต์ต่อพิกเซล 16 สี) การอ่าน $FE ให้ไบต์สุ่มใหม่ $FF เก็บปุ่มล่าสุดที่คุณกด และโปรแกรมโหลดที่ $0600 โปรแกรมที่เขียนสำหรับบทเรียน 6502 สำหรับมือใหม่ยอดนิยมที่ใช้ผังนี้จะรันได้โดยไม่ต้องแก้

จะส่งปุ่มไปยังโปรแกรมได้อย่างไร

คลิกหรือแตะหน้าจอ แล้วพิมพ์: รหัส ASCII ของปุ่มจะไปที่ $FF ปุ่มลูกศรและลูกศรบนหน้าจอจะส่ง w, a, s และ d ซึ่งตัวอย่าง Snake และ Paint ใช้

รองรับไวยากรณ์แอสเซมเบลอร์แบบใด

เลเบล (loop: หรือคำที่ต้นบรรทัด) ค่าคงที่ (define name value หรือ name = value), *= หรือ .org, .byte/dcb, .word, .text, .asciiz และ .res ตัวเลขฐานสิบหก ($FF) ฐานสอง (%1010) ฐานสิบ และตัวอักษร ('A') การคำนวณ และ < กับ > สำหรับไบต์ต่ำและไบต์สูง ค่าที่ต่ำกว่า $100 ใช้ zero page เขียน $00FF เพื่อบังคับรูปแบบ absolute

breakpoint และการไล่ทีละขั้นทำงานอย่างไร

คลิกหมายเลขบรรทัด (หรือกด F9 บนบรรทัด) เพื่อตั้ง breakpoint Run จะหยุดก่อนคำสั่งนั้น Step (F10) รันหนึ่งคำสั่งและไฮไลต์บรรทัดของมัน รีจิสเตอร์ แฟล็ก หน่วยความจำ และ disassembly จะอัปเดตทุกครั้งที่หยุด จึงเป็นวิธีที่ดีในการเรียนแอสเซมบลี 6502

บันทึกหรือแชร์โปรแกรมได้หรือไม่

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

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

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

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

รันโปรแกรม 6502 แรกของคุณ

ฟรี ในเบราว์เซอร์ พร้อมดีบักเกอร์

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