Tải bản đầy đủ - 78 (trang)
Các chế độ địa chỉ

Các chế độ địa chỉ

Tải bản đầy đủ - 78trang

Ng« Nh Khoa
+127 byte so víi lƯnh tiÕp theo sau lệnh JCXZ. Chơng trình dịch sẽ căn cứ vào vị trí nhãn để xác định giá trị dịch chuyển.
- Lệnh gọi chơng trình con CALL: Lệnh này dùng để chuyển hoạt động của
bộ vi xử lý từ chơng trình chính CTC sang chơng trình con ctc. Nếu ctc ở cùng một đoạn mã với CTC thì ta có gọi gần. Nếu CTC và ctc nằm trong hai đoạn mã khác
nhau thì ta có gọi xa. Gọi gần và gọi xa khác nhau về cách tạo địa chỉ trở về. Địa chỉ trở về là địa chỉ tiếp theo ngay sau lệnh CALL. Khi gọi gần thì chỉ cần cất IP của địa
chỉ trở về, khi gọi xa thì phải cất cả CS và IP của địa chỉ trở về. Địa chỉ trở về đợc tự động cất vào ngăn xếp khi bắt đầu thựuc hiện lệnh gọi và đợc tự ®éng lÊy ra khi gỈp
lƯnh trë vỊ RET.
-RET - Return from Procedure to Calling Program Trë vÒ CTC tõ ctc.
ViÕt lƯnh: RET
Khi gỈp lƯnh trë vỊ RET, vi xư lý kết thúc ctc lấy lại địa chỉ trở về, bao gồm địa chỉ IP trờng hợp gọi gần hoặc IP và CS trong trờng hợp gọi xa của lệnh tiếp
theo sau lệnh CALL, đợc đặt trong ngăn xếp.
- INT - Interrupt Program Excution Ngắt, gián đoạn chơng trình đang
chạy. Viết lệnh:
INT N, N = 0.. FFH Mô tả: Các thao tác của bộ vi xử lý khi chạy lệnh INT :
1. SP ←
SP - 2. {SP} ←
FR 2. IF
← 0 cấm các ngắt khác tác động, TF
0 chạy suèt.
3. SP ←
SP - 2, {SP} ←
CS. 4. SP
← SP - 2, {SP}
← IP.
5. {N x 4} →
IP, {5N x 4 + 2}
CS. Mỗi lệnh ngắt ứng với một chơng trình phục vụ ngắt khác nhau có địa chỉ lấy
từ bảng véc tơ ngắt. Bảng này gômg 256 vec tơ, chứa địa chỉ của các chơng trình phục vụ ngắt tơng ứng và chiếm 1 Kb RAM có địa chØ thÊp nhÊt.
VÝ dơ nh c¸c chơng trình phục vụ ngắt cña BIOS, cña DOS nh IO.SYS, MSDOS.SYS.
Ví dụ: INT 21H

III. Các chế độ địa chỉ


