Chương 3: Tập lệnh của vi xử lý

Chia sẻ: Hoang Cuong | Ngày: | Loại File: PPT | Số trang:144

1
356
lượt xem
163
download

Chương 3: Tập lệnh của vi xử lý

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Khái niệm lệnh: - Là chuỗi bit 0, 1 cung cấp để vi xử lý thực hiện một chức năng cơ bản. - Bao gồm 2 phần: + OP CODE: chọn chức năng thực hiện + Operand: Chọn dữ liệu cho lệnh.

Chủ đề:
Lưu

Nội dung Text: Chương 3: Tập lệnh của vi xử lý

  1. Chương 3: Tâp lênh cua ̣ ̣ ̉ Vi Xử Lý Pham Thế Duy ̣ ptduy@yahoo.com
  2. ́ ̣ ̣ Khai niêm lênh  Là chuôi bit 0, 1 cung câp để vi xử lý thực ̃ ́ hiên môt chức năng cơ ban. ̣ ̣ ̉  ̀ Bao gôm hai phân: ̀  OP CODE: chon chức năng thực hiên. ̣ ̣  Operand: Chon dữ liêu cho lênh. ̣ ̣ ̣
  3. ̣ ̣ ̣ Đinh dang lênh - Instruction Format 7 0 low addr opcode d w mod reg r/m optional Low Displacement or Immediate optional High Displacement or Immediate optional Low Immediate high addr optional High Immediate opcode 6-bit chỉ thị loai lênh sẽ thực hiên ̣ ̣ ̣ d (destination): d=1 chỉ thị toan hang thanh ghi Reg là toan hang đich ́ ̣ ́ ̣ ́ d=0 chỉ thị toan hang thanh ghi Reg là toan hang nguôn ́ ̣ ́ ̣ ̀ ́ ̣ ̣ ̀ w (word): w=1 toan hang trong lênh bao gôm hai byte ́ ̣ ̣ ̀ w=0 toan hang trong lênh bao gôm 01 byte
  4. ̣ ̣ ̣ Đinh dang lênh - Instruction Format 7 0 low addr opcode d w mod reg r/m optional Low Displacement or Immediate optional High Displacement or Immediate optional Low Immediate high addr optional High Immediate reg w=1 w=0 000 ax al mod is 2-bit chỉ thị chế độ đia chỉ (tuỳ theo giá trị cua r/m) ̣ ̉ 001 cx cl 010 dx dl reg là 3-bit chỉ thị toan hang thanh ghi (bang kê) ́ ̣ ̉ ́ 011 bx bl 100 sp ah r/m là 3-bit chỉ thị vị trí cua toan hang là trong thanh ghi hay ̉ ́ ̣ 101 bp ch bộ nhớ. (r/m : register/memory) 110 si dh 111 di bh
  5. ̣ ̣ ̣ Đinh dang lênh - Instruction Format Mod 00 01 10 11 M/R W=0 W=1 000 [BX]+[SI] [BX]+[SI] + d8 [BX]+[SI] + d16 AL AX 001 [BX]+[DI] [BX]+[DI] + d8 [BX]+[DI] + d16 CL CX 010 [BP]+[SI] [BP]+[SI] + d8 [BP]+[SI] + d16 DL DX 011 [BP]+[DI] [BP]+[DI] + d8 [BP]+[DI] + d16 BL BX 100 [SI] [SI] + d8 [SI] + d16 AH SP 101 [DI] [DI] + d8 [DI] + d16 CH BP 110 [BP] [BP] + d8 [BP] + d16 DH SI 111 [BX] [Bx] + d8 [Bx] + d16 BH DI
  6. ̣ ̣ ̣ Đinh dang lênh - Instruction Format 7 0 low addr opcode d w mod reg r/m optional Low Displacement or Immediate optional High Displacement or Immediate optional Low Immediate high addr optional High Immediate Displacement có thể 8 hoăc 16 bit ̣ - Là giá trị Hex được mã hoá trong lênh. ̣ - Sử dung để tinh toan giá trị đia chỉ cua toan hang ̣ ́ ́ ̣ ̉ ́ ̣ Immediate có thể 8, 16 hoăc 32 bit ̣ - là số hex - Sử dung lam toan hang trong lênh ̣ ̀ ́ ̣ ̣
  7. ̣ ̣ ̣ Đinh dang lênh - Instruction Format 7 0 low addr opcode d w mod reg r/m optional Low Displacement or Immediate optional High Displacement or Immediate optional Low Immediate high addr optional High Immediate Ví dụ xet lênh: ́ ̣ mov ax, bx Mã lênh sẽ la: ̣ ̀ 8B C3 = 1000101111000011 opcode la: ̀ 100010 mov ̀ d la: 1 thanh ghi là toan hang đich ́ ̣ ́ w la: ̀ 1 toan hang đich là 1 word ́ ̣ ́ mod la: ̀ 11 chỉ thị giá trị r/m trỏ tới a thanh ghi reg la: ̀ 000 thanh ghi toan hang đich là ax ́ ̣ ́ r/m la: ̀ 011 thanh ghi toan hang nguôn là bx ́ ̣ ̀
  8. ́ ̣ ́ ̣ Cac loai toan hang -Operand types 1) Register - Được mã hoá trong lênh. ̣ • Lênh thực hiên nhanh. ̣ ̣ • Không có truy câp Bus (in instr. queue) ̣ ̀ ̀ ̣ • Chiêu dai lênh ngăn. ́ 2) Immediate - Hăng số mã hoá trong lênh ̀ ̣ ̣ • 8 hoăc 16 bit ̣ • Không truy câp BUS (in instr. queue) • Chỉ có thể là toan hang nguôn ́ ̣ ̀ 3) Memory – Năm trong bộ nhớ, yêu câu truy câp BUS ̀ ̀ ̣ • Có thể cân tinh toan đia chi. ̀ ́ ́ ̣ ̉ • Đia chỉ cua toan hang trong lênh là đia chỉ Offset ̣ ̉ ́ ̣ ̣ ̣ hay: EFFECTIVE ADDRESS
  9. Effective Address • Tinh toan bởi EU ́ ́ • Thông thường, Effective address = displacement + [base register]+ [index register] (if any) (if any) (if any) • Có thể tinh toan từ 03 giá trị ́ ́ – Có trong môt số chế độ đia chỉ khac nhau: ̣ ̣ ́ • Displacement – 8 hoăc 16 bit là hăng số trong lênh ̣ ̀ ̣ – Thanh ghi cơ sở “base register” cân là BX hoăcBP ̀ ̣ – Thanh ghi chỉ số “index register” cân là SI hoăc DI ̀ ̣
  10. Cac chế độ đia chi- addressing mode ́ ̣ ̉  Tức thời (Immediate)  Thanh ghi (Register)  Trực tiêp (Direct) ́  ́ ́ Gian tiêp thanh ghi (Indirect register)  Tương đôi Cơ sở (Based relative) ́  Tương đôi Chỉ số (Indexed Relative) ́  Cơ sở chỉ số (Based Index)
  11. Chế độ đia chỉ tức thời – Immediate ̣ Addressing  Mov ax,1000H  Mov bp,3000H  Dữ liêu là môt số mã hoa trong lênh ̣ ̣ ́ ̣
  12. Chế độ đia chỉ thanh ghi - Register ̣  Mov ax,bx  Mov al,ah  Dữ liêu năm trong thanh ghi. ̣ ̀
  13. Chế độ đia chỉ trực tiêp ̣ ́ Direct Addressing mov [7000h], ax ds:7000h ax A3 00 70 mov es:[7000h], ax 26 A3 00 70 es:7000h ax prefix byte - longer instruction - more fetch time opcode mod r/m displacement effective address
  14. Chế độ đia chỉ trực tiêp Direct ̣ ́ Addressing  Dữ liêu năm trong bộ nhớ, lênh chỉ thị đia chỉ ̣ ̀ ̣ ̣ offset cua ô nhớ. ̉
  15. Chế độ đia chỉ gian tiêp thanh ghi ̣ ́ ́ Register Indirect Addressing mov al, [bp] ;al gets 8 bits at SS:BP mov ah, [bx] ;ah gets 8 bits at DS:BX mov ax, [di] ;ax gets 16 bits at DS:SI mov eax, [si] ;eax gets 32 bits at DS:SI opcode mod r/m BX BP effective address SI DI
  16. Chế độ đia chỉ tương đôi cơ sở ̣ ́ Based Relative Addressing mov al, [bp+2] ;al gets 8 bits at SS:BP+2 mov ah, [bx-4] ;ah gets 8 bits at DS:BX-4 opcode mod r/m displacement BX + BP effective address
  17. Chế độ đia chỉ chỉ số tương đôi ̣ ́ Indexed Relative Addressing mov ax, [si+1000h] ;ax gets 16 bits at DS:SI+1000h mov eax, [si+300h] ;eax gets 32 bits at DS:SI+300h Mov [di+100h], al ;DS:DI+100h gets 8 bits in al opcode mod r/m displacement DI + SI effective address
  18. Chế độ đia chỉ cơ sở chỉ số tương ̣ ́ đôi Based Indexed Relative Addressing mov ax, [bp+di] ;ax gets 16 bits at SS:BP+DI mov ax, [di+bp] ;ax gets 16 bits at DS:BP+DI mov eax, [bx+si+10h] ;eax gets 32 bits at DS:BX+SI+10h mov cx, [bp+si-7] ;cx gets 16 bits at SS:BP+SI-7 opcode mod r/m displacement DI + SI BX + BP effective address
  19. Ví dụ về cac chế độ đia chỉ ́ ̣ Addressing Mode Examples mov al, bl ;8-bit register addressing mov di, bp ;16-bit register addressing Register mov eax, eax ;32-bit register addressing mov al, 12 ;8-bit immediate, al
  20. Ví dụ về cac chế độ đia chỉ ́ ̣ Addressing Mode Examples mov al, [si] ;al
Đồng bộ tài khoản