กลุ่มคำสั่งในการเคลื่อนย้ายข้อมูล


MOV Rd,Rr
                    เป็นคำสั่งในการเคลื่อนย้ายข้อมูลจากรีจีสเตอร์ไปยังรีจีสเตอร์
                                    Rd คือ รีจีสเตอร์ R0 - R31
                     Rr  คือ รีจีสเตอร์ R0 - R31
LDI Rd,k
                     เป็นคำสั่งในการโหลดข้อมูลคงที่ขนาด 8 บิทเข้าไปยังรีจีสเตอร์
                                    Rd คือ รีจีสเตอร์ R16 - R31
                     K  คือ ค่าคงที่ขนาด 8 บิท
LD Rd,X
                     เป็นคำสั่งในการโหลดข้อมูลขนาด 8 บิท ที่อยู่ในหน่วยความจำตำแหน่งที่ รีจีสเตอร์ X ชี้ เข้าไปยังรีจีสเตอร์
                                    Rd คือ รีจีสเตอร์ R0 - R31
                      X  คือ รีจีสเตอร์ X
LD Rd,X+
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท ที่อยู่ในหน่วยความจำตำแหน่งที่ รีจีสเตอร์ X ชี้ เข้าในรีจีสเตอร์ทั่วไปและเพิ่มค่ารีจีสเตอร์ X ขึ้น 1 หลังจากที่โหลดข้อมูลเสร็จ
                                    Rd คือ รีจีสเตอร์ R0 - R31
                      X  คือ รีจีสเตอร์ X
LD Rd,-X
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท ที่อยู่ในหน่วยความจำตำแหน่งที่ รีจีสเตอร์ X - 1 ชี้ เข้าในรีจีสเตอร์ทั่วไปและลดค่ารีจีสเตอร์ X ลง 1 ก่อนที่โหลดข้อมูลลง
                                    Rd คือ รีจีสเตอร์ R0 - R31
                      X  คือ รีจีสเตอร์ X
LD Rd,Y
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท ที่อยู่ในหน่วยความจำตำแหน่งที่ รีจีสเตอร์ Y ชี้ในรีจีสเตอร์ 
                                    Rd คือ รีจีสเตอร์ R0 - R31
                      Y  คือ รีจีสเตอร์ Y
LD Rd,Y+
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท ที่อยู่ในหน่วยความจำตำแหน่งที่ รีจีสเตอร์ Y ชี้ในรีจีสเตอร์ทั่วไปและเพิ่มค่ารีจีสเตอร์ Y ขึ้น 1 หลังจากที่โหลดข้อมูลเสร็จ 
                                    Rd คือ รีจีสเตอร์ R0 - R31
                      Y  คือ รีจีสเตอร์ Y
LD Rd,-Y
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท ที่อยู่ในหน่วยความจำตำแหน่งที่ รีจีสเตอร์ Y ชี้ในรีจีสเตอร์ทั่วไป โดยลดค่ารีจีสเตอร์ Y ลง 1 ก่อนจากที่โหลดข้อมูลลง  
                                    Rd คือ รีจีสเตอร์ R0 - R31
                      Y  คือ รีจีสเตอร์ Y
LD Rd,Y+q
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท ที่อยู่ในหน่วยความจำตำแหน่งที่ รีจีสเตอร์ Y+q ชี้ในรีจีสเตอร์ทั่วไป 
                                    Rd คือ รีจีสเตอร์ R0 - R31
                      Y  คือ รีจีสเตอร์ Y
                      q  คือ ค่าระยะห่าง มีค่า 0 - 63 
LD Rd,Z
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท ที่อยู่ในหน่วยความจำตำแหน่งที่ รีจีสเตอร์ Z ชี้ในรีจีสเตอร์ 
                                    Rd คือ รีจีสเตอร์ R0 - R31
                      Z  คือ รีจีสเตอร์ Z
LD Rd,Z+
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท ที่อยู่ในหน่วยความจำตำแหน่งที่ รีจีสเตอร์ Z ชี้ในรีจีสเตอร์ทั่วไปและเพิ่มค่ารีจีสเตอร์ Z ขึ้น 1 หลังจากที่โหลดข้อมูลเสร็จ 
                                    Rd คือ รีจีสเตอร์ R0 - R31
                      Z  คือ รีจีสเตอร์ Z
LD Rd,-Z
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท ที่อยู่ในหน่วยความจำตำแหน่งที่ รีจีสเตอร์ Z ชี้ในรีจีสเตอร์ทั่วไป โดยลดค่ารีจีสเตอร์ Z ลง 1 ก่อนจากที่โหลดข้อมูลลง  
                                    Rd คือ รีจีสเตอร์ R0 - R31
                      Z  คือ รีจีสเตอร์ Z
LD Rd,Z+q
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท ที่อยู่ในหน่วยความจำตำแหน่งที่ รีจีสเตอร์ Z+q ชี้ในรีจีสเตอร์ทั่วไป 
                                    Rd คือ รีจีสเตอร์ R0 - R31
                      Z  คือ รีจีสเตอร์ Z
                      q  คือ ค่าระยะห่าง มีค่า 0 - 63 
