Kiến trúc máy tính PHẦN II HỢP NGỮ - Chương 7 NHÓM LỆNH CHUYỂN ĐiỀU KHIỂN
Số trang: 40
Loại file: pdf
Dung lượng: 505.81 KB
Lượt xem: 12
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo tài liệu kiến trúc máy tính phần ii hợp ngữ - chương 7 nhóm lệnh chuyển điều khiển, công nghệ thông tin, phần cứng phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Kiến trúc máy tính PHẦN II HỢP NGỮ - Chương 7 NHÓM LỆNH CHUYỂN ĐiỀU KHIỂN Chương 7NHÓM LỆNH CHUYỂN ĐiỀU KHIỂNNhóm lệnh chuyển điều khiển• Lệnh nhảy không điều kiện JMP• Lệnh nhảy có điều kiện JB / JNAE JL / JNGE JBE / JNA JLE / JNG Số Số JA / JNBE JG / JNLE không có dấu dấu JAE / JNB JLE / JNL JE/ JZ JNE/ JNZNhảy theo kiểu không dấuNhảy theo kiểu có dấuNhảy theo kiểu đơn Nhóm lệnh chuyển điều khiển(t.t)• Lệnh so sánh CMP• Lệnh lặp LOOP• Các lệnh khác JP/JNP, JS/JNS, JO/JNO JC / JNC, JZ/ JNZ JCXZ Lệnh JMP• Dạng lệnh : JMP shortlabel JMP mem16 JMP nearlabel JMP mem32 JMP farlabel JMP reg16• Giải thích : shortlabel : IP ← IP + độ dời nearlabel : IP ← địa chỉ farlabel : CS ← địa chỉ segment IP ← địa chỉ offset Lệnh JMP (t.t.)• Dạng lệnh : JMP shortlabel JMP mem16 JMP nearlabel JMP mem32 JMP farlabel JMP reg16• Giải thích : reg16 : IP ← reg16 mem16 : IP ← [địa chỉ +1,địa chỉ] mem32 : CS ← [địa chỉ +3,địa chỉ+2] IP ← [địa chỉ +1,địa chỉ] Lệnh JMP (t.t.)• Lệnh nhảy đến nhãn ngắn shortlabel là lệnh nhảy tương đối. Nơi đến phải nằm trong phạm vi từ -128 đến +127 so với vị trí của lệnh nhảy. Toán hạng nguồn trong lệnh là số có dấu để cộng thêm vào thanh ghi IP.• Ví dụ : JMP SHORT 18h JMP 0F008h JMP DWORD PTR [3000h] Lệnh nhảy có điều kiện• Dạng lệnh : Jcond shortlabel• Giải thích : Nếu thỏa điều kiện thì nhảy, ngược lại không làm gì cả (qua lệnh kế).• Lệnh nhảy có điều kiện dùng trạng thái các cờ để làm điều kiệnCác lệnh nhảy có điều kiện Ví dụ MOV CX,3 ; thực hiện một vòng lặp làm 3 lần. MOV AX,0Nhan: ADD AX,12 DEC CX JNZ Nhan ; nhảy đến lệnh tại vị trí “Nhan” nếu CX ≠ 0. MOV [3000h],AX Lệnh CMP• Dạng lệnh : CMP reg,reg CMP reg,immed CMP mem,reg CMP mem,immed CMP reg,mem CMP accum,immed• Giải thích : phép so sánh thực hiện bằng cách trừ toán hạng đích cho toán hạng nguồn, không lưu lại kết quả mà chỉ giữ lại tác động của phép trừ lên các cờ.• Ví dụ : CMP AL,8 ; AL - 8 CMP WORD PTR [1000h], 3 ; [1001h,1000h] - 3 Lệnh LOOP• Dạng lệnh: LOOP shortlabel• Giải thích : giảm CX, lặp (nhảy) nếu CX ≠ 0 Lặp vòng không điều kiện với CX giữ số lần lặp.• Ví dụ: MOV CX,3 MOV AX,0 Nhan: ADD AX,12 LOOP Nhan MOV [3000h],AX LOOPE/LOOPZ• Dạng lệnh: LOOPE shortlabel LOOPZ shortlabel• Giải thích: giảm CX, lặp vòng (nhảy) nếu CX≠0 và ZF = 1 LOOPNE/LOOPNZ• Dạng lệnh: LOOPNE shortlabel LOOPNZ shortlabel• Giải thích: giảm CX, lặp vòng (nhảy) nếu CX≠0 và ZF = 0 Lệnh JCXZ• Dạng lệnh : JCXZ shortlabel• Giải thích : Nếu CX = 0 thì nhảy• Ví dụ: tìm vị trí xuất hiện giá trị 0 đầu tiên trong mảng 100 byte ở địa chỉ DS:SI MOV CX,100 MOV DI,SI DEC DI lap: INC DI CMP byte ptr [DI],0 LOOPNE lap JCXZ timthay ;xử lý không tìm thấy ;…. JMP ketthuctimthay: ;xử lý …. ;…ketthuc:Lệnh lặp
Nội dung trích xuất từ tài liệu:
Kiến trúc máy tính PHẦN II HỢP NGỮ - Chương 7 NHÓM LỆNH CHUYỂN ĐiỀU KHIỂN Chương 7NHÓM LỆNH CHUYỂN ĐiỀU KHIỂNNhóm lệnh chuyển điều khiển• Lệnh nhảy không điều kiện JMP• Lệnh nhảy có điều kiện JB / JNAE JL / JNGE JBE / JNA JLE / JNG Số Số JA / JNBE JG / JNLE không có dấu dấu JAE / JNB JLE / JNL JE/ JZ JNE/ JNZNhảy theo kiểu không dấuNhảy theo kiểu có dấuNhảy theo kiểu đơn Nhóm lệnh chuyển điều khiển(t.t)• Lệnh so sánh CMP• Lệnh lặp LOOP• Các lệnh khác JP/JNP, JS/JNS, JO/JNO JC / JNC, JZ/ JNZ JCXZ Lệnh JMP• Dạng lệnh : JMP shortlabel JMP mem16 JMP nearlabel JMP mem32 JMP farlabel JMP reg16• Giải thích : shortlabel : IP ← IP + độ dời nearlabel : IP ← địa chỉ farlabel : CS ← địa chỉ segment IP ← địa chỉ offset Lệnh JMP (t.t.)• Dạng lệnh : JMP shortlabel JMP mem16 JMP nearlabel JMP mem32 JMP farlabel JMP reg16• Giải thích : reg16 : IP ← reg16 mem16 : IP ← [địa chỉ +1,địa chỉ] mem32 : CS ← [địa chỉ +3,địa chỉ+2] IP ← [địa chỉ +1,địa chỉ] Lệnh JMP (t.t.)• Lệnh nhảy đến nhãn ngắn shortlabel là lệnh nhảy tương đối. Nơi đến phải nằm trong phạm vi từ -128 đến +127 so với vị trí của lệnh nhảy. Toán hạng nguồn trong lệnh là số có dấu để cộng thêm vào thanh ghi IP.• Ví dụ : JMP SHORT 18h JMP 0F008h JMP DWORD PTR [3000h] Lệnh nhảy có điều kiện• Dạng lệnh : Jcond shortlabel• Giải thích : Nếu thỏa điều kiện thì nhảy, ngược lại không làm gì cả (qua lệnh kế).• Lệnh nhảy có điều kiện dùng trạng thái các cờ để làm điều kiệnCác lệnh nhảy có điều kiện Ví dụ MOV CX,3 ; thực hiện một vòng lặp làm 3 lần. MOV AX,0Nhan: ADD AX,12 DEC CX JNZ Nhan ; nhảy đến lệnh tại vị trí “Nhan” nếu CX ≠ 0. MOV [3000h],AX Lệnh CMP• Dạng lệnh : CMP reg,reg CMP reg,immed CMP mem,reg CMP mem,immed CMP reg,mem CMP accum,immed• Giải thích : phép so sánh thực hiện bằng cách trừ toán hạng đích cho toán hạng nguồn, không lưu lại kết quả mà chỉ giữ lại tác động của phép trừ lên các cờ.• Ví dụ : CMP AL,8 ; AL - 8 CMP WORD PTR [1000h], 3 ; [1001h,1000h] - 3 Lệnh LOOP• Dạng lệnh: LOOP shortlabel• Giải thích : giảm CX, lặp (nhảy) nếu CX ≠ 0 Lặp vòng không điều kiện với CX giữ số lần lặp.• Ví dụ: MOV CX,3 MOV AX,0 Nhan: ADD AX,12 LOOP Nhan MOV [3000h],AX LOOPE/LOOPZ• Dạng lệnh: LOOPE shortlabel LOOPZ shortlabel• Giải thích: giảm CX, lặp vòng (nhảy) nếu CX≠0 và ZF = 1 LOOPNE/LOOPNZ• Dạng lệnh: LOOPNE shortlabel LOOPNZ shortlabel• Giải thích: giảm CX, lặp vòng (nhảy) nếu CX≠0 và ZF = 0 Lệnh JCXZ• Dạng lệnh : JCXZ shortlabel• Giải thích : Nếu CX = 0 thì nhảy• Ví dụ: tìm vị trí xuất hiện giá trị 0 đầu tiên trong mảng 100 byte ở địa chỉ DS:SI MOV CX,100 MOV DI,SI DEC DI lap: INC DI CMP byte ptr [DI],0 LOOPNE lap JCXZ timthay ;xử lý không tìm thấy ;…. JMP ketthuctimthay: ;xử lý …. ;…ketthuc:Lệnh lặp
Tìm kiếm theo từ khóa liên quan:
kiến thức phần cứng kiến trúc máy tính hợp ngữ hệ điều hành lệnh hợp ngữGợi ý tài liệu liên quan:
-
Giáo trình Lý thuyết hệ điều hành: Phần 1 - Nguyễn Kim Tuấn
110 trang 441 0 0 -
67 trang 288 1 0
-
Giáo trình Nguyên lý các hệ điều hành: Phần 2
88 trang 263 0 0 -
175 trang 261 0 0
-
173 trang 260 2 0
-
Giáo trình Nguyên lý hệ điều hành (In lần thứ ba): Phần 1 - PGS.TS. Hà Quang Thụy
98 trang 237 0 0 -
Đề tài nguyên lý hệ điều hành: Nghiên cứu tìm hiểu về bộ nhớ ngoài trong hệ điều hành Linux
19 trang 236 0 0 -
Giáo trình Kiến trúc máy tính và quản lý hệ thống máy tính: Phần 1 - Trường ĐH Thái Bình
119 trang 225 0 0 -
Bài thảo luận nhóm: Tìm hiểu và phân tích kiến trúc, chức năng và hoạt động của hệ điều hành Android
39 trang 220 0 0 -
Giáo trình Hệ điều hành: Phần 2
53 trang 206 0 0