กลับไปหน้าบทความ

อ่าน 4 นาที

รหัสปฏิบัติการ

ใน ด้านการคำนวณ โอ พโค้ด (ย่อมาจาก operation code ) [ 1 ] [ 2 ] คือ ค่าที่กำหนดไว้ ซึ่งระบุการดำเนินการที่จะดำเนินการ โอพโค้ดถูกนำไปใช้ในอุปกรณ์ฮาร์ดแวร์ เช่น หน่วยคำนวณและ ตรรกะ...

รหัสปฏิบัติการ

ในด้านการคำนวณโอพโค้ด (ย่อมาจากoperation code ) [ 1 ] [ 2 ]คือค่าที่กำหนดไว้ซึ่งระบุการดำเนินการที่จะดำเนินการ โอพโค้ดถูกนำไปใช้ในอุปกรณ์ฮาร์ดแวร์ เช่นหน่วยคำนวณและ ตรรกะ (ALU) หน่วยประมวลผลกลาง (CPU) และชุดคำสั่งซอฟต์แวร์ ใน ALU โอพโค้ดจะถูกนำไปใช้กับวงจรโดยตรงผ่านทางบัสสัญญาณอินพุต ในทางตรงกันข้าม ใน CPU โอพโค้ดเป็นส่วนหนึ่งของคำสั่งภาษาเครื่อง ที่ระบุการดำเนินการที่จะดำเนินการ

ซีพียู

โอเปอเรเตอร์โค้ดพบได้ในคำสั่งภาษาเครื่องของซีพียู รวมถึงในเครื่องคำนวณนามธรรม บางเครื่อง ในซีพียู โอเปอเรเตอร์โค้ดอาจถูกเรียกว่ารหัสเครื่องคำสั่ง [ 3 ] รหัสคำสั่ง [ 4 ] พยางค์ คำสั่ง[ 5 ] [ 6 ] [ 7 ] [ 8 ]กลุ่มคำสั่งหรือโอเปอเรเตอร์สตริง [ 9 ] [ 2 ] สำหรับ โปรเซสเซอร์ใดๆ (ซึ่งอาจเป็นซีพียูทั่วไปหรือหน่วยประมวลผลเฉพาะทาง) โอเปอเรเตอร์โค้ดจะถูกกำหนดโดย สถาปัตยกรรมชุดคำสั่ง (ISA) ของโปรเซสเซอร์[ 10 ]สามารถอธิบายได้โดยใช้ตารางโอเปอเรเตอร์โค้ดประเภทของการดำเนินการอาจรวมถึง การคำนวณ ทางคณิตศาสตร์การคัดลอกข้อมูลการดำเนินการทางตรรกะการควบคุมโปรแกรม และคำสั่งพิเศษ (เช่นCPUID ) [ 10 ]

นอกจากรหัสการทำงานแล้ว คำสั่งหลายคำสั่งยังระบุข้อมูล (เรียกว่าตัวถูกดำเนินการ ) ที่การดำเนินการจะกระทำ แม้ว่าบางคำสั่งอาจมีตัวถูกดำเนินการโดยปริยายหรือไม่มีเลยก็ตาม[ 10 ]ชุดคำสั่งบางชุดมีฟิลด์ที่เกือบจะเหมือนกันสำหรับตัวระบุรหัสการทำงานและตัวถูกดำเนินการ ในขณะที่ชุดคำสั่งอื่นๆ (เช่น สถาปัตยกรรม x86 ) มีโครงสร้างที่ไม่สม่ำเสมอและมีความยาวแปรผัน[ 10 ] [ 11 ]ชุดคำสั่งสามารถขยายได้ผ่านคำนำหน้ารหัสการทำงานซึ่งเพิ่มชุดย่อยของคำสั่งใหม่ที่ประกอบด้วยรหัสการทำงานที่มีอยู่ตามหลังลำดับไบต์ที่สงวนไว้[ 12 ]

ตารางตัวอย่างโอเปอเรเตอร์โค้ด

ตารางนี้แสดงรหัสคำสั่ง (opcode) ของไมโครโปรเซสเซอร์ 8 บิตแบบง่ายๆ คือIntel 8008จากปี 1972

