Trường ĐH công nghệ giao thông vận tải Lớp 60CĐT2 Đề tài: Tìm hiểu tập lệnh vi xử lý 8088 Nhóm thực hiện: Nhóm Nhóm lệnh xử lý số học Lệnh cộng không nhớ: Viết lệnh: ADD Đích, Nguồn Mô tả: Đích ← Đích + Nguồn VD: ADD CX,SI ; CX ← CX + SI ADD DH,BL ; DH ← DH + BL Cộng có nhớ: Viết lệnh: ADC Đích, Nguồn Mô tả: Đích ← Đích + Nguồn + CF VD: ADC BX,AX ; BX ← BX + AX + CF Nhóm lệnh xử lý số học Lệnh trừ không mượn: Viết lệnh: SUB Đích Mô tả: Nguồn Đích ← Đích - Nguồn VD: SUB DL,AL ; DL ← DL - AL Lệnh trừ có mượn: Viết lệnh: SBB Đích, Nguồn Mô tả: Đích ← Đích - Nguồn – CF VD: SBB SI,BX ; SI ← SI - BX -CF SBB BYTE PTR [BX],2 ; [BX+1,BX] ← [BX+1,BX] - - CF Nhóm lệnh xử lý số học Lệnh tăng: Viết lệnh: INC Đích Mô tả: Đích ← Đích + Nếu Đích = FFH ( FFFFH) Đích+1 = 00H ( 0000H) mà không ảnh hưởng đến cờ CF Lệnh giảm: Viết lệnh: DEC Đích Mô tả: Đích ← Đích - Nếu Đích = 00H ( 0000H) Đích-1 = FFH ( FFFFH) mà không ảnh hưởng đến cờ CF NEG Đích: Lấy bù hai toán hạng, đảo dấu toán hạng Mô tả: Đích ← – (Đích) Nhóm lệnh xử lý số học Lệnh nhân không dấu: Viết lệnh:MUL Nguồn Mô tả:Toán hạng nguồn bit : AX ← AL * thn8 Toán hạng nguồn 16 bit : DX AX ← AX * thn16 Ví dụ:Nếu AL=5, CH=4, sau thực lệnh MUL CH ta có AX = AL*CH = 0014h Nếu AX=500h, [1001h,1000h]=401h, sau thực lệnh MUL WORD PTR [1000h] ta có DXAX = AX * [1001h,1000h] = 500h * 401h = 00140500h Nghĩa DX=0014h AX=0500h 10.Lệnh nhân có dấu Đối với lệnh nhân có dấu(IMUL) phép toán thực tương tự khác kết xem có dấu Nhóm lệnh xử lý số học 11 Chia không dấu: Viết lệnh: DIV Nguồn Mô tả: Toán hạng nguồn bit:AL ← (AX/thn8);AH ← Số dư của(AX/thn8) Toán hạng nguồn 16 bit:AX← (DXAX/thn16);DX ← Số dư của(DXAX/thn8) VD: Nếu AX=0024h,[2000h]=05 sau thực lệnh DIV BYTE PTR[2000h] Ta có AL=07 AH=01 Nếu DX=0001h,AX=0024h, BX=0200h sau thực lệnh DIV BX Ta có: AX=0008 DX=0024 12.Chia có dấu: Đối với lệnh chia có dấu(IDIV) phép toán thực tương tự khác kết xem có dấu Nhóm lệnh logic Lệnh AND Viết lệnh: AND Đích, Nguồn Mô tả: Đích ← Đích ∧ Nguồn VD:AND AL,BL;AL ← AL ∧ BL theo bit Lệnh OR Viết lệnh: OR Đích, Nguồn Mô tả: Đích ← Đích ∨ Nguồn VD:OR AL,BL;AL ← AL∨ BL theo bit Nhóm lệnh logic Lệnh XOR Viết lệnh: XOR Đích, Nguồn Mô tả: Đích ← Đích ⊕ Nguồn VD:XOR AL,BL;AL ← AL⊕ BL theo bit Lệnh NOT Viết lệnh: NOT Đích Mô tả: Đích ← Đích VD:NOT AH; AH ← (AH) Nhóm lệnh logic Lệnh TEST Viết lệnh: TEST Đích,Nguồn Mô tả: Đích ∧ Nguồn VD: TEST AH,AL; AH ∧ AL để tạo cờ Nhóm lệnh rẽ nhánh Lệnh LOOP