ฉันกำลังอ่านหนังสือองค์ประกอบของระบบคอมพิวเตอร์: การสร้างคอมพิวเตอร์สมัยใหม่จากหลักการแรกซึ่งมีโครงการที่ครอบคลุมการสร้างคอมพิวเตอร์จากบูลีนเกตจนถึงการใช้งานระดับสูง (ตามลำดับ) โครงการปัจจุบันที่ฉันกำลังทำอยู่กำลังเขียนแอสเซมเบลอร์โดยใช้ภาษาระดับสูงที่ฉันเลือกเพื่อแปลจากรหัสการแฮ็กไปเป็นรหัสเครื่องแฮ็ก (แฮ็คเป็นชื่อของแพลตฟอร์มฮาร์ดแวร์ที่สร้างขึ้นในบทก่อนหน้า) แม้ว่าฮาร์ดแวร์ทั้งหมดจะถูกสร้างขึ้นในเครื่องจำลอง แต่ฉันพยายามที่จะแกล้งทำเป็นว่าฉันกำลังสร้างแต่ละระดับโดยใช้เครื่องมือที่มีให้ฉัน ณ จุดนั้นในกระบวนการจริง
ที่กล่าวว่ามันทำให้ฉันคิด การใช้ภาษาระดับสูงในการเขียนแอสเซมเบลอร์ของฉันนั้นสะดวกมาก แต่สำหรับแอสเซมเบลอร์แรกที่เคยเขียน (เช่นในประวัติศาสตร์) มันไม่จำเป็นต้องเขียนในรหัสเครื่องเนื่องจากเป็นสิ่งที่มีอยู่ในเวลานั้นหรือไม่?
และคำถามที่มีความสัมพันธ์ ... แล้ววันนี้ล่ะ ถ้าสถาปัตยกรรม CPU ใหม่เอี่ยมออกมาพร้อมชุดคำสั่งใหม่และไวยากรณ์แอสเซมบลีใหม่เอี่ยมแอสเซมเบลอร์จะสร้างขึ้นได้อย่างไร ฉันสมมติว่าคุณยังคงสามารถใช้ภาษาระดับสูงที่มีอยู่เพื่อสร้างไบนารีสำหรับโปรแกรมแอสเซมเบลอร์เพราะถ้าคุณรู้ไวยากรณ์ของทั้งแอสเซมบลีและภาษาเครื่องสำหรับแพลตฟอร์มใหม่ของคุณแล้วงานเขียนแอสเซมเบลอร์ งานวิเคราะห์ข้อความและไม่เกี่ยวข้องโดยธรรมชาติกับแพลตฟอร์มนั้น (เช่นจำเป็นต้องเขียนในภาษาเครื่องของแพลตฟอร์มนั้น) ... ซึ่งเป็นเหตุผลที่ฉันสามารถ "โกง" ในขณะที่เขียนแอสเซมเบลอร์แฮ็คของฉันในปี 2012 และใช้มาก่อน ภาษาระดับสูงเพื่อช่วยฉัน