กลุ่มคำสั่งแลกเปลี่ยน
จากรูปจะเห็นว่าก่อนแลกเปลี่ยนข้อมูลรีจิสเตอร์ A มีค่าเป็น 00 และรีจีสเตอร์ H มีค่าเป็น 54 ภายหลังจากมีการแลกเปลี่ยนข้อมูลกันรีจีสเตอร์ A จะมีค่าเป็น 54 และรีจิสเตอร์ H จะมีค่าเป็น 00 คือ ข้อมูลทั้งสองฝั่งไม่ได้หายไปแต่มีการสลับที่กันปกติการกระทำตามรูปจะกระทำโดยตรงไม่ได้ต้องใช้คำสั่งโหลดเข้ามาช่วยดำเนินการดังนี้คือ
LD B,H ; เก็บข้อมูลรีจิสเตอร์ H ไว้ในรีจิสเตอร์ B
LD H,A ; โหลดข้อมูลจากรีจิสเตอร์ A ไปให้รีจิสเตอร์ H
LD H,A ; โหลดข้อมูลจากรีจิสเตอร์ A ไปให้รีจิสเตอร์ H
1.) คำสั่งแลกเปลี่ยนข้อมูล จะมีเพียง 3 คำสั่งคือ
- EX DE,HL เป็นคำสั่งแลกเปลี่ยนข้อมูลระหว่างรีจิสเตอร์ DE กับ HL
- EX AF,AF เป็นคำสั่งแลกเปลี่ยนข้อมูลระหว่างรีจิสเตอร์ AF กับรีจิสเตอร์สำรอง AF
- EXX เป็นคำสั่งในการแลกเปลี่ยนข้อมูลมักนำมาใช้เพื่อความรวดเร็วในการเก็บค่าข้อมูลโดยจะทำการสลับข้อมูลเพื่อเก็บค่าข้อมูลรีจิสเตอร์หลักไว้ในรีจิสเตอร์สำรอง ก่อนเข้าสู่โปรแกรมย่อยและจะสลับอีกครั้งเพื่อคืนค่าข้อมูลกลับมาเมื่อออกจากโปรแกรมย่อย
2.) คำสั่งโหลดข้อมูลเป็นกลุ่ม ส่วนใหญ่จะใช้ในการถ่ายโอนข้อมูลเป็นกลุ่มโดยมีคำสั่งใช้งานทั้งสิ้น 4 คำสั่งคือ
- LDI เป็นคำสั่งโหลดมข้อมูลเป็นกลุ่มแบบเพิ่มค่า (Load Increment)
- LDIR จะคล้าย LDI แต่จะทำงานซ้ำโดยอัตโนมัติ (Load Increment Repeat)
- LDD เป็นคำสั่งโหลดข้อมูลเป็นกลุ่มแบบลดค่า (Load Decrement)
- LDDR จะคล้าย LDD แต่จะทำงานซ้ำโดยอัตโนมัติ (Load Decrement Repeat) การทำงานโดยรวมจะคล้ายกันจึงขอกล่าวเพียง 2 คำสั่งแรกคือ LDI และ LDIR เท่านั้น