คำสั่ง SLA (Shift Left Arithmetic)


      เป็นคำสั่งที่ใช้ในการเลื่อนบิตข้อมูลไปทางซ้าย 1 บิต ในลักษณะดังในรูป

รูปแสดงการทำงานคำสั่ง SLA

รูปแบบคำสั่ง       SLA S

      S หมายถึง แหล่งข้อมูลที่ต้องการเลื่อนบิตข้อมูล
โดย S อาจจะเป็น รีจิสเตอร์ (r) คือ A,B,C,D,E,H และ L
            หรือ รีจิสเตอร์ในหน่วยความจำที่ชี้ด้วย (HL)
            หรือ รีจิสเตอร์ในหน่วยความจำที่ชี้ด้วย (IX+d),(IY+d)

ตัวอย่าง การเขียนคำสั่ง
      SLA E     ; เลื่อนบิตข้อมูลในรีจิสเตอร์ไปทางซ้าย 1 บิต
      SLA (HL)  ; เลื่อนบิตข้อมูลของหน่วยความจำที่ HL ชี้ไปทางซ้าย 1 บิต
      SLA (IX+2) ; เลื่อนบิตข้อมูลของหน่วยความจำที่ IX ชี้บวกกับ 2 ไปทางซ้าย 1 บิต

ลักษณะการกระทำ
      ข้อมูลจะถูกเลื่อนไปทางซ้าย 1 บิต โดยข้อมูลในบิต 7 จะเลื่อนไปเก็บในแฟลกตัวทด Cy ส่วนบิต 0 ซึ่งเป็นบิตขวามือสุดจะถูกแทนด้วย 0 เช่น ถ้าข้อมูลในรีจิสเตอร์ E มีค่าเป็น 1010 1011B เมื่อใช้คำสั่ง SLA E ข้อมูลรีจิสเตอร์ E จะมีค่าเป็น 0101 0110B โดยข้อมูลในแฟลก Cy จะมีค่าเป็น 1 ดังในรูป

รูปแสดงตัวอย่างการทำงานของคำสั่ง SLA