1. Trang chủ
  2. » Công Nghệ Thông Tin

Chương 2 - Các chỉ logic và điều khiển potx

17 208 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 17
Dung lượng 433,45 KB

Nội dung

Chửụng 2: CAC CHặ THề LOGIC VAỉ ẹIEU KHIEN Cỏc lnh iu khin r nhỏnh Cỏc lnh nhy cú iu kin: * Phm vi ca lnh nhy cú iu kin: cu trỳc mó mỏy ca lnh nhy cú iu kin ũi hi nhón ớch phi ng trc lnh nhy khụng quỏ 126 byte hoc ng sau khụng quỏ 127 byte * Cú 3 loi lnh nhy cú iu kin: + Cỏc lnh nhy cú du: c dựng khi kt qu tr v l cỏc s cú du + Cỏc lnh nhy khụng du: c dựng khi kt qu tr v l cỏc s khụng du + Cỏc lnh nhy iu kin n: iu kin ph thuc vo 1 c riờng bit Chửụng 2: CAC CHặ THề LOGIC VAỉ ẹIEU KHIEN Cỏc lnh iu khin r nhỏnh Cỏc lnh nhy cú iu kin: * Cỏc lnh nhy cú du: Ký hiu Chc nng iu kin nhy JG/JNLE Nhy nu ln hn ZF=0 v SF=0F JGE/JNL Nhy nu ln hn hoc bng SF=0F JL/JNGE Nhy nu nh hn SF<>0F JLE/JNG Nhy nu nh hn hoc bng ZF=1 hay SF=0F Chửụng 2: CAC CHặ THề LOGIC VAỉ ẹIEU KHIEN Cỏc lnh iu khin r nhỏnh Cỏc lnh nhy cú iu kin: * Cỏc lnh nhy khụng du: Ký hiu Chc nng iu kin nhy JA/JNBE Nhy nu ln hn CF=0 v ZF=0 JAE/JNB Nhy nu ln hn hoc bng CF=0 JB/JNAE Nhy nu nh hn CF=1 JBE/JNA Nhy nu nh hn hoc bng CF=1 hay ZF=1 Chửụng 2: CAC CHặ THề LOGIC VAỉ ẹIEU KHIEN Cỏc lnh iu khin r nhỏnh Cỏc lnh nhy cú iu kin: * Cỏc lnh nhy iu kin n: Ký hiu Chc nng iu kin nhy JE/JZ Nhy nu bng/Nhy nu bng 0 ZF=1 JNE/JNZ Nhy nu khụng bng/Nu khỏc 0 ZF=0 JC Nhy nu cú nh CF=1 JNC Nhy nu khụng nh CF=0 JO Nhy nu trn s OF=1 JNO Nhy nu khụng trn OF=0 JS Nhy nu du õm SF=1 JNS Nhy nu du dng SF=0 JP/JPE Nhy nu c chn PF=1 JNP/JPO Nhy nu c l PF=0 Chửụng 2: CAC CHặ THề LOGIC VAỉ ẹIEU KHIEN Cỏc lnh iu khin r nhỏnh Cỏc lnh nhy cú iu kin: Vớ d: Vit chng trỡnh hin th ton b tp hp cỏc ký t ca h IBM TITLE BAITAP4:IBM .MODEL SMALL .STACK 100h .CODE MAIN PROC MAIN ENDP END MAIN MOV AH,4Ch ;tr quyn iu khin INT 21h MOV AH,2 MOV CX,256 ; s ký t MOV DL,0 ; NULL PRINT_LOOP INT 21h INC DL DEC CX JNZ PRINT_LOOP Chửụng 2: CAC CHặ THề LOGIC VAỉ ẹIEU KHIEN Cỏc lnh iu khin r nhỏnh Cỏc lnh nhy cú iu kin: Lnh CMP Lnh CMP dựng so sỏnh gia 2 toỏn t bng cỏch ly toỏn t ớch tr i toỏn t ngun Cỳ phỏp: CMP <ớch>,<ngun> Chỳ ý: + Thng c s dng chung vi lnh nhy cú iu kin + CMP ging lnh SUB nhng toỏn hng ớch khụng b thay i giỏ tr. Vớ d: Vi AX=7FFFh, BX=0001h CMP AX,BX ;iu kin nhy AX>BX JG NHAN ;nu ln hn thỡ nh n nhón NHAN NHAN: Chửụng 2: CAC CHặ THề LOGIC VAỉ ẹIEU KHIEN Cỏc lnh iu khin r nhỏnh Lnh nhy khụng iu kin: Lnh JMP Lnh JMP dựng nhy khụng iu kin, dựng khc phc gii hn ca lnh nhy cú iu kin: Cỳ phỏp: JMP <ớch> Vớ d: MOV CX,10 TOP: DEC CX ;gim b m JNZ BOTTOM ;ỳng lp li nu CX> JMP EXIT ;sai nhy n nhón EXIT BOTTOM: JMP TOP EXIT: MOV AX,BX Chửụng 2: CAC CHặ THề LOGIC VAỉ ẹIEU KHIEN Cu trỳc r nhỏnh IFTHEN.ELSE Cu trỳc r nhỏnh IFTHEN ELSE biu din nh sau: iu kin ỳng Lnh 1 Sai Vớ d: Nu AX>0 thỡ AX = AX-1, ngc li (AX<=0) thỡ AX=AX+1 Mụ t: IF AX>0 THEN AX = AX - 1 ELSE AX = AX + 1 END IF CMP AX,0 ;AX>0? JNL ELSE_ ;AX<=0 nhy DEC AX ;AX=AX-1 JMP ENDIF_ ELSE_: INC AX ;AX=AX+1 ENDIF_: Lnh 2 Chửụng 2: CAC CHặ THề LOGIC VAỉ ẹIEU KHIEN Cu trỳc CASE Cu trỳc r nhỏnh CASE biu din nh sau: Giỏ tr 1 Phỏt biu Kim tra giỏ tr Giỏ tr 2 Giỏ tr k Khụng cú giỏ tr no Tp lnh 1 Tp lnh 2 Tp lnh k Tp lnh Chửụng 2: CAC CHặ THề LOGIC VAỉ ẹIEU KHIEN Cu trỳc CASE Vớ d: Nu AX>0 thỡ BX = 1, nu AX<0 thỡ BX=-1, nu AX=0 thỡ BX=0 Mụ t: CASE AX <0: BX= - 1 =0: BX= 0 >0: BX= 1 END_CASE CMP AX,0 ;kim tra AX JL NHO ;Nu AX<0 JE BANG ;Nu AX=0 JG LON ;Nu AX>0 JMP END_CASE NHO: MOV BX,-1 JMP END_CASE BANG: MOV BX,0 JMP END_CASE LON: MOV BX,1 JMP END_CASE END_CASE: [...]... db -1 j db -1 mov int mov int dl,0ah 21 h dl,0Dh 21 h mov inc cmp jl jge j,0 i i,5 for_j exit code mov ax,@data mov ds,ax mov ah ,2 mov int inc cmp jl jge dl,'*' 21 h j j ,20 for_j for_i exit: mov ah,4ch int 21 h end Chửụng 2: CAC CHặ THề LOGIC VAỉ ẹIEU KHIEN BI TP Vit chng trỡnh: 1 Nhp vo 1 ký t, nu khụng phi l mt s thỡ nhp li, nu l s thỡ in s ú ra mn hỡnh 2 Nhp vo 2 ký t s (19), Tỡm s ln nht v s nh nht... INT 21 h JMP THOAT BUOI_TRUA: LEA DX,CBT MOV AH,9 INT 21 h JMP THOAT BUOI_CHIEU: LEA DX,CBC MOV AH,9 INT 21 h JMP THOAT END Chửụng 2: CAC CHặ THề LOGIC VAỉ ẹIEU KHIEN Vớ d: Vit chng trỡnh hin th lờn mn hỡnh hỡnh ch nht tụ kớn du * vi 10 ct v 5 hng: ********** ********** ********** ********** ********** Mụ t: for_j: stack 100h for_i: For I=1 to 5 For J=1 to 10 In(*) End_For_J End_For_I data i db -1 j db -1 ...Chửụng 2: CAC CHặ THề LOGIC VAỉ ẹIEU KHIEN Cu trỳc lp FOR Vũng lp FOR l cu trỳc lp li cỏc dũng lnh vi s ln xỏc nh trc, thng dựng bin m iu khin) Vớ d: Hin th lờn mn hỡnh 80 du * Khi to m Mụ t: FOR 80 ln DO Hin th du * END_FOR Lnh MOV MOV MOV m=m-1 CX,80 AH ,2 DL,* ;Khi to m ;In du * FOR_: m=0? ỳng Sai JCXZ SKIP INT 21 h LOOP FOR_ SKIP: ;lp li Chửụng 2: CAC CHặ THề LOGIC VAỉ ẹIEU KHIEN Cu... t u dũng DO m=m+1 c mt ký t END_WHILE Chửụng 2: CAC CHặ THề LOGIC VAỉ ẹIEU KHIEN Cu trỳc lp WHILE Vớ d: m s ký t trong mt dũng MOV MOV INT WHILE_: CMP JE INC INT JMP END_WHILE: DX,0 AH,1 21 h ;DX m s ký t ;c 1 ký t AL,0Dh END_WHILE DX 21 h WHILE_ ;cú phi ký t u dũng khụng? ;ỳng Thoỏt vũng lp ;Khụng ỳng Tng m lờn 1 ;c li 1 ký t ;lp li Chửụng 2: CAC CHặ THề LOGIC VAỉ ẹIEU KHIEN Cu trỳc lp REPEAT Vũng lp... t 21 h AL, REPEAT_ ; Khụng ỳng Chửụng 2: CAC CHặ THề LOGIC VAỉ ẹIEU KHIEN Vớ d: Vit chng trỡnh cho nhp 1 ký t t mn hỡnh v xut cõu thụng bỏo cho bui sỏng, bui tra hay bui chiu tng ng vi ký t nhpvo l 'S', 's', 'T', 't', 'C', 'c' CMP JE CMP JE MODEL SMALL STACK 100h DATA CBS CBT CBC DB "CHAO BUOI SANG$" DB "CHAO BUOI TRUA$" DB "CHAO BUOI CHIEU$" CODE MOV MOV AX, @DATA DS, AX ;nhp mt ký t MOV INT AH,1 21 h . MOV AH,4Ch ;tr quyn iu khin INT 21 h MOV AH ,2 MOV CX ,25 6 ; s ký t MOV DL,0 ; NULL PRINT_LOOP INT 21 h INC DL DEC CX JNZ PRINT_LOOP Chửụng 2: CAC CHặ THề LOGIC VAỉ ẹIEU KHIEN Cỏc lnh iu. AX = AX - 1 ELSE AX = AX + 1 END IF CMP AX,0 ;AX>0? JNL ELSE_ ;AX<=0 nhy DEC AX ;AX=AX-1 JMP ENDIF_ ELSE_: INC AX ;AX=AX+1 ENDIF_: Lnh 2 Chửụng 2: CAC CHặ THề LOGIC VAỉ. Giỏ tr 2 Giỏ tr k Khụng cú giỏ tr no Tp lnh 1 Tp lnh 2 Tp lnh k Tp lnh Chửụng 2: CAC CHặ THề LOGIC VAỉ ẹIEU KHIEN Cu trỳc CASE Vớ d: Nu AX>0 thỡ BX = 1, nu AX<0 thỡ BX =-1 , nu AX=0

Ngày đăng: 28/07/2014, 06:20

TỪ KHÓA LIÊN QUAN

w