1 / 13

การกำหนดค่าข้อมูลและคำสั่งพื้นฐาน

การกำหนดค่าข้อมูลและคำสั่งพื้นฐาน. คำสั่งเทียมกำหนดค่าข้อมูล. Directive. รูปแบบ [name] Dn Expression DB(define byte) DW(define word) DD(define doubleword). ค่าที่กำหนดให้ข้อมูล. ชื่อตัวแปร. ตัวอย่าง. DATA1 DB 25 ; เลขฐานสิบ DATA2 DB 10001001B ;เลขฐานสอง

levi
Download Presentation

การกำหนดค่าข้อมูลและคำสั่งพื้นฐาน

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. การกำหนดค่าข้อมูลและคำสั่งพื้นฐานการกำหนดค่าข้อมูลและคำสั่งพื้นฐาน

  2. คำสั่งเทียมกำหนดค่าข้อมูลคำสั่งเทียมกำหนดค่าข้อมูล Directive รูปแบบ [name] Dn Expression • DB(define byte) • DW(define word) • DD(define doubleword) ค่าที่กำหนดให้ข้อมูล ชื่อตัวแปร

  3. ตัวอย่าง DATA1 DB 25 ;เลขฐานสิบ DATA2 DB 10001001B ;เลขฐานสอง DATA3 DB 12H ;เลขฐานสิบหก ORG 0010H DATA4 DB ‘2591’ ;รหัส ASCII ORG 0018H DATA5 DB ? ;ที่ว่าง DATA6 DB ‘My name is T-WAT’

  4. คำสั่งกำหนดค่าคงที่ ใช้คำสั่ง EQU ตัวอย่าง COUNT EQU 25 หลังจากนั้นอาจทำคำสั่งต่อไปนี้ MOV CX,COUNT DATA1 DB COUNT DATA2 DB COUNT

  5. คำสั่งพื้นฐาน • MOV (Move)ใช้ย้ายข้อมูลจากต้นทางไปยังปลายทาง • MOV AX , WORD1 • MOV AX , BX • MOV AH , ‘A’ • MOV WORD2 , WORD1 • XCHG (exchange)ใช้สลับค่าข้อมูลระหว่างรีจีสเตอร์สองตัว • XCHG destination , source • XCHG AH , BL ทำไม่ได้

  6. คำสั่งพื้นฐาน (ต่อ) • ADD (Addition) ADD destination , source • ADD AL , BL • ADD AL , 27H • ADD CL , [BX] • ADC (ADD with Carry) • ADC AX , BX • ADC AX , [BX] ;ถ้าหาก AX = 0AEFFH , BX = 1023H ;ค่าใน DS : 1023 เป็น 4BBCH และ แฟลกเป็น 1 ;AX = 0AEFFH + 4BBCH + 1 = 0FABCH

  7. คำสั่งพื้นฐาน (ต่อ) • SUB (Subtract) SUB destination , source • SUB AL , BL • SUB TOTAL , 27H • SUB TOTAL , AL • SBB (SuBtract with Borrow) • SBB AX , BX

  8. คำสั่งพื้นฐาน (ต่อ) • CMP (CoMPare) CMP operand_1 , operand_2 • CMP AL , 38H • CMP AL , BL • CMP TOTAL , AL • INC (Increment) INC destination • INC AX • DEC (Decrement) DEC destination • DEC AX

  9. คำสั่งพื้นฐาน (ต่อ) • NEG ทำ 2’s Complement กับตัวเลขแบบคิดเครื่องหมาย • NEG destination ตัวอย่าง NEG BX หลังทำคำสั่ง FFFE 0002 ค่าใน BX ก่อนทำคำสั่ง

  10. แฟลก (flag) • แฟลกตัวทด (carry flag) ตัวเลขแบบไม่คิดเครื่องหมายมีค่าเกินกว่าที่รีจีสเตอร์จะเก็บ จะเซต MOV AL , 0FFH ADD AL , 4H ;แฟลกตัวทดจะเซ็ต • แฟลกโอเวอร์โฟลว์ (overflow flag) ตัวเลขแบบคิดเครื่องหมายมีค่าเกินกว่าที่เก็บผลลัพธ์ จะเซต MOV BL , 4H ADD BL , 7FH ;แฟลกโอเวอร์โฟลว์จะเซต

  11. แฟลก (flag) • แฟลกเครื่องหมาย (sign flag) ถ้าผลลัพธ์เป็นบวกบิตแฟลกจะเป็น “0” • แฟลกศูนย์ (zero flag) แฟลกนี้จะเป็น “0” ถ้าผลลัพธ์ไม่เป็นศูนย์ ถ้าผลลัพธ์เป็นศูนย์ จะเป็น “1” • แฟลกพาริตี้ (parity flag)

  12. คำสั่งคูณเลข • MUL , IMUL (Integer MULtiplication) • IMUL register • IMUL memory • MUL register ถ้าเป็นแบบ 8 บิต ตัวตั้งจะอยู่ใน AL อีกค่าหนึ่งอยู่ในโอเปอแรนด์ ผลลัพธ์ที่ได้จะเก็บอยู่ใน AX

  13. คำสั่งหารเลข • DIV , IDIV • การหารแบบ 32 บิต ตัวตั้งจะเก็บใน DX , AX ตัวหารเก็บในโอเปอแรนด์ ผลลัพธ์เก็บใน AX เศษเก็บใน DX • การหารแบบ 16 บิต ตัวเลข 16 บิตเก็บใน AX ตัวหารเก็บในโอเปอแรนด์ ผลลัพธ์ที่ได้เก็บใน AL เศษเก็บใน AH

More Related