1. Trang chủ
  2. » Thể loại khác

Chuong 07 Toantu doc

40 375 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 40
Dung lượng 275,5 KB

Nội dung

08/01/14 08/01/14 Chuong 7 Cac phep dinh vi dia chi Chuong 7 Cac phep dinh vi dia chi 1 1 Chương 6 : Toán tử – Toán hạng - Chương 6 : Toán tử – Toán hạng - các phép đònh đòa chỉ – Tập lệnh các phép đònh đòa chỉ – Tập lệnh Chương 6 : Toán tử – Toán hạng - Chương 6 : Toán tử – Toán hạng - các phép đònh đòa chỉ – Tập lệnh các phép đònh đòa chỉ – Tập lệnh Hiểu cách dùng toán tử trong ASM. Hiểu cách dùng toán tử trong ASM. Nắm được tập lệnh của CPU 8086/8088. Nắm được tập lệnh của CPU 8086/8088. Biết cách đònh đòa chỉ thông qua toán hạng. Biết cách đònh đòa chỉ thông qua toán hạng. Biết vận dụng các kỹ năng trên vào vấn đề cần giải Biết vận dụng các kỹ năng trên vào vấn đề cần giải quyết và hiện thực thành chương trình. quyết và hiện thực thành chương trình. Mục tiêu 208/01/14 Chuong 7 Cac phep dinh vi dia chi Toán tử Toán tử Điểm quan trọng phân biệt giữa toán tử và lệnh là : Điểm quan trọng phân biệt giữa toán tử và lệnh là : Toán tử điều khiển sự tính toán các trò hằng xác Toán tử điều khiển sự tính toán các trò hằng xác đònh lúc dòch. đònh lúc dòch. Lệnh điều khiển sự tính toán các trò không xác đònh Lệnh điều khiển sự tính toán các trò không xác đònh được cho đến khi CT thực hiện. được cho đến khi CT thực hiện. Ex : toán tử + điều khiển phép cộng khi dòch. Lệnh cộng ADD điều khiển phép cộng khi chương trình thực hiện. 308/01/14 Chuong 7 Cac phep dinh vi dia chi Toán tử số học Toán tử số học Toán tử Toán tử Cú pháp Cú pháp Công dụng Công dụng + + + expression + expression Dương Dương - - - expression - expression m m * * exp1*exp2 exp1*exp2 Nhân Nhân / / exp1/exp2 exp1/exp2 Chia Chia MOD MOD exp1 mod exp2 exp1 mod exp2 Phần dư Phần dư + + exp1 + exp2 exp1 + exp2 Cộng Cộng - - exp1 - exp2 exp1 - exp2 Trừ Trừ SHL SHL exp shl n exp shl n Dòch exp sang trái n bit Dòch exp sang trái n bit SHR SHR exp shr n exp shr n Dòch exp sang phải n bit Dòch exp sang phải n bit 408/01/14 Chuong 7 Cac phep dinh vi dia chi Toaùn töû logic Toaùn töû logic Not Not Not expression Not expression And And Exp1 and exp2 Exp1 and exp2 Or Or Exp1 or exp2 Exp1 or exp2 Xor Xor Exp1 xor exp2 Exp1 xor exp2 Ex : MOV AH , 8 OR 4 AND 2 MOV AL, NOT (20 XOR 0011100B) 508/01/14 Chuong 7 Cac phep dinh vi dia chi Toán Tử Quan Hệ Toán Tử Quan Hệ So sánh 2 biểu thức và cho trò là true (-1) nếu So sánh 2 biểu thức và cho trò là true (-1) nếu điều kiện của toán tử thỏa, ngược lại là false. điều kiện của toán tử thỏa, ngược lại là false. EQ EQ Exp1 EQ exp2 Exp1 EQ exp2 True True nếu nếu Exp1 = exp2 Exp1 = exp2 NE NE Exp1 NE exp2 Exp1 NE exp2 True True nếu nếu Exp1 <> exp2 Exp1 <> exp2 LT LT Exp1 LT exp2 Exp1 LT exp2 True n True n ếu ếu Exp1 < exp2 Exp1 < exp2 LE LE Exp1 LE exp2 Exp1 LE exp2 True True nếu nếu Exp1 <= exp2 Exp1 <= exp2 GT GT Exp1 GT exp2 Exp1 GT exp2 True n True n ếu ếu Exp1 > exp2 Exp1 > exp2 GE GE Exp1 GE exp2 Exp1 GE exp2 True True nếu nếu Exp1 >= exp2 Exp1 >= exp2 608/01/14 Chuong 7 Cac phep dinh vi dia chi ĐỘ ƯU TIÊN ĐỘ ƯU TIÊN TOÁN TOÁN TỬ TỬ TOÁN TỬ TOÁN TỬ MÔ TẢ MÔ TẢ ( ) ( ) Dấu ngoặc Dấu ngoặc + , - + , - Dấu dương , âm Dấu dương , âm * / MOD * / MOD Nhân , chia, Modulus Nhân , chia, Modulus + , - + , - Cộng, trừ Cộng, trừ Độ ưu tiên giảm dần 708/01/14 Chuong 7 Cac phep dinh vi dia chi Toán tử SEG Toán tử SEG Cú pháp : Cú pháp : SEG expression SEG expression Cho đòa chỉ đoạn của biểu thức expression. Cho đòa chỉ đoạn của biểu thức expression. Expression có thể là biến | nhãn | tên segment Expression có thể là biến | nhãn | tên segment hay toán hạng bộ nhớ khác. hay toán hạng bộ nhớ khác. 808/01/14 Chuong 7 Cac phep dinh vi dia chi Toán tử OFFSET Toán tử OFFSET Cú pháp : Cú pháp : OFFSET OFFSET expression expression Cho đòa chỉ OFFSET của biểu thức expression. Cho đòa chỉ OFFSET của biểu thức expression. Expression có thể là biến | nhãn | tên segment Expression có thể là biến | nhãn | tên segment hay toán hạng trực tiếp bộ nhớ khác. hay toán hạng trực tiếp bộ nhớ khác. Ex : nạp đòa chỉ segment và offset của biến table vào DS :AX TABLE DB ? MOV AX, SEG TABLE MOV DS, AX MOV DX, OFFSET Table 908/01/14 Chuong 7 Cac phep dinh vi dia chi TOÁN TỬ $ TOÁN TỬ $ Cho đòa chỉ của OFFSET của phát Cho đòa chỉ của OFFSET của phát biểu chứa toán tử $. biểu chứa toán tử $. Thường được dùng để tính chiều dài Thường được dùng để tính chiều dài chuổi. chuổi. 1008/01/14 Chuong 7 Cac phep dinh vi dia chi TOÁN TỬ PTR TOÁN TỬ PTR Cú pháp : Cú pháp : type PTR expression type PTR expression Cho phép thay đổi dạng của expression Cho phép thay đổi dạng của expression nếu expr là 1 nếu expr là 1 biến biến | | toán hạng bộ nhớ toán hạng bộ nhớ thì type có thì type có thể là byte , word hay dword. thể là byte , word hay dword. Nếu expr là 1 nhãn thì type có thể là near hay Nếu expr là 1 nhãn thì type có thể là near hay far. far. Ex : mov ax, word ptr var1 ; var1 là toán hạng kiểu Word mov bl , byte ptr var2 ; var2 là toán hạng kiểu byte [...]... 16) 08/01/14 Chuong 7 Cac phep dinh vi 12 Cơ chế đònh vò đòa chỉ Cách xác đònh dữ liệu trong lệnh được gọi là cơ chế đònh vò đòa chỉ (addressing mode)  chỉ ra nơi cất dữ liệu Cơ chế này chia làm 3 loại : đònh vò bằng thanh ghi, bằng giá trò tức thời và bằng bộ nhớ MOV AL, BL ; đònh vò bằng thanh ghi INC BX ; đònh vò bằng thanh ghi Toán hạng là Reg Lệnh sẽ được thực hiện nhanh hơn 08/01/14 Chuong 7 Cac... thời Mã máy của lệnh trên là B161h Lệnh sẽ được thực hiện nhanh vì dữ liệu được lấy cùng với lệnh 08/01/14 Chuong 7 Cac phep dinh vi 14 ĐỊNH VỊ THANH GHI Giá trị của tốn hạng được truy xuất nằm ngay trong thanh ghi của CPU Ex : MOV AX,BX ; chuyển nội dung của thanh ghi BX vào thanh ghi AX 08/01/14 Chuong 7 Cac phep dinh vi 15 ĐỊNH VỊ BỘ NHỚ Đònh vò gián tiếp thanh ghi : đòa chỉ toán hạng không chứa trực... chỉ segment ngầm định chứa trong ES nếu dùng BP 08/01/14 Chuong 7 Cac phep dinh vi 16 Đònh vò gián tiếp thanh ghi : EX1 : MOV AX, [SI] Nạp nội dung của ơ nhớ mà địa chỉ Offset lưu trong SI và địa chỉ đoạn lưu trong DS vào AX EX2 : MOV AX, [BP] Nạp nội dung của ơ nhớ mà địa chỉ Offset lưu trong BP và địa chỉ đoạn lưu trong ES vào AX 08/01/14 Chuong 7 Cac phep dinh vi 17 ĐỊNH VỊ TRỰC TIẾP Địa chỉ Offset... ngầm định chứa trong DS Ex : MOV BX, [1234] Nạp nộI dung ơ nhớ có địa chỉ DS:1234  BX 08/01/14 Chuong 7 Cac phep dinh vi 18 ĐỊNH VỊ CƠ SỞ Địa chỉ Offset của tốn hạng được tính là tổng của nộI dung thanh ghi BX hoặc BP và 1 độ dịch Độ dịch là 1 số ngun âm hoặc dương Địa chỉ đọan là đoạn hiện tại 08/01/14 Chuong 7 Cac phep dinh vi 19 ĐỊA CHỈ HIỆU DỤNG Toán hạng bộ nhớ dùng trong tập lệnh vi xử lý 86... hiệu dụng đòa chỉ hiệu dụng 08/01/14 Chuong 7 Cac phep dinh vi 20 ĐỊA CHỈ HIỆU DỤNG Một số thí dụ Đòa chỉ hiệu dụng hợp lệ : [1000h] [SI], [DI] , [BX] , [BP] [SI+BX], [SI+BP] , [DI+BX] , [DI+BP] , [SI+1000h], [DI+100h] [SI] [BX] [1000h], [SI+BP+1000h] , [DI+BX][1000h], [DI+1000h]+ [BP] Đòa chỉ hiệu dụng không hợp lệ : [70000], [AX] , [SI+DI+1000h], [BX] [BP] 08/01/14 Chuong 7 Cac phep dinh vi 21 ĐỊA CHỈ... 1000h và 1001 h Chuong 7 Cac phep dinh vi 23 Ex : Tính tổng 1 array có 5 phần tử Cách thực hiện : MOV BX, OFFSET LIST MOV AX, 0 MOV AL, [BX] ADD AL , [BX+1] ADD AL , [BX+2] ADD AL , [BX+3] ADD AL , [BX+4] MOV SUM , AX ……… LIST DB 10h, 20h, 40h, 2h, 5h SUM DW 0 08/01/14 Lấy đòa chỉ của List vào BX Dựa vào BX để xác đònh các phần tử của array Khi tính tổng xong, đưa tổng vào biến SUM Chuong 7 Cac phep... DB 10, 20, 40, 2, 5 DW 0 08/01/14 Chuong 7 Cac phep dinh vi 25 Tập lệnh Lệnh MOV : Ý nghóa : copy giá trò từ toán hạng nguồn  toán hạng đích Cú pháp : MOV dest , source Yêu cầu : Dest và source cùng kiểu Dạng lệnh : MOV reg , reg MOV mem , reg MOV reg, mem MOV reg16, segreg MOV segreg, reg16 MOV reg, immed MOV mem, immed MOV mem16, segreg MOV segreg, mem16 08/01/14 Chuong 7 Cac phep dinh vi 26 Minh... , DS MOV SS, [2000h] 08/01/14 Chuong 7 Cac phep dinh vi 27 BP Chú ý Lệnh MOV không làm ảnh hưởng đến cờ Không thể chuyển dữ liệu trực tiếp giữa 2 toán hạng bộ nhớ với nhau, muốn chuyển phải dùng thanh ghi trung gian Không thể chuyển 1 giá trò tức thời vào thanh ghi đoạn, muốn chuyển phải dùng thanh ghi trung gian Không thể chuyển trực tiếp giữa 2 thanh ghi đoạn 08/01/14 Chuong 7 Cac phep dinh vi 28... TABLE[0] MOV AL, TABLE+1 hay MOV AL, TABLE[1] MOV AL, TABLE+4 hay MOV AL, TABLE[4] 08/01/14 Chuong 7 Cac phep dinh vi 29 Minh họa lệnh MOV Ex2 : MOV AX, DS : [100h] ; chép nội dung 16 bit tại đòa chỉ 100h trong đoạn chỉ bởi DS vào Reg AX Ex3 : MOV AX, [100h] ; chuyển NỘI DUNG Ơ NHỚ 100h vào Reg AX 08/01/14 Chuong 7 Cac phep dinh vi 30 Áp dụng Viết chương trình chuyển nội dung vùng nhớ bắt đầu tại đòa... chỉ bởi DS Viết chương trình đảo ngược vùng nhớ MEM 08/01/14 Chuong 7 Cac phep dinh vi 31 Lệnh LEA (Load Effective Address) Cú pháp : LEA REG | MEM ý nghóa : nạp đòa chỉ Offset vào thanh ghi để khởi động Reg Ex : MOV DX, OFFSET MES Tương đương với LEA DX, MES Ex : LEA BX, [1000h] ; BX LEA SI, [DI][BX][2000h] ; SI 08/01/14 1000h DI + BX + 2000h Chuong 7 Cac phep dinh vi 32 Lệnh XCHG (XCHANGE) Cú pháp : . 08/01/14 08/01/14 Chuong 7 Cac phep dinh vi dia chi Chuong 7 Cac phep dinh vi dia chi 1 1 Chương 6 : Toán tử – Toán hạng - Chương. quyết và hiện thực thành chương trình. quyết và hiện thực thành chương trình. Mục tiêu 208/01/14 Chuong 7 Cac phep dinh vi dia chi Toán tử Toán tử Điểm quan trọng phân biệt giữa toán tử và lệnh. khiển phép cộng khi dòch. Lệnh cộng ADD điều khiển phép cộng khi chương trình thực hiện. 308/01/14 Chuong 7 Cac phep dinh vi dia chi Toán tử số học Toán tử số học Toán tử Toán tử Cú pháp Cú pháp Công

Ngày đăng: 01/08/2014, 10:21

TỪ KHÓA LIÊN QUAN

w