งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

CS344-321 Assembly Language Programming Period 20.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "CS344-321 Assembly Language Programming Period 20."— ใบสำเนางานนำเสนอ:

1 CS Assembly Language Programming Period 20

2 Data Transfer Instructions mov destination,source ขนาดของข้อมูลต้องตรงกัน คือ 8 บิตกับ 8 บิต และ 16 บิต กับ 16 บิต เช่น mov ax,bx mov al,temp mov al,temp เมื่อ temp db ? เป็นต้น

3 กรณีของ memory ถ้ามีความจำเป็นต้องใช้ข้อมูลที่มี ขนาดไม่ตรงกับที่ define เช่น mov al,x mov al,x เมื่อ x dw ? ไม่สามารถทำได้ แต่ถ้าต้องการข้อมูลตรงตำแหน่ง x ขนาดหนึ่งไบต์จริงๆ สามารถทำได้ สองลักษณะ คือ mov al,byte ptr x mov al,byte ptr x เมื่อ x dw ? หรือ mov al,xb mov al,xb เมื่อ xb label byte x dw ? x dw ?

4 อีกตัวอย่างหนึ่ง เช่น mov al,byte ptr y mov al,byte ptr y mov ah,byte ptr y+1 mov ah,byte ptr y+1 เมื่อ y dw ?

5 pushpop การ push เพื่อเก็บค่าชั่วคราว และ การ pop เพื่อต้องการ ค่าเดิม ให้ทำสลับกัน ดังเช่น push ax push bx push cx … pop cx pop bx pop ax

6 xchgxlatinoutlealdsles

7 lahfsahfpushfpopf flags มีบิตต่างๆ ดังนี้ OF DF IF TF SF ZF AF PF CF OF DF IF TF SF ZF AF PF CF ต้องการเปลี่ยนแปลงที่บิต สามารถใช้คำสั่ง lahf กับ sahf ได้ ถ้าต้องการเปลี่ยนแปลงที่ บิตใดๆ สามารถใช้คำสั่ง pushf กับ popf ดังเช่น

8 ต้องการเปลี่ยน OF ให้เป็น 0 โดยที่บิตอื่นๆ ไม่ เปลี่ยนแปลง ทำดังนี้ pushf pushf pop ax pop ax and ax, b หรือ and ax,0F7FFH and ax, b หรือ and ax,0F7FFH push ax push ax popf popf หมายเหตุ ถ้าต้องการเปลี่ยนที่บิตใดให้เป็น 0 ทำได้โดยการ and ด้วย 0 ที่ตำแหน่งนั้น ส่วนที่บิตอื่นเป็น 1 ถ้าต้องการเปลี่ยนที่บิตใดให้เป็น 0 ทำได้โดยการ and ด้วย 0 ที่ตำแหน่งนั้น ส่วนที่บิตอื่นเป็น 1 ถ้าต้องการเปลี่ยนที่บิตใดให้เป็น 1 ทำได้โดยการ or ด้วย 1 ที่ตำแหน่งนั้น ส่วนที่บิตอื่นเป็น 0 ถ้าต้องการเปลี่ยนที่บิตใดให้เป็น 1 ทำได้โดยการ or ด้วย 1 ที่ตำแหน่งนั้น ส่วนที่บิตอื่นเป็น 0


ดาวน์โหลด ppt CS344-321 Assembly Language Programming Period 20.

งานนำเสนอที่คล้ายกัน


Ads by Google