อ่าน 2 นาที
การตั้งโปรแกรมการกดแป้นพิมพ์
การเขียน โปรแกรมด้วยการกดแป้นพิมพ์หมายถึงวิธีการเขียนโปรแกรมเฉพาะวิธีหนึ่ง โดยที่การกดแป้นพิมพ์แต่ละครั้งบนอุปกรณ์หรือแอปพลิเคชันจะถูกบันทึกด้วยวิธีใดวิธีหนึ่ง
การตั้งโปรแกรมการกดแป้นพิมพ์
การเขียน โปรแกรมด้วยการกดแป้นพิมพ์หมายถึงวิธีการเขียนโปรแกรมเฉพาะวิธีหนึ่ง โดยที่การกดแป้นพิมพ์แต่ละครั้งบนอุปกรณ์หรือแอปพลิเคชันจะถูกบันทึกด้วยวิธีใดวิธีหนึ่ง แล้วจึงเล่นซ้ำเพื่อให้สามารถกดแป้นพิมพ์ที่บันทึกไว้ได้หลายครั้ง การเขียนโปรแกรมด้วยการกดแป้นพิมพ์มักพบได้บ่อยที่สุด แต่ก็ไม่ได้พบเฉพาะในเครื่องคิดเลขที่ตั้งโปรแกรมได้ เท่านั้น —ยังมีแอปพลิเคชันซอฟต์แวร์ที่ตั้งโปรแกรมด้วยการกดแป้นพิมพ์ ได้อีกด้วย เช่นVim [ 1 ]
ตัวอย่างเครื่องคิดเลข TI