Những phơng pháp định địa chỉ hay còn gọi là chế độ địa chỉ addressing mod đợc dùng để vi xử lý tìm ra định vị, addressing các toán hạng cần thiết cho
một lệnh nào đó. Một bộ vi xử lý có thể có nhiều chế độ địa chỉ, các chế độ địa chỉ
Photocopyable
33
Ngô Nh Khoa
này đợc xác định ngay từ khi chế tạo bộ vi xử lý và sau này không thể thay đổi đợc. Họ vi xử lý Intel có bảy chế độ địa chỉ nh sau:
1. Chế độ địa chỉ thanh ghi 2. Chế độ địa chỉ tức thì
3. Chế độ địa chỉ trực tiếp 4. Chế độ địa chỉ gián tiếp thanh ghi
5. Chế độ địa chỉ tơng đối cơ sở 6. Chế độ địa chỉ tơng đối chỉ số
7. Chế độ địa chỉ tơng đối chỉ số cơ sở
III.1. Chế độ địa chỉ thanh ghi register addressing.
Trong chế độ địa chỉ này ngời ta dùng các thanh ghi bên trong CPU nh là các toán hạng để chứa dữ liệu cần thao tác. Vì vậy khi thực hiện lệnh có thể đạt tốc độ
truy nhập cao hơn so với các lệnh có truy nhËp ®Õn bé nhí. VÝ dơ:
MOV AX, BX ; chun néi dung BX vµo AX.
ADD DS, DL ; céng nội dung AL và DL , kết quả giữ trong AL.
III.2. Chế độ địa chỉ tức thì immediate addressing
Trong chế độ địa chỉ này toán hạng đích là một thanh ghi hay một ô nhớ, còn toán hạng nguồn là một
hằng số và ta có thể tìm thấy toán hạng này ở ngay sau mã lệnh chính vì vậy chế độ địa chỉ này gọi là chế độ địa chỉ tức thì. Ta có thể dùng
chế độ này để nạp dữ liệu cần thao tác vào bất kỳ thanh ghi nào trừ các thanh ghi đoạn và các thanh ghi cờ hoặc vào bất kỳ ô nhớ nào trong đoạn dữ liệu DS.
Ví dụ: MOV AX, 4EH
; chuyển giá trị 4EH vµo thanh ghi AX. MOV AX, 0FFOH ; chun 0FF0H vào thanh ghi AX
MOV DS, AX ; để đa vào DS.
MOV [BX], 4EH ; chuyển 4EH vào địa chỉ ô nhớ DS:BX
III.3. Chế độ địa chỉ trực tiếp direct addresssing mode
Trong chế độ địa chỉ này một toán hạng chứa địa chỉ lệch của ô nhớ dùng để chứa dữ liệu, còn toán hạng kia chỉ có thể là một thanh ghi mà không thể là một vị trí
nhớ. Nếu so sánh với chế độ địa chỉ tức thì ta thấy ở đây ngay sau mã lệnh không
phải là một toán hạng mà là một địa chỉ lệch của toán hạng. Xét về phơng diện địa chỉ thì đó là địa chỉ trực tiếp.
Ví dụ: MOV AL, [1234H]; chuyển nội dung ô nhớ DS:1234H vào AL.
MOV [4321H], CX; chuyển nội dung CX vào 2 vị trí nhớ
Photocopyable
34
Ngô Nh Khoa
; liên tiếp là DS:4321 và DS:4322.
III.4. Chế độ địa chØ gi¸n tiÕp qua thanh ghi register indirect addressing.
Trong chÕ độ địa chỉ này một toán hạng là một thanh ghi đợc sử dụng để chứa địa chỉ lệch của ô nhớ chứa dữ liệu, còn toán hạng kia chỉ có thể là một thanh ghi mà
không đợc là ô nhớ.
Ví dụ: MOV AL, [BX]
; chuyển nội dung tại ô nhí DS:BX vµo AL. MOV [SI], CL
; chun néi dung CL vào ô nhớ DS:SI.
III.5. Chế độ địa chỉ tơng đối cơ sở based relative addresing.
Trong chế độ này các thanh ghi cơ sở nh BX và BP và các hằng số biểu diễn các giá trị dịch chuyển displacement values đợc dùng để tính địa chỉ hiệu dụng của
toán hạng trong các vùng nhớ DS và SS. Sự có mặt của các giá trị diạch chuyển xác định tính tơng đối so với cơ sở của địa chỉ.
Ví dụ: MOV CL, [BX] + 10
; chun néi dung 2 « nhớ liên tiếp có địa ; chỉ DS:BX+10 và DS:BX+11 vào CX.
MOV CX, [BX +10] ; tơng tự nh lệnh trên.
MOV AL, [BP] + 10 ; chuyển nội dung ô nhớ SS:BP+10 vào AL

III. 6. Chế độ địa chỉ tơng ®èi chØ sè indexed relative addressing.


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Các chế độ địa chỉ

Tải bản đầy đủ ngay(78 tr)

×