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


Chương 3: Tập lệnh của
Vi Xử Lý
Phạm Thế Duy


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 hai phần:

OP CODE: chọn chức năng thực hiện.

Operand: Chọn dữ liệu cho lệnh.

Định dạng lệnh - Instruction Format
opcode
d w
mod reg r/m
optional
optional
optional
optional
07
low addr
high addr
Low Displacement or Immediate
High Displacement or Immediate
Low Immediate

100 sp ah
101 bp ch
110 si dh
111 di bh
Định dạng lệnh - Instruction Format

Định dạng lệnh - Instruction Format
Mod
M/R
00 01 10 11
W=0 W=1
000
001
010
011
100
101
110
111
[BX]+[SI]
[BX]+[DI]
[BP]+[SI]
[BP]+[DI]
[SI]
[DI]
[BP]
[BX]
[BX]+[SI] + d8
[BX]+[DI] + d8
[BP]+[SI] + d8

opcode
d w
mod reg r/m
optional
optional
optional
optional
07
low addr
high addr
Low Displacement or Immediate
High Displacement or Immediate
Low Immediate
High Immediate
Displacement có thể 8 hoặc 16 bit
- Là giá trị Hex được mã hoá trong lệnh.
- Sử dụng để tính toán giá trị địa chỉ của toán hạng
Immediate có thể 8, 16 hoặc 32 bit
- là số hex
- Sử dụng làm toán hạng trong lệnh
Định dạng lệnh - Instruction Format

opcode
d w
mod reg r/m
optional
optional
optional
optional
07

Effective Address

Tính toán bởi EU

Thông thường, Effective address =
displacement + [base register]+ [index register]
(if any) (if any) (if any)


Có thể tính toán từ 03 giá trị

Có trong một số chế độ địa chỉ khác 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

Các chế độ địa chỉ- addressing mode

Tức thời (Immediate)

Thanh ghi (Register)

Trực tiếp (Direct)

Gián tiếp thanh ghi (Indirect register)

effective address
ds:7000h ax
es:7000h ax
26 A3 00 70
A3 00 70
prefix byte
- longer instruction
- more fetch time

Chế độ địa chỉ trực tiếp Direct
Addressing

Dữ liệu nằm trong bộ nhớ, lệnh chỉ thị địa chỉ
offset của ô nhớ.

Chế độ địa chỉ gián 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
effective address
BP
SI
DI

Chế độ địa chỉ tương đối cơ sở
Based Relative Addressing

BX
BP
+

Ví dụ về các chế độ địa chỉ
Addressing Mode Examples
mov al, bl ;8-bit register addressing
mov di, bp ;16-bit register addressing
mov eax, eax ;32-bit register addressing
mov al, 12 ;8-bit immediate, al<-0ch
mov cx, 0faceh ;16-bit immediate, cx<-64,206
mov ebx, 2h ;32-bit immediate, ebx<-00000002h
mov al, LIST ;al<-8 bits stored at label LIST
mov ch, DATA ;ch<-8 bits stored at label DATA
mov ds, DATA2 ;ds<-16 bits stored at label DATA2
mov al, [bp] ;al<-8 bits stored at SS:BP
mov ah, [bx] ;ah<-8 bits stored at DS:BX
mov ax, [bp] ;ax<-16 bits stored at SS:BP
mov eax, [bx] ;eax<-32 bits stored at DS:BX
mov al, [bp+2] ;al<-8 bits stored at SS:(BP+2)
mov ax, [bx-4] ;ax<-16 bits stored at DS:(BX-4)
mov al, LIST[bp] ;al<-8 bits stored at SS:(BP+LIST)
mov bx, LIST[bx] ;bx<-16 bits stored at DS:(BX+LIST)
mov al, LIST[bp+2] ;al<-8 bits stored at SS:(BP+2+LIST)
mov ax, LIST[bx-12h] ;ax<-16 bits stored at DS:(BX-
18+LIST)
Register
Immediate
Direct
Based

I/O Port Addressing

Họ x86 quản lý 65,536 địa chỉ cổng vào ra

Mỗi địa chỉ cổng (giống như bộ nhớ)

Truy cập tới một cổng duy nhất

Địa chỉ I/O có thể 1 byte hoặc 2 byte

Với 386+ có thể là 4 byte

Có hai chế độ địa chỉ cổng
1) Chế độ địa chỉ cổng tức thời
- Chỉ có thể là địa chỉ 1 byte
- Giá trị trong khoảng từ 00 tới ffH
2) địa chỉ cổng giữ trong DX
- có thể mang các giá trị trong khoảng từ 0000h tới ffffh

Chỉ có thể sử dụng thanh ghi DX để giữ địa chỉ cổng

Chỉ có thể sử dụng các thanh ghi AL,AX,EAX cho dữ liệu cổng.

Tập lệnh của 80286

Các lệnh truyền dữ liệu.

Các lệnh xử lý dữ liệu.

Các lệnh số học

Không chuyển dữ liệu giữa hai thanh ghi đoạn.

Không dùng thanh ghi CS làm toán hạng đích.

Các toán hạng sử dụng trong lệnh MOV
Dest Source Ví dụ
Reg
Reg
Reg
Mem
Mem
Seg.Reg
Seg.Reg
Reg
Mem
Imm
Reg
Imm
Reg16
Mem16
MOV AH,BH
MOV CL,[1000H]
MOV DH,10
MOV Table,BX
MOV X1,25H
MOV DS,AX
MOV ES,X2

Các lệnh truyền dữ liệu - EXCHANGE


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status