Little Man Computer (LMC) เป็นระบบไมโครโปรเซสเซอร์และคอมพิวเตอร์ที่เรียบง่ายซึ่งออกแบบมาเพื่อการสอนการเขียนโปรแกรมการประกอบเบื้องต้น เพื่อให้สิ่งต่าง ๆ ง่ายขึ้น มันไม่ได้แสดงเป็นคอมพิวเตอร์ไบนารี แต่เป็นทศนิยม ประกอบด้วยเซลล์หน่วยความจำ 100 เซลล์ หมายเลขตั้งแต่ 0-99 คุณสามารถวางคำแนะนำและข้อมูลโปรแกรมได้ที่นี่
แต่ละเซลล์สามารถมีเลขทศนิยม 3 หลักได้ ที่นี่เราสามารถจัดเก็บคำสั่งให้คอมพิวเตอร์ดำเนินการหรือข้อมูลเพื่อดำเนินการได้ CPU มีตัวสะสมเพียงตัวเดียวซึ่งใช้ในการคำนวณทางคณิตศาสตร์ นอกจากนี้ยังมีอินพุตและเอาต์พุตที่คุณสามารถอ่านอินพุตของผู้ใช้และเขียนเอาต์พุตไปยังผู้ใช้ได้
ต่อไปนี้เป็นภาพรวมอย่างง่ายของชุดคำสั่ง แต่ละคำสั่งเป็นเพียงตัวเลข 3 หลักเท่านั้น แต่โดยปกติแล้วเมื่อการเขียนโปรแกรมเกี่ยวข้องกับตัวย่อตัวอักษรซึ่งง่ายต่อการจดจำ นี่คือเคล็ดลับในการอ่านคำอธิบายด้านล่าง เช่นคำสั่ง Add
อธิบายว่ามีหมายเลข 1xx
ความหมายจริงๆ ก็คือ xx
เป็นที่ที่คุณใส่ตัวถูกดำเนินการ (อาร์กิวเมนต์) ดังนั้น 142
จึงเป็นคำสั่งสำหรับการเพิ่มเนื้อหาของเซลล์หน่วยความจำ 42 ลงในเนื้อหาของตัวสะสม
ADD
1xx เพิ่มเนื้อหาตามที่อยู่ xx
ในหน่วยความจำเพื่อสะสมSUB
2xx ลบเนื้อหาของที่อยู่ xx
จากสิ่งที่เก็บไว้ในตัวสะสม เก็บผลแบบสะสมSTA
3xx เก็บตัวสะสมไว้ที่ที่อยู่ xx
ในหน่วยความจำLDA
5xx พร้อมเนื้อหาตามที่อยู่ xx
ในหน่วยความจำBRA
6xx ข้ามไปยังตำแหน่ง xx
ในโปรแกรมBRZ
7xx กระโดดถ้าตัวสะสมเป็นศูนย์BRP
8xx กระโดดหากตัวสะสมเป็นศูนย์หรือสูงกว่า (บวก)INP
901 เติมตัวสะสมพร้อมตัวเลขจากอินพุตOUT
902 ดันค่าในตัวสะสมเข้าสู่คิวเอาท์พุตHLT
000 ในโฟลเดอร์ตัวอย่าง คุณจะพบตัวอย่างโปรแกรมเพิ่มเติม นี่คือตัวอย่างของโปรแกรมที่อ่านตัวเลขจากอินพุตแล้วนับถอยหลัง ดังนั้นถ้ามันอ่าน 4 ที่อินพุต มันจะเขียน 4, 3, 2, 1 และ 0 ที่เอาต์พุต
INP
OUT
LOOP BRZ QUIT // Jump to QUIT if accumulator is 0
SUB ONE // Subtract from accumulator what is stored in ONE
OUT
BRA LOOP // Jump (unconditionally) to the memory address labeled LOOP
QUIT HLT // Label this memory address as QUIT
ONE DAT 1 // Store 1 in this memory address.
คุณสามารถนำโปรแกรมที่เขียนตามตัวอย่างมาเก็บไว้ในไฟล์และตั้งชื่อไฟล์นั้นให้กับฟังก์ชัน assemble(file)
ซึ่งจะสร้างรายการจำนวนเต็ม 3 หลักที่แสดงถึงโปรแกรมและข้อมูลของคุณ คุณสามารถป้อนสิ่งนี้ให้กับฟังก์ชัน simulate!(program, inputs)
เพื่อรันโปรแกรมของคุณ มันจะดัมพ์เอาท์พุต
หรือคุณสามารถคัดลอกและวางโค้ดลงในตัวจำลอง LMC บนเว็บตัวใดตัวหนึ่งตามที่อธิบายไว้ด้านล่าง
คุณสามารถค้นหาตัวจำลองที่ใช้เบราว์เซอร์หลายตัวสำหรับ LMC CPU ออนไลน์ ที่ซึ่งคุณสามารถศึกษาโปรแกรมต่างๆ และรับชมถ่ายทอดสดว่าคอมพิวเตอร์เสมือนทำงานอย่างไร
มีหลายเกมที่คุณสามารถเล่นได้โดยอิงจากแนวคิด LMC ที่แตกต่างกันเล็กน้อย นี่อาจเป็นวิธีที่ดีในการให้เด็กๆ มีส่วนร่วมในการเรียนรู้การเขียนโปรแกรม