กลุ่มคำสั่งทางลอกจิก จะมีส่วนของคำสั่งที่เกี่ยวข้อง
คือคำสั่งการกระทำทางลอจิกคำสั่งการเลื่อนบิท และคำสั่งการสลับข้อมูล
nibble
คำสั่งการกระทำทางลอจิกได้แก่ การ Complement การ AND OR และ XOR ซึ่งข้อมูลจำนวนหนึ่งต้องมาจาก Reg. A เสมอส่วนข้อมูลอีกตัวหนึ่งอาจจมาจาก คำสั่งทันทีหรือมาจากรีจิสเตอร์ต่างๆ ภายใน CPU หรือมาจากหน่วยความจำภายนอกด้วยวิธีการอ้างถึงหน่วยความจำแบบต่างๆ ข้อมูลทั้ง 2 ตัวนี้ จะมาทำตามฟังก์ชั่นที่กำหนดให้ โดยคำสั่งผลลัพธ์ของการกระทำจะกลับไปสู่ Reg. A พร้อมทั้งสถนะต่างๆ ของการทำงานจะแสดงที่แฟลก
คำสั่งการเลื่อนบิท เป็นคำสั่งการคูณและการหาร ด้วย 2 ใน Reg. หรือหน่วยความจำโดยถือว่าข้อมูลดังกล่าวเป็นไบนารี 8 บิท
คำสั่งการสลับข้อมูล nibble เป็นคำสั่งการหมุนข้อมูลในหน่วยความจำซึ่งบ่งด้วยค่า Reg. HL
คำสั่งการกระทำทางลอจิกได้แก่ การ Complement การ AND OR และ XOR ซึ่งข้อมูลจำนวนหนึ่งต้องมาจาก Reg. A เสมอส่วนข้อมูลอีกตัวหนึ่งอาจจมาจาก คำสั่งทันทีหรือมาจากรีจิสเตอร์ต่างๆ ภายใน CPU หรือมาจากหน่วยความจำภายนอกด้วยวิธีการอ้างถึงหน่วยความจำแบบต่างๆ ข้อมูลทั้ง 2 ตัวนี้ จะมาทำตามฟังก์ชั่นที่กำหนดให้ โดยคำสั่งผลลัพธ์ของการกระทำจะกลับไปสู่ Reg. A พร้อมทั้งสถนะต่างๆ ของการทำงานจะแสดงที่แฟลก
คำสั่งการเลื่อนบิท เป็นคำสั่งการคูณและการหาร ด้วย 2 ใน Reg. หรือหน่วยความจำโดยถือว่าข้อมูลดังกล่าวเป็นไบนารี 8 บิท
คำสั่งการสลับข้อมูล nibble เป็นคำสั่งการหมุนข้อมูลในหน่วยความจำซึ่งบ่งด้วยค่า Reg. HL
![]() |
การกระทำทางลอจิก |
![]() |
การเคลื่อนบิท |
การสลับข้อมูล nibble หรือการสลับข้อมูลขนาด 4 บิท ใน CPU เบอร์ Z-80
มีคำสั่งข้อมูลขนาด 4 บิท อยู่ 2 คำสั่งที่ทำหน้าที่สลับข้อมูลทีละ 4 บิท
ซึ่งมีประโยชน์ทางเลขคณิตบีซีดี ได้แก่ RLD (Rotate Left Digit) และ RRD (Rotate
Righ Digit) มีการสลับข้อมูลดังนี้
คำสั่ง RLD
คำสั่ง RLD ย่อมาจาก Rotate Left Digit
จะหมนุนข้อมูลครั้งละครึ่งไบท์ไปทางซ้ายโดยทำงานร่วมกันระหว่างแอ็กคิวมูเงเตอร์และข้อมูลในหน่วยความจำซึ่งบ่งด้วยค่าในคู่รีจิสเตอร์
HL ดังแสดงในรูป
ตัวอย่างการทำงานของคำสั่ง
RLD
![]() |
แสดงการทำคำสั่ง RLD |
คำสั่ง RRD ย่อมาจาก Rotate Right Digit จะหมนุนข้อมูลครั้งละครึ่งไบท์ไปทางขวา
โดยทำงานร่วมกันระหว่างแอ็กคิวมูเลเตอร์และข้อมูลในหน่วยความจำซึ่งบ่งด้วยค่าในคู่รีจิสเตอร์
HL ดังแสดงในรูป
ตัวอย่างการทำงานของคำสั่ง RRD
![]() |
แสดงการทำคำสั่ง RRD |
ไม่มีความคิดเห็น:
แสดงความคิดเห็น