Cấu trúc Máy tính và Lập trình Assembly - Chương 7 pps

40 715 2
Cấu trúc Máy tính và Lập trình Assembly - Chương 7 pps

Đ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

07/24/14 07/24/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 207/24/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. 307/24/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 407/24/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) 507/24/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 607/24/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 707/24/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 hay toán hạng Expression có thể là biến | nhãn | tên segment hay toán hạng bộ nhớ khác. bộ nhớ khác. 807/24/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 hay toán hạng Expression có thể là biến | nhãn | tên segment hay toán hạng trực tiếp bộ nhớ khác. 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 907/24/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. 1007/24/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 [...]... segment ngầm định chứa trong ES nếu dùng BP 07/ 24/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 07/ 24/14 Chuong 7 Cac phep dinh vi 17 ĐỊNH VỊ TRỰC TIẾP Địa chỉ Offset củ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 07/ 24/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... MOV AL, TABLE+4 hay MOV AL, TABLE[4] 07/ 24/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 07/ 24/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ỉ 70 0h sang vùng nhớ có đòa chỉ bắt đầu là... CHẠY CT này bằng DEBUG Ex : Tính tổng 1 array có 5 phần tử -A 100 MOV BX, 0120 MOV AX, 0 MOV AL, [BX] ADD AL , [BX+1] ADD AL , [BX+2] ADD AL , [BX+3] ADD AL , [BX+4] MOV [0125], AX -A 120 DB 10, 20, 40, 2, 5 DW 0 07/ 24/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... ngầm định chứa trong DS Ex : MOV BX, [1234] Nạp nộI dung ơ nhớ có địa chỉ DS:1234  BX 07/ 24/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 07/ 24/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... đầu là 1000h Biết chiều mỗi vùng nhớ là 9 bytes và dữ liệu đang khảo sát trong đoạn được chỉ bởi DS Cho vùng nhớ MEM có chiều dài 9 bytes gồm các ký tự ‘abcdefghi’ trong đoạn chỉ bởi DS Viết chương trình đảo ngược vùng nhớ MEM 07/ 24/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... MEM16 PUSH SEGREG Đẩy toán hạng nguồn 16 bit vào STACK Ex : PUSH DI ; [SS :SP+1, SS :SP] DI Ex : PUSH CS ; [SS :SP+1, SS :SP] CS 07/ 24/14 Chuong 7 Cac phep dinh vi 34 Lệnh POP Cú pháp : POP REG16 POP MEM16 POP SEGREG Lấy dữ liệu từ đỉnh STACK vào toán hạng đòch Ex : POP AX ; AX [SS :SP+1, SS :SP] Ex : POP [BX+1] ; [BX+2, BX+1] 07/ 24/14 [SS :SP+1, SS :SP] Chuong 7 Cac phep dinh vi 35 Lệnh IN Cú pháp : IN... 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 07/ 24/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 07/ 24/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... hiệu dụng đòa chỉ hiệu dụng 07/ 24/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ệ : [70 000], [AX] , [SI+DI+1000h], [BX] [BP] 07/ 24/14 Chuong 7 Cac phep dinh vi 21 ĐỊA CHỈ... [DI][BX][2000h] ; SI 07/ 24/14 1000h DI + BX + 2000h Chuong 7 Cac phep dinh vi 32 Lệnh XCHG (XCHANGE) Cú pháp : XCHG DEST , SOURCE ý nghóa : hoán chuyển nội dung 2 Reg, Reg và ô nhớ Yêu cầu : 2 toán hạng phải cùng kiểu 2 toán hạng không thể là 2 biến bộ nhớ Muốn hoán đổi trò của 2 biến phải dùng Reg trung gian Ex : XCHG AH, BL MOV VAR1, VAR2 ; không hợp lệ, phải dùng Reg tạm 07/ 24/14 Chuong 7 Cac phep dinh . 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 2 07/ 24/14 Chuong 7 Cac phep. 07/ 24/14 07/ 24/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. XOR 0011100B) 5 07/ 24/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

Ngày đăng: 24/07/2014, 09:20

Từ khóa liên quan

Mục lục

  • Chương 6 : Toán tử – Toán hạng - các phép đònh đòa chỉ – Tập lệnh

  • Toán tử

  • Toán tử số học

  • Toán tử logic

  • Toán Tử Quan Hệ

  • ĐỘ ƯU TIÊN TOÁN TỬ

  • Toán tử SEG

  • Toán tử OFFSET

  • TOÁN TỬ $

  • TOÁN TỬ PTR

  • Toán hạng (Operand)

  • Slide 12

  • Cơ chế đònh vò đòa chỉ

  • ĐỊNH VỊ TỨC THỜI

  • ĐỊNH VỊ THANH GHI

  • ĐỊNH VỊ BỘ NHỚ

  • PowerPoint Presentation

  • Slide 18

  • ĐỊNH VỊ CƠ SỞ

  • ĐỊA CHỈ HIỆU DỤNG

Tài liệu cùng người dùng

Tài liệu liên quan