LDS Rd,k
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท ที่อยู่ในหน่วยความจำ SRAM ตำแหน่งที่ k เข้าในรีจีสเตอร์ทั่วไป 
                                    Rd คือ รีจีสเตอร์ R0 - R31
                      k  คือ ตำแหน่งหน่วยความจำใน SRAM                      
ST X,Rr
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท จากรีจีสเตอร์ทั่วไปลงในหน่วยความจำตำแหน่งที่รีจีสเตอร์ X ชี้ 
                                    Rr คือ รีจีสเตอร์ R0 - R31
                      X  คือ รีจีสเตอร์ X                      
ST X+,Rr
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท จากรีจีสเตอร์ทั่วไปลงในหน่วยความจำตำแหน่งที่รีจีสเตอร์ X ชี้ และเพิ่มค่ารีจีสเตอร์ X ขึ้น 1 ค่า  
                                    Rr คือ รีจีสเตอร์ R0 - R31
                      X  คือ รีจีสเตอร์ X                      
ST - X,Rr
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท จากรีจีสเตอร์ทั่วไปลงในหน่วยความจำตำแหน่งที่รีจีสเตอร์ X - 1 ชี้ 
                                    Rr คือ รีจีสเตอร์ R0 - R31
                      X  คือ รีจีสเตอร์ X                      
ST Y,Rr
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท จากรีจีสเตอร์ทั่วไปลงในหน่วยความจำตำแหน่งที่รีจีสเตอร์ Y ชี้ 
                                    Rr คือ รีจีสเตอร์ R0 - R31
                      Y  คือ รีจีสเตอร์ Y                      
ST Y+,Rr
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท จากรีจีสเตอร์ทั่วไปลงในหน่วยความจำตำแหน่งที่รีจีสเตอร์ Y ชี้ และเพิ่มค่ารีจีสเตอร์ Y ขึ้น 1 ค่า  
                                    Rr คือ รีจีสเตอร์ R0 - R31
                      Y  คือ รีจีสเตอร์ Y                      
ST - Y,Rr
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท จากรีจีสเตอร์ทั่วไปลงในหน่วยความจำตำแหน่งที่รีจีสเตอร์ Y - 1 ชี้ 
                                    Rr คือ รีจีสเตอร์ R0 - R31
                      Y  คือ รีจีสเตอร์ Y                      
ST Y+q,Rr
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท จากรีจีสเตอร์ทั่วไปลงในหน่วยความจำตำแหน่งที่รีจีสเตอร์ Y+q ชี้   
                                    Rr คือ รีจีสเตอร์ R0 - R31
                      Y  คือ รีจีสเตอร์ Y                      
ST Z,Rr
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท จากรีจีสเตอร์ทั่วไปลงในหน่วยความจำตำแหน่งที่รีจีสเตอร์ Z ชี้ 
                                    Rr คือ รีจีสเตอร์ R0 - R31
                      Z  คือ รีจีสเตอร์ Z                      
ST Z+,Rr
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท จากรีจีสเตอร์ทั่วไปลงในหน่วยความจำตำแหน่งที่รีจีสเตอร์ Z ชี้ และเพิ่มค่ารีจีสเตอร์ Z ขึ้น 1 ค่า  
                                    Rr คือ รีจีสเตอร์ R0 - R31
                      Z  คือ รีจีสเตอร์ Z                      
ST - Z,Rr
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท จากรีจีสเตอร์ทั่วไปลงในหน่วยความจำตำแหน่งที่รีจีสเตอร์ Z - 1 ชี้ 
                                    Rr คือ รีจีสเตอร์ R0 - R31
                      Z  คือ รีจีสเตอร์ Z                      
ST Z+q,Rr
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท จากรีจีสเตอร์ทั่วไปลงในหน่วยความจำตำแหน่งที่รีจีสเตอร์ Z+q ชี้   
                                    Rr คือ รีจีสเตอร์ R0 - R31
                      Z  คือ รีจีสเตอร์ Z 
                      q  คือ ค่าระยะห่าง 0 - 63                     
STS k,Rr
                     เป็นคำสั่งโหลดข้อมูลขนาด 8 บิท จากรีจีสเตอร์ใช้งานทั่วไปลงในหน่วยความจำตำแหน่งที่ k    
                                    Rr คือ รีจีสเตอร์ R0 - R31
                      k  คือ ตำแหน่งในหน่วยความจำ 0 - 65565                
LPM
                    โหลด Program Memory
IN Rd,P
                     คำสั่งอ่านข้อมูลจากรีจีสเตอร์ I/O มาเก็บไว้ในรีจีสเตอร์ทั่วไป    
                                    Rr คือ รีจีสเตอร์ R0 - R31
                      P  คือ รีจีสเตอร์ Input / Output                
OUT P,Rd
                     คำสั่งเขียนข้อมูลจากรีจีสเตอร์ทั่วไป เข้าไปในรีจีสเตอร์ Input / Output       
                      Rr คือ รีจีสเตอร์ R0 - R31
                      P  คือ รีจีสเตอร์ Input / Output                
PUSH Rr
                     คำสั่งเก็บค่ารีจีสเตอร์ Rr ลงใน Stack
POP Rr
                     คำสั่งย้ายค่าจาก stack มาเก็บไว้มรรีจีสเตอร์