You are on page 1of 4

BO CO BI TP LN VI X L

Thnh vin: 1.Nguyn Thin Thut (41003298) 2.Nguyn Nht Nam (41002034) 3.Nguyn Vn Hip (41001053) Bi 1: Cho khi d liu trong vng RAM ngoi cha m ASCII bt u t a ch 8000H, chiu di ca khi d liu l ni dung ca nh 7FFFH (gi s khc 0). Vit chng trnh kim tra xem c bao nhiu nh cha m ASCII ca k t ch s c gi tr l, kt qu ct vo nh c a ch 7FFEH. Bi lm: MOV R7,#80H MOV R6,#00H ;R7,R6 con tro dia chi o nho chua ma ASCII MOV DPTR,#7FFFH MOV A,#0 ;bien dem ma ASCII le MOV 7FFEH,A ;cat gia tri cua A vao vung 7FFEH MOV R5,DPH ;R5,R4 con tro o nho chua chieu dai khoi data MOV R4,DPL MOV DPH,R7 MOV DPL,R6 MOV A,@DPTR ;dua ma ASCII vao A JB ACC.0,LE ;kiem tra bit0 cua A SJMP TTUC MOV A,7FFEH INC A MOV 7FFEH,A ;tang bien dem len 1 roi cat lai vao 7FFEH SJMP TTUC INC DPTR ;tang con tro dia chi o nho len 1 MOV R7,DPH ;cat dia chi nguoc lai R7,R6 MOV R6,DPL MOV DPH,R5 ; ;nap chieu dai tu R5,R4 vao DPTR MOV DPL,R4 MOVXA,@DPTR DJNZ ACC,LAP ;lap den het chieu dai chuoi SJMP $

LAP:

LE:

TTUC:

Bi lm b sai : - m ASCII k t ch s c gi tr 30H n 39H v c bit LSB = 1 - Mun chuyn d liu t A v RAM ngoi th phi s dng lnh MOVX - Nn s dng bin m l thanh ghi ram ni, sau khi x l xong ht chui Ram ngoi th mi chuyn vo RAM ngoi. Lm nh vy CT n gin hn. - Cc lnh gcg di l cc lnh ko c ca 8051

Bi 2: Cho khi d liu trong vng RAM ngoi cha s BCD nn bt u t a ch 8000H, chiu di ca khi d liu l ni dung ca nh 7FFFH (gi s khc 0). Vit chng trnh hon i 4 bit thp v 4 bit cao cho nhau nu nh c cha 4 bit thp v 4 bit cao cha gi tr khc 0. Bi gii: MOV MOV MOV LAP: MOV MOV MOV MOV MOV R7,#80H R6,#00H A,#7FFFH DPTR,A R5,DPH R4,DPL DPH,R7 DPL,R6 ;nap dia chi dau vao DPTR ;con tro dem ;con tro data

MOVC A,@DPTR SWAP A MOVX@DPTR,A INC MOV MOV MOV MOV DPTR

;nap so BCD vao A ;hoan doi 4 bit cao voi 4bit thap ;tra lai o nho ban dau ;tang con tro 1

R7,DPH R6,DPL DPH,R5 DPL,R4 ;nap chieu dai khoi du lieu vao DPTR

MOVXA,@DPTR DJNZ MOV MOV LAP : PUSH MOV ACC,LAP DPTR,#8000H;nap gia tri dau cho con tro A,3FFFH ACC A,@DPTR ;doc chieu dai cua khoi du lieu vao A ;cat noi dung cua A vao vung stack ;nap noi dung o nho duoc tro toi vao A

SWAP MOV INC POP DJNZ SJMP Khng hiu bi??

A @DPTR,A DPTR ACC ACC,LAP $

;hoan doi 4 bit cao voi 4 bit thap ;cat noi dung nguoc lai o nho ;tang con tro ;lay noi dung A trong vung stack ra ;neu A#0 thi quay lai vong lap ;neu A=0 thi ket thuc vong lap

Bi 3: Vit chng trnh con tn CTC8 c chc nng so snh ni dung cp thanh ghi R7_R6 v R5_R4. Nu R7_R6 ln hn th cho c F0 =1, ngc li F0 = 0. S dng chng trnh con CTC8 kim tra chui d liu cha cc gi tr 16 bit c du: chui d liu bt u t a ch 4000H, s lng cc gi tr 16 bit l ni dung nh 3FFFH v mi gi tr c cha trong 2 nh lin tip nhau ( nh c a ch cao hn cha byte cao). Vic kim tra c nhim v m c bao nhiu gi tr 16 bit l s m, kt qu ct vo nh 3FFEH. Gi tr 16 bit l s m c biu din 8000H ,FFFFH (bit du =1) Bi lm: CTC8 CLR C MOV A,R6 SUBB A,R4 MOV R3,A MOV A,R7 SUBB A,R5 JB ACC.7,NHO

SETB F0 SJMP THOAT NHO: CLR THOAT: F0 RET

Trng hp 2 s bng nhau F0 =1, ko ng nh yu cu. S dng:

ORG 0000H MOV MOV R2, #0 DPTR, #3FFFH

MOVXA,@DPTR MOV MOV LAP: R3, A DPTR, #4000H

MOVXA,@DPTR MOV INC R6,A DPTR

MOVXA,@DPTR MOV MOV MOV ACALL JB INC TTUC: INC DJNZ MOV MOV MOVX SJMP R7,A R5,#0 R4,#0 CTC8 F0,TTUC R2 DPTR R3,LAP DPTR,#3FFEH A,R2 @DPTR,A $ ; JNB F0, TTUC ; ; MOV MOV R5, #7FH R4, #0FFH

You might also like