เครื่องคิดเลข Texas Instruments รุ่น TI-58/TI-58C/TI-59สามารถตั้งโปรแกรมได้ และการจัดเก็บโปรแกรมจะอยู่ในรูปแบบของลำดับรหัสซึ่ง (ส่วนใหญ่) สอดคล้องกับตำแหน่งของปุ่มบนแป้นพิมพ์ของเครื่องคิดเลข นี่คือแผนภาพแบบง่ายของเค้าโครงปุ่มพื้นฐาน:
| x 1 | x 2 | x 3 | x 4 | x 5 | |
|---|---|---|---|---|---|
| 1 x | เอ | บี | ซี | ดี | อี |
| 2 x | อันดับที่ 2 | อินวี | ln x | ซีอี | ซีแอลอาร์ |
| 3 x | LRN | x ⇌t | x 2 | √ x | 1/ x |
| 4 x | เอสเอสที | สโต | อาร์ซีแอล | ผลรวม | y x |
| 5 x | บีเอสที | อีอี | ( | ) | ÷ |
| 6 x | จีทีโอ | 7 | 8 | 9 | × |
| 7 x | เอสบีอาร์ | 4 | 5 | 6 | − |
| 8 x | อาร์เอสที | 1 | 2 | 3 | + |
| 9 x | อาร์/เอส | 0 | . | +/− | = |
แต่ละปุ่มจะได้รับรหัสสองหลัก โดยสำหรับปุ่มส่วนใหญ่ (แต่ไม่ใช่ทั้งหมด) หลักสิบจะมาจากหมายเลขแถว (ตามที่ระบุไว้ทางด้านซ้ายของตาราง) และหลักหน่วยจะมาจากหมายเลขคอลัมน์ (ตามที่ระบุไว้ทางด้านบนของตาราง)
ทีนี้ลองพิจารณาโปรแกรมง่ายๆ โปรแกรมหนึ่ง ซึ่งจะบวก 2 เข้ากับตัวเลขที่แสดงอยู่ แล้วจึงหยุดทำงาน โปรแกรมนี้เริ่มต้นที่ตำแหน่งโปรแกรม 000 และมีลักษณะดังนี้:
| ที่ตั้ง | สารบัญ | ความหมาย | ความคิดเห็น |
|---|---|---|---|
| 000 | 85 | + | |
| 001 | 02 | 2 | |
| 002 | 95 | = | คำนวณผลลัพธ์ |
| 003 | 91 | อาร์/เอส | หยุดโปรแกรม |
ในการใช้โปรแกรมนี้ คุณจะต้องป้อนตัวเลขnที่ต้องการประมวลผล กดปุ่มRSTเพื่อให้แน่ใจว่าตำแหน่งปัจจุบันของโปรแกรมคือ 000 จากนั้นกดปุ่มR/Sเพื่อเริ่มการทำงาน เมื่อโปรแกรมหยุดทำงาน (ซึ่งควรจะเกิดขึ้นค่อนข้างเร็วสำหรับโปรแกรมที่เรียบง่ายเช่นนี้) หน้าจอจะแสดงตัวเลขn + 2
คุณจะเห็นว่ารหัส 85, 95 และ 91 ตรงกับตำแหน่งของปุ่มที่มีป้ายกำกับ + , = และR/Sบนตารางด้านบน แต่รหัสสำหรับเลข 2 ไม่ใช่ 83 อย่างที่คุณคาดหวังจากตำแหน่งในตาราง แต่เป็น 02 รหัสสุดท้ายนี้ถูกเลือกเพื่อ ให้ มนุษย์เข้าใจได้ง่ายขึ้นเมื่อพยายามอ่านโปรแกรม เนื่องจากไม่มีแถวที่ 0 จึงใช้รหัส 00 .. 09 แทนปุ่ม 0 .. 9
การตีความที่ขึ้นอยู่กับบริบท
เครื่องคิดเลข TI เหล่านี้อนุญาตให้เข้าถึงตำแหน่งหน่วยความจำข้อมูลได้สูงสุด 100 ตำแหน่ง โดยมีหมายเลขตั้งแต่ 00 ถึง 99 (บางรุ่นอาจมีขีดจำกัดต่ำกว่านี้) ลำดับการกดปุ่มเช่นSTO 4 2 (เก็บตัวเลขที่แสดงอยู่ในปัจจุบันลงในหน่วยความจำ 42) จะถูกเข้ารหัสเป็น 42 42 ในกรณีนี้ 42 ตัวแรกคือรหัสปุ่มสำหรับ ปุ่ม STOแต่ 42 ตัวที่สองไม่ใช่รหัสปุ่ม แต่เป็นหมายเลขรีจิสเตอร์หน่วยความจำ เครื่องคิดเลขจะตีความเช่นนั้นเพราะนั่นคือสิ่งที่ต้องตามหลังรหัสสำหรับปุ่ม STO
ที่อยู่ของโปรแกรมมี 3 หลัก ซึ่งอาจทำให้โปรแกรมประกอบด้วยขั้นตอนได้มากถึง 1000 ขั้นตอน โดยมีหมายเลขตั้งแต่ 000 ถึง 999 (แม้ว่าในความเป็นจริงแล้วไม่มีรุ่นใดที่ผลิตออกมารองรับจำนวนสูงสุดนี้ได้) คำสั่งกระโดด เช่นGTO 3 4 5 (กระโดดไปยังตำแหน่ง 345 โดยไม่มีเงื่อนไข) จะถูกเข้ารหัสเป็น 61 03 45 ในกรณีนี้ หลักร้อยของปลายทางการกระโดดจะอยู่ในหลักหน่วยของไบต์คำสั่งที่สอง (หลังโอเปอเรชันโค้ด ) โดยมีหลักสิบเป็นศูนย์ และตัวเลขที่เหลือจะอยู่ในไบต์คำสั่งที่สาม
ในทางกลับกัน ลำดับรหัสเช่น 61 11 แสดงถึงการกดแป้นพิมพ์GTO A ซึ่งเป็นการกระโดดไปยังตำแหน่งที่ระบุด้วยป้ายกำกับเชิงสัญลักษณ์ A เครื่องคิดเลขสามารถบอกได้ว่านี่เป็นการกระโดดเชิงสัญลักษณ์ ไม่ใช่การกระโดดไปยังตำแหน่งตัวเลข เนื่องจากหลักสิบของไบต์ถัดจากรหัสคำสั่งนั้นไม่ใช่ศูนย์
ปุ่มส่วนใหญ่บนแป้นพิมพ์สามารถใช้เป็นป้ายกำกับเชิงสัญลักษณ์ได้ ตัวอย่างเช่น ลำดับอย่างGTO STOและGTO GTO นั้น ถูกต้องตามกฎหมาย หากSTOและGTOได้ถูกกำหนดให้เป็นป้ายกำกับไว้ในโปรแกรมแล้ว
ปุ่มตัวดัดแปลง
ปุ่มส่วนใหญ่มีหลายฟังก์ชัน ขึ้นอยู่กับว่าได้กดปุ่ม INVหรือ2nd ก่อนหน้านั้นหรือไม่ ปุ่ม INVจะเรียกใช้ฟังก์ชัน "ผกผัน" (ไม่ว่าจะหมายความว่าอย่างไร) ของฟังก์ชันถัดไป และจะถูกบันทึกไว้ในโปรแกรมเป็นปุ่มกดแยกต่างหาก (รหัส 22) ในขณะที่ปุ่ม2ndจะเรียกใช้ฟังก์ชันที่แตกต่างออกไปโดยสิ้นเชิง ซึ่งเขียนไว้บนแผ่นหน้าแป้นพิมพ์เหนือปุ่มนั้น ตัวอย่างเช่น การกด2nd x 2จะเรียกใช้ ฟังก์ชัน sinในขณะที่INV 2nd x 2 (หรือINV sin ) จะให้ฟังก์ชัน arcsine
รหัสสำหรับฟังก์ชันทางเลือกนี้ได้มาจากรหัสของฟังก์ชันหลักเดิม โดยการเพิ่ม 5 เข้าไปในหลักหน่วย ( โดยไม่ทดไปยังหลักสิบ) ดังนั้น รหัสคีย์ที่ตรงกับตำแหน่งของ คีย์ ที่ 2เอง (21 และ 26) จะไม่ถูกใช้เป็นโอเปอเรชันโค้ด ต่อไปนี้คือตารางรหัสที่สร้างขึ้นโดยใช้ คำนำหน้า 2 :
| x 6 | x 7 | x 8 | x 9 | x 0 | |
|---|---|---|---|---|---|
| 1 x | เอ′ | บี′ | ซี′ | ดี′ | อี′ |
| 2 x | อินวี | บันทึก | ซีพี | ซีแอลอาร์ | |
| 3 x | โปรแกรม | พี → อาร์ | บาป | คอส | แทน |
| 4 x | อินส์ | ซีเอ็ม | เอกซ์ | พรีด | อินด |
| 5 x | เดล | เอ็นจี | แก้ไข | อินท์ | |x| |
| 6 x | หยุดชั่วคราว | x = t | ไม่ | โอป | ดีจี |
| 7 x | แอลบีแอล | x ≥ t | Σ + | ค่าเฉลี่ย( x ) | ราด |
| 8 x | เซนต์ เอฟแอลจี | ถ้า flg | ดี.เอ็มเอส | π | บัณฑิต |
| 9 x | เขียน | ดีเอส | แอดวี | พาร์ท | รายการ |
การกดแป้นพิมพ์ที่รวมกัน
ปุ่มIndอนุญาตให้มีการอ้างอิงทางอ้อม : ทุกที่ที่อนุญาตให้มีการอ้างอิงถึงรีจิสเตอร์หน่วยความจำหรือตำแหน่งในโปรแกรม ปุ่มนี้สามารถใช้เพื่อดึงค่าจริงจากรีจิสเตอร์หน่วยความจำได้ ตัวอย่างเช่น ลำดับปุ่มRCL Ind 1 0 หมายถึงการดึงค่าในรีจิสเตอร์หน่วยความจำ 10 และใช้ค่านั้นเป็นหมายเลขของรีจิสเตอร์หน่วยความจำที่จะดึงเนื้อหามาเป็นตัวดำเนินการปัจจุบัน อย่างไรก็ตาม ในกรณีนี้Ind ไม่สามารถเข้ารหัสเป็นรหัส 40 ได้ เนื่องจากลำดับรหัส 43 40 จะถูกตีความว่าเป็นRCL 4 0 ไม่ใช่RCL Ind
แต่เนื่องจากการใช้รหัส 00 .. 09 สำหรับคีย์ 0 .. 9 ทำให้รหัส 62-64, 72-74, 82-84 และ 92 สามารถนำไปใช้ประโยชน์อื่นได้ ดังนั้นรหัสส่วนใหญ่จึงถูกจัดสรรใหม่เพื่อใช้แทนลำดับ op Ind :
| x 2 | x 3 | x 4 | |
|---|---|---|---|
| 6 x | พีจีเอ็มอินด | เอ็กซ์ซีอินด | การผลิต |
| 7 x | เอสทีโออินด | อาร์ซีแอลอินด | ผล รวมอุตสาหกรรม |
| 8 x | จีทีโอ อินดัสทรี | ออปอินด | |
| 9 x | อินวี เอสบีอาร์ |
ดังนั้น ลำดับคีย์RCL Ind 1 0 จะถูกเข้ารหัสเป็น 73 10
โปรดสังเกตการใช้รหัส 92 สำหรับINV SBR (การกลับจากซับรูทีน) ซึ่งไม่จำเป็นเนื่องจากเหตุผลเรื่องความกำกวม แต่ทำไปเพื่อประหยัดพื้นที่เนื่องจากเป็นลำดับที่พบได้บ่อย
ดูเพิ่มเติม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การตั้งโปรแกรมการกดแป้นพิมพ์
การเขียน โปรแกรมด้วยการกดแป้นพิมพ์หมายถึงวิธีการเขียนโปรแกรมเฉพาะวิธีหนึ่ง โดยที่การกดแป้นพิมพ์แต่ละครั้งบนอุปกรณ์หรือแอปพลิเคชันจะถูกบันทึกด้วยวิธีใดวิธีหนึ่ง
ตัวอย่างเครื่องคิดเลข TI
เครื่องคิดเลข Texas Instruments รุ่น TI-58/TI-58C/TI-59 สามารถตั้งโปรแกรมได้ และการจัดเก็บโปรแกรมจะอยู่ในรูปแบบของลำดับรหัสซึ่ง (ส่วนใหญ่) สอดคล้องกับตำแหน่งของปุ่มบนแป้นพิมพ์ของเครื่องคิดเลข นี่คือแผนภาพแบบง่ายของเค้าโครงปุ่มพื้นฐาน:
การตีความที่ขึ้นอยู่กับบริบท
เครื่องคิดเลข TI เหล่านี้อนุญาตให้เข้าถึงตำแหน่งหน่วยความจำข้อมูลได้สูงสุด 100 ตำแหน่ง โดยมีหมายเลขตั้งแต่ 00 ถึง 99 (บางรุ่นอาจมีขีดจำกัดต่ำกว่านี้) ลำดับการกดปุ่มเช่น STO 4 2 (เก็บตัวเลขที่แสดงอยู่ในปัจจุบันลงในหน่วยความจำ 42) จะถูกเข้ารหัสเป็น 42 42...
ปุ่มตัวดัดแปลง
ปุ่มส่วนใหญ่มีหลายฟังก์ชัน ขึ้นอยู่กับว่าได้กด ปุ่ม INV หรือ 2nd ก่อนหน้านั้นหรือไม่ ปุ่ม INV จะเรียกใช้ฟังก์ชัน "ผกผัน" (ไม่ว่าจะหมายความว่าอย่างไร) ของฟังก์ชันถัดไป และจะถูกบันทึกไว้ในโปรแกรมเป็นปุ่มกดแยกต่างหาก (รหัส 22) ในขณะที่ปุ่ม 2nd...