1 / 21

Lệnh điều khiển nhảy và lặp

Lệnh điều khiển nhảy và lặp. GV: Phạm Viết Văn Email: phamvietvanc4@gmail.com. Nội dung. Lệnh nhảy không điều kiện Lệnh nhảy có điều kiện Lệnh lặp. Nội dung. Lệnh nhảy không điều kiện Lệnh nhảy có điều kiện Lệnh lặp. Nhãn. Đại diện cho một vị trí trong chương trình .

elsu
Download Presentation

Lệnh điều khiển nhảy và lặp

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lệnhđiềukhiểnnhảyvàlặp GV: PhạmViếtVăn Email: phamvietvanc4@gmail.com

  2. Nội dung • Lệnhnhảykhôngđiềukiện • Lệnhnhảycóđiềukiện • Lệnhlặp Các lệnh điều khiển nhảy và lặp

  3. Nội dung • Lệnhnhảykhôngđiềukiện • Lệnhnhảycóđiềukiện • Lệnhlặp Các lệnh điều khiển nhảy và lặp

  4. Nhãn • Đạidiệnchomộtvịtrítrongchươngtrình. • Theo saubởidấu 2 chấm (:) Trongchươngtrìnhcónhãntrùngtênđượckhông? LEA DX, OFFSET MSG DisplayMessage: MOV AH, 9 INT 21h Các lệnh điều khiển nhảy và lặp

  5. Lệnhnhảykhôngđiềukiện • LệnhnhảyJMP(Jump) • Thayđổithứtựthựchiệnlệnhtrongchươngtrình • Cúpháp: JMPNhãn LEA DX, OFFSET MSG JMP DisplayMessage MOV AH, 1 INT 21h DisplayMessage: MOV AH, 9 INT 21h Các lệnh điều khiển nhảy và lặp

  6. Lệnhnhảykhôngđiềukiện (tt) • Demo vềlệnhnhảykhôngđiềukiện Các lệnh điều khiển nhảy và lặp

  7. Nội dung • Lệnhnhảykhôngđiềukiện • Lệnhnhảycóđiềukiện • Lệnhlặp Các lệnh điều khiển nhảy và lặp

  8. Nhắclạivềthanhghicờ • Làmộtthanhghi • Cho biết • Trạngthái CPU • Kếtquảthựchiệnlệnh saucùng Các lệnh điều khiển nhảy và lặp

  9. Nhắclạivềthanhghicờ (tt) • CờkhôngZF (Zero Flag) • Nếukếtquảthựchiện lệnhlà 0  ZF = 1 • Ngượclại  ZF = 0 • CờdấuSF (Sign Flag) • Kếtquảlàsốâm SF = 1 • Ngượclại  SF = 0 MOV AL, 0 ; AL = 0 ADD AL, 1 ; AL = 1, ZF = 0 SUB AL, 1 ; AL = 0, ZF = 1 MOV AL, 0 ; AL = 0 SUB AL, 1 ; AL = -1, SF = 1 ADD AL, 1 ; AL = 0, SF = 0 Các lệnh điều khiển nhảy và lặp

  10. Sựảnhhưởngcáclệnhđếncờ • Cáclệnhcóảnhhưởng • ADD • SUB • INC • DEC • … • Cáclệnhkhôngảnhhưởngtớicờ MOV, XCHG, … Các lệnh điều khiển nhảy và lặp

  11. LệnhCMP (compare) • Cúpháp: CMP Đích, Nguồn • Đích = Nguồn: ZF = 1 • Đich > Nguồn: SF = 0 (sốcódấu), CF = 0 (sốkhôngdấu) • Đích < Nguồn SF = 1 (sốcódấu), CF = 1 (sốkhôngdấu) • Vídụ: MOV AL, 10 CMP AL, 11 ; SF = 1 Các lệnh điều khiển nhảy và lặp

  12. Lệnhnhảycóđiềukiện • Cúpháp: JxxNhãn JxxNhãn <Lệnhkếtiếp> Nhãn: ….. Đ ? Nhãn S <Lệnhkếtiếp> Các lệnh điều khiển nhảy và lặp

  13. Lệnhnhảycóđiềukiện (tt) Các lệnh điều khiển nhảy và lặp

  14. Lệnhnhảycóđiềukiện (tt) Các lệnh điều khiển nhảy và lặp

  15. Lệnhnhảycóđiềukiện (tt) • Vídụ: Giảithuật if (AX == 0) { BX = -1; } • Lệnhhợpngữ: • CMP AX, 0 • JNE Nhan_1 • MOV BX, -1 • Nhan_1: • ….. Các lệnh điều khiển nhảy và lặp

  16. Lệnhnhảycóđiềukiện (tt) • Demo lệnhnhảycóđiềukiện • Nhậpvào 2 kítự, in rakítựlớnhơn • In racáckítựcómã ASCII từ 0 đến 255 Các lệnh điều khiển nhảy và lặp

  17. Nội dung • Lệnhnhảykhôngđiềukiện • Lệnhnhảycóđiềukiện • Lệnhlặp Các lệnh điều khiển nhảy và lặp

  18. LệnhlặpLOOP • Cầnlặpbaonhiêulầnđưavào CX MOV CX, sốlầnlặp Nhãn: <Lệnh …> LOOP Nhãn: Thựchiệnnhóm lệnh <Lệnh…> CX lần Các lệnh điều khiển nhảy và lặp

  19. LệnhlặpLOOP • Nếu CX = 0  Thựchiện 65536 lần MOV CX, sốlầnlặp JCXZ Thoat_Lap Nhãn: <Lệnh …> LOOP Nhãn: Thoat_Lap: …… Các lệnh điều khiển nhảy và lặp

  20. LệnhlặpLOOP • Demo lệnhlặp LOOP • In racáckítựcómã ASCII từ 0  255 Các lệnh điều khiển nhảy và lặp

  21. Các lệnh điều khiển nhảy và lặp

More Related