แต่ละโอเปอเรชันโค้ดมีความยาว 8 บิตโดยแสดงเป็น รูปแบบ ไบนารีของเลข 1 และ 0 ใน คอลัมน์ โอเปอเรชันโค้ดอาจมีฟิลด์เพิ่มเติมได้สูงสุดสองฟิลด์ฝังอยู่ในโอเปอเรชันโค้ด ฟิลด์ 3 บิตบางฟิลด์จะมีป้ายกำกับว่า DDD, SSS, CC และ ALU ฟิลด์ SSS (แหล่งที่มา) และ DDD (ปลายทาง) ระบุรีจิสเตอร์หรือหน่วยความจำ 8008 หนึ่งในแปดแบบที่เป็นไปได้ ได้แก่ A, B, C, D, E, H, L หรือ M ฟิลด์ CC ระบุเงื่อนไขผลลัพธ์หนึ่งในแปดแบบที่จะเปิดใช้งานคำสั่ง JMP, CAL และ RET บางคำสั่ง ฟิลด์ ALU ระบุ ฟังก์ชัน หน่วยคำนวณและ ตรรกะหนึ่งในแปดแบบที่เป็นไปได้ ที่จะดำเนินการระหว่างคำสั่ง ได้แก่ การบวก การบวกพร้อมตัวทด การลบ การลบพร้อมการยืม AND เชิงตรรกะ XOR เชิงตรรกะ OR เชิงตรรกะ และการเปรียบเทียบ ตัวอักษรX ในบางฟิลด์หมายความว่าสามารถใส่เลข 1 หรือ 0 ได้โดย ไม่มีผลใดๆ

เลขหนึ่งและศูนย์ที่กำหนดไว้จะถูกรวมเข้ากับฟิลด์พารามิเตอร์เพื่อสร้างโอเปอเรเตอร์โค้ด 8 บิต นอกจากนี้ คำสั่งทั้งหมดอาจต้องการตัวถูกดำเนินการ เพิ่มเติมอีกหนึ่งหรือสองไบต์ ซึ่งแสดงอยู่ในคอลัมน์หลักที่สองของตารางที่มีชื่อว่าตัวถูกดำเนินการหากไม่ต้องการตัวถูกดำเนินการ คอลัมน์นั้นจะถูกเติมด้วยเครื่องหมายขีด (—)

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

คอลัมน์คำอธิบายแสดงฟังก์ชันที่ไมโครโปรเซสเซอร์ดำเนินการเมื่อพบรหัสคำสั่งเฉพาะ

รหัสปฏิบัติการตัวถูกดำเนินการตัวช่วยจำคำอธิบาย
76543210บี2บี3
0000000Xเอชแอลทีหยุด
00ดีดีดี000อินอาร์DDD ← DDD + 1 (ยกเว้น A และ M)
00ดีดีดี001ดีซีอาร์DDD ← DDD - 1 (ยกเว้น A และ M)
00000010อาร์แอลซีA 1-7 ← A 0-6 ; A 0 ← Cy ← A 7
00ซีซี011Rcc (เงื่อนไข RET)ถ้า cc เป็นจริง P ← (สแต็ก)
00อลู100ข้อมูลข้อมูล ADI ACI SUI SBI NDI XRI ORI CPIข้อมูล A ← A [การดำเนินการ ALU]
00เอ็น101อาร์เอสทีเอ็น(ซ้อน) ← P, P ← N x 8
00ดีดีดี110ข้อมูลข้อมูล LrI (โหลด r ด้วยข้อมูลทันที)DDD ← ข้อมูล
00XXX111เรทP ← (ซ้อน)
00001010อาร์อาร์ซีA 0-6 ← A 1-7 ; A 7 ← Cy ← A 0
00010010ราลA 1-7 ← A 0-6 ; Cy ← A 7 ; A 0 ← Cy
00011010อาร์อาร์A 0-6 ← A 1-7 ; Cy ← A 0 ; A 7 ← Cy
01ซีซี000แอดโลอัดฮีJcc add (JMP conditional)ถ้า cc เป็นจริง P ← เพิ่ม
0100ท่าเรือ1พอร์ต INPพอร์ต A ← (เฉพาะพอร์ต 0-7)
01ท่าเรือ1พอร์ต OUTพอร์ต ← A (เฉพาะพอร์ต 8-31 เท่านั้น)
01ซีซี010แอดโลอัดฮีCcc add (CAL conditional)ถ้า cc เป็นจริง (stack) ← P, P ← add
01XXX100แอดโลอัดฮีJMP เพิ่มP ← เพิ่ม
01XXX110แอดโลอัดฮีแคลเพิ่ม(ซ้อน) ← P, P ← เพิ่ม
10อลูเอสเอสเอสADr ACr SUr SBr NDr XRr OR CPRA ← A [การดำเนินการ ALU] SSS
11ดีดีดีเอสเอสเอสLds (โหลด d ด้วย s)DDD ← SSS
11111111เอชแอลทีหยุด
76543210บี2บี3ตัวช่วยจำคำอธิบาย
เอสเอสเอส ดีดีดี210ซีซีอลู
เอ000เอฟซี, ซี เท็จADr ADI (A ← A + arg)
บี001FZ, Z เท็จACr ACI (A ← A + arg + Cy)
ซี010FS, S เท็จSUr SUI (A ← A - arg)
ดี011FP, P คี่SBr SBI (A ← A - arg - Cy)
อี100ทีซี ซี จริงNDr NDI (A ← A ∧ arg)
ชม101TZ, Z จริงXRr XRI (A ← A ⊻ arg)
แอล110TS, S จริงORr ORI (A ← A ∨ arg)
เอ็ม111TP, P เท่ากันCPr CPI (A - arg)
เอสเอสเอส ดีดีดี210ซีซีอลู

ชุดคำสั่งซอฟต์แวร์

Opcode สามารถพบได้ในbytecodeและการแสดงผลอื่นๆ ที่มีไว้สำหรับการประมวลผลโดยตัวแปลซอฟต์แวร์ โดยทั่วไปแล้วจะใช้ประเภทข้อมูลและการดำเนินการระดับสูงกว่าเล็กน้อยเมื่อเทียบกับที่พบใน opcode ของฮาร์ดแวร์ แต่ก็ยังถูกสร้างขึ้นในลักษณะที่คล้ายคลึงกัน ตัวอย่างเช่น bytecode ที่พบในไฟล์คลาส Javaซึ่งถูกตีความโดย เครื่องเสมือน Java , bytecode ที่ใช้ในGNU Emacsสำหรับ โค้ด Lisp ที่คอมไพล์แล้ว และ NET Common Intermediate Language [ 13 ]

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Opcode&oldid=1317593637 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ รหัสปฏิบัติการ

ใน ด้านการคำนวณ โอ พโค้ด (ย่อมาจาก operation code ) [ 1 ] [ 2 ] คือ ค่าที่กำหนดไว้ ซึ่งระบุการดำเนินการที่จะดำเนินการ โอพโค้ดถูกนำไปใช้ในอุปกรณ์ฮาร์ดแวร์ เช่น หน่วยคำนวณและ ตรรกะ...

ซีพียู

โอเปอเรเตอร์โค้ดพบได้ในคำสั่งภาษาเครื่องของซีพียู รวมถึงใน เครื่องคำนวณนามธรรม บางเครื่อง ในซีพียู โอเปอเรเตอร์โค้ดอาจถูกเรียกว่า รหัสเครื่องคำสั่ง [ 3 ] รหัส คำสั่ง [ 4 ] พยางค์ คำ สั่ง [ 5 ] [ 6 ] [ 7 ] [ 8 ] กลุ่มคำสั่ง หรือ โอเปอเรเตอร์สตริง [ 9 ] [ 2 ]...

ตารางตัวอย่างโอเปอเรเตอร์โค้ด

ตารางนี้แสดงรหัสคำสั่ง (opcode) ของไมโครโปรเซสเซอร์ 8 บิตแบบง่ายๆ คือ Intel 8008 จากปี 1972

ชุดคำสั่งซอฟต์แวร์

Opcode สามารถพบได้ใน bytecode และการแสดงผลอื่นๆ ที่มีไว้สำหรับการประมวลผลโดยตัวแปลซอฟต์แวร์ โดยทั่วไปแล้วจะใช้ประเภทข้อมูลและการดำเนินการระดับสูงกว่าเล็กน้อยเมื่อเทียบกับที่พบใน opcode ของฮาร์ดแวร์ แต่ก็ยังถูกสร้างขึ้นในลักษณะที่คล้ายคลึงกัน ตัวอย่างเช่น...