หากคุณไม่ตัดสินใจที่จะเรียนรู้บิตของการประกอบคุณอาจจะเรียนรู้สิ่งที่ชอบ 6502 ประกอบใน 64 จัตวา (เทิดทูนของหลักสูตร) หรือ 68000 ในเอมิ
คุณสามารถรับความคิดของ Commodore 64 ได้ที่นี่ ...
http://thepiratebay.org/torrent/4609238/Tag3-Saal2-Slot16_00--ID2874-the_ultimate_commodore_64_talk-Main
หนังสือคลาสสิกทุกอย่างที่คุณจำเป็นต้องรู้คือหนังสือที่อธิบายไว้ที่นี่ ...
http://reprog.wordpress.com/2010/03/12/programming-books-part-3-programming-the-commodore-64/
คุณอาจพบสแกน PDF หากมองไปรอบ ๆ
IMO, 6502 นั้นง่ายกว่า Z80 และ 68000 นั้นง่ายกว่า 8086 - ชุดคำสั่งปกติทั่วไป ฯลฯ
แต่ CPU เป็นเพียงส่วนหนึ่งของฮาร์ดแวร์ นอกจากนี้ซีพียูสมัยใหม่ยังเป็นสัตว์ร้ายที่แตกต่างกันอย่างมากและทำสิ่งต่าง ๆ ที่โปร่งใสแม้ในมุมมองของคอมไพเลอร์เช่นการนำเสนอพื้นที่ที่อยู่เสมือน
ข้อดีอย่างหนึ่งของ 6502 ใน C64 คือไม่เพียง แต่เป็นซีพียูแบบง่าย ๆ แต่ยังมีฮาร์ดแวร์ที่แฮ็คได้อย่างง่ายดายอีกด้วย ฉันเคยสนุกกับการเล่นกับชิปเพลง SID
ดังนั้น - มันอาจเป็นการออกกำลังกายที่คุ้มค่าถ้าคุณไม่ใช้เวลากับมันมากเกินไป ฉันเรียนภาษาแอสเซมเบลอร์ 6502 เป็นภาษาที่สองของฉันเมื่อฉันอายุ 14 ปีหลังจาก Commodore Basic แต่ส่วนใหญ่จะเป็นรูปแบบการทำงานที่ง่ายมาก ๆ เพื่อให้คุณสามารถเพิ่มความคิดที่ซับซ้อนมากขึ้นด้วยความเข้าใจผิดขั้นต่ำ
สิ่งที่มีประโยชน์ที่คุณสามารถเรียนรู้การทำงานในแอสเซมเบลอร์ ...
- วิธีการลงทะเบียน CPU ทำงาน
- หน่วยความจำทำงานอย่างไร
- สแตกของ CPU ทำงานอย่างไร
- วิธีการทำงานของ bitwise logic
- วิธีที่ CPU ควบคุมอุปกรณ์ I / O
- การขัดจังหวะทำงานอย่างไร
เหตุผลหนึ่งที่ฉันขอแนะนำให้ทำเพื่อให้ได้สัญชาตญาณที่ดีขึ้นของขั้นตอนง่าย ๆ ที่ดำเนินการอย่างเด็ดขาดและมีกลไกและเต็มที่โดยไม่มีสติปัญญาหรือสามัญสำนึก โดยทั่วไปจะคุ้นเคยกับรูปแบบการดำเนินการที่จำเป็นในรูปแบบที่บริสุทธิ์และไร้ความรู้ที่สุดอย่างดื้อรั้น
ได้อย่างแม่นยำว่ามีประโยชน์ก็คือการรู้ว่าส่วนใหญ่ของสิ่งเหล่านั้นในขณะนี้ แต่เป็นคำถามที่ตอบยาก
สิ่งหนึ่งที่คุณจะไม่เรียนรู้ก็คือวิธีการเล่นที่ดีกับทายาทหน่วยความจำ เครื่องเก่าส่วนใหญ่มีโมเดลหน่วยความจำแบบง่ายที่ไม่มีเลเยอร์ของแคชและไม่มีหน่วยความจำเสมือน คุณยังไม่ได้เรียนรู้มากเกี่ยวกับการทำงานพร้อมกัน - พวกเขามีวิธีจัดการกับมันอย่างแน่นอน แต่มันก็หมายถึงการขัดจังหวะ คุณไม่จำเป็นต้องกังวลกับ mutexes ฯลฯ
บางครั้งแบบจำลองทางจิตของสิ่งเหล่านี้ทำงานครั้งเดียวหรือวิธีการทำงานของแอสเซมเบลอร์สามารถทำให้เข้าใจผิดได้ ตัวอย่างเช่นการคิดถึงตัวชี้ C เป็นที่อยู่อาจทำให้เกิดปัญหาพฤติกรรมที่ไม่ได้กำหนด โดยปกติแล้วตัวชี้ AC จะถูกใช้งานเป็นจำนวนเต็มที่มีที่อยู่ แต่ไม่รับประกันว่าจะเป็นจริงอย่างเคร่งครัด ตัวอย่างเช่นบนแพลตฟอร์มที่แปลกประหลาดตัวชี้ต่าง ๆ อาจชี้ไปที่ช่องว่างที่อยู่ต่างกัน สิ่งนี้มีความสำคัญเมื่อคุณต้องการคำนวณทางคณิตศาสตร์หรือตรรกะระดับบิตทริกเกอร์ด้วยตัวชี้สองตัว
หากคุณไม่มีแพลตฟอร์มที่แปลกประหลาดเหล่านี้คุณอาจไม่คิดว่าคุณใส่ใจเรื่องนั้น - แต่คอมไพเลอร์ในยุคนี้มีแนวโน้มที่จะใช้ประโยชน์จากพฤติกรรมที่ไม่ได้มาตรฐานที่กำหนดไว้เพื่อการปรับให้เหมาะสม
ดังนั้นรูปแบบทางจิตของสถาปัตยกรรมระบบจึงมีประโยชน์ แต่ก็ยังมีความสำคัญที่จะต้องรหัสไปยังข้อมูลจำเพาะของภาษาไม่ใช่รูปแบบสมมุติที่ภาษาและแพลตฟอร์มของคุณอาจไม่เคารพ
ในที่สุดสิ่งที่มีประโยชน์มากมายในแบบจำลองจิตมาจากการทำความเข้าใจว่าคอมไพเลอร์สร้างโค้ดได้อย่างไรและการสร้างโค้ดสำหรับภาษาสมัยใหม่นั้นแตกต่างจากคอมไพเลอร์ตัวเล็ก ๆ ที่มีอยู่ในตอนนั้น
นี่คือหนังสือเล่มโปรดสำหรับฉันที่ ...
http://dickgrune.com/Books/MCD_1st_Edition/
นอกจากเนื้อหาเกี่ยวกับการแจงและ AST ฯลฯ มันครอบคลุมการสร้างโค้ดสำหรับกระบวนทัศน์ทางภาษาที่หลากหลาย - จำเป็น, OOP, การทำงาน, ตรรกะ, ขนานและกระจาย - และสำหรับการจัดการหน่วยความจำ หากคุณต้องการทราบวิธีการเรียกใช้วิธี polymorphic ทำงานโดยไม่ต้องจมลงในรายละเอียดชุดคำสั่ง CPU หนังสือเช่นนี้เป็นเพื่อนของคุณ - และมีรุ่นใหม่ออกมาเร็ว ๆ นี้