50 likes | 129 Views
CS344-321 Assembly Language Programming. Period 17. เกี่ยวข้องกับตำแหน่งของคำสั่งที่จะกระโดดไปทำงานต่อไป วิธีการกำหนดเลขที่อยู่ภายในเซกเมนต์โดยตรง (intrasegment direct) ตำแหน่งคำสั่ง +- นิพจน์ค่าคงที่ ตัวอย่าง CMP AX,0 JG POSITIVE JMP NEGATIVE POSITIVE: ...
E N D
CS344-321 Assembly Language Programming Period 17
เกี่ยวข้องกับตำแหน่งของคำสั่งที่จะกระโดดไปทำงานต่อไปเกี่ยวข้องกับตำแหน่งของคำสั่งที่จะกระโดดไปทำงานต่อไป วิธีการกำหนดเลขที่อยู่ภายในเซกเมนต์โดยตรง (intrasegment direct) ตำแหน่งคำสั่ง +- นิพจน์ค่าคงที่ ตัวอย่าง CMP AX,0 JG POSITIVE JMP NEGATIVE POSITIVE: ... JMP SHORT NEXT+2 NEGATIVE: ... NEXT:
วิธีการกำหนดเลขที่อยู่ภายในเซกเมนต์โดยอ้อม (intrasegment indirect) • ตัวอย่าง • JMP BX ; jump to offset in BX • JMP NEAR PTR BX; jump to offset in BX • LEA BX,KEEPL1 • JMP [BX] ; jump to offset keep in KEEPL1 • … • KEEPL1 DW ? ; keep offset to jump to here
วิธีการกำหนดเลขที่อยู่ระหว่างเซกเมนต์โดยตรง (intersegment direct) ตำแหน่งคำสั่ง +- นิพจน์ค่าคงที่ ตัวอย่าง SEG1 SEGMENT ... JMPFAR PTRSEG2_LOC ... SEG1 ENDS SEG2 SEGMENT ... SEG2_LOC: ... SEG2 ENDS
วิธีการกำหนดเลขที่อยู่ระหว่างเซกเมนต์โดยอ้อม (intersegment indirect) ตัวอย่าง CALL FAR PTR[DI]; IP <- [DI], CS <-[DI+2]