You are on page 1of 2

Bi thc hnh s 4

Lm vic vi s nguyn
Mc ch
Bit s dng cc php ton logic, s hc Bit cch i gia cc c s nh phn, thp phn v thp lc phn

Tm tt l thuyt
Php ton trn bit 1. NOT : lnh ny i tc t ch thnh s b. Khng c c no b nh hng 2. AND (OR hoc XOR) : AND (OR, XOR) ch, ngun Tt c cc c u b nh hng Ch : AND dng xa cc bit. OR dng bt cc bit. XOR dng o bit. 3. Cc lnh dch bit SHL v SHR : dch cc bit ca ton hng ch sang tri (hoc phi) mt hay nhiu bit. SHL (SHR) ch, 1 hoc SHL (SHR) ch, CL CL l s ln dch bit.Vic dch bit tri (phi) tng ng vi php nhn (chia) cho ly tha 2. Ch : Hin tng trn s c th xy ra v c CF cha bit cui cng b dch ra khi ton hng. dch bit vi cc s m ta nn dng SAL hoc SAR tng ng. 4. Cc lnh quay ROL v ROR : dch cc bit ca ton hng ch sang tri (phi) mt hay nhiu bit theo vng trn. ROL (ROR) ch, 1 hoc ROL (ROR) ch, CL CL l s ln quay bit, c CF s cha gi tr bit b dch ra khi ton hng. Ch : dch bit qua c nh ta dng RCL hoc RCR tng ng. V d : S dng lnh ROL m s bit 1 trong thanh ghi BX XOR AX,AX MOV CX,16 TOP : ROL BX, 1 JNC NEXT ; kim tra c phi l bit 0 khng INC AX ; nu khng phi th tng s bit 1 NEXT: LOOP TOP ; lp cho n khi lm xong Lnh s hc 1. Cng ADD, ADC : ADD (ADC) ch , ngun V d : ADD AL , 10H -> AL = AL + 10H 2. Tr SUB, SBB : SUB (SBB) ch , ngun V d : SUB BL, 10H -> BL = BL 10H Ch : Cc php ton cng tr trc tip gia cc nh l khng hp l. Ngoi ra ta cng c th s dng INC hoc DEC cng hoc tr 1 n v vo ni dung mt nh hoc mt thanh ghi. 3. Nhn MUL, IMUL: MUL (IMUL) ngun Lnh MUL thc hin php nhn khng du, cn IMUL l lnh nhn c du. Nu ngun l byte (8 bit) th kt qu cha trong AX v AX = AL * ngun. Nu ngun l word (16 bit) th kt qu cha trong DX:AX v DX:AX = AX * ngun. Nu ngun l double (32 bit) th kt qu cha trong EDX:EAX v EDX:EAX = EAX * ngun. 4. Chia DIV, IDIV : DIV (IDIV) s chia

Lnh DIV thc hin chia khng du, cn IDIV l lnh chia c du. Nu s chia l byte (8 bit) th s b chia l AX v kt qu gm: phn d = AH, phn thng = AL. Nu s chia l word (16 bit) th s b chia l DX:AX v kt qu gm phn d = DX, phn thng = AX. Nu s chia l double th s b chia l EDX:EAX v kt qu gm phn d = EDX, phn thng = EAX. Ch : phi xo gi tr DX hoc EDX trc khi nhn, hoc chia.

Ti liu tham kho


1. 2. 3. 4. Nguyn Minh Tun, Gio trnh hp ng - Chng 7, HKHTN, 2002 Randal Hyde, The art of assembly language programming Chapter 9. Norton Guide Dan Rollins, TechHelp v.6.0

Bi tp
1. Vit chng trnh (VCT) i mt s dng thp phn sang thp lc phn. V d: Nhp mt s h 10 : 26 Dng thp lc phn: 1A 2. VCT nhp mt s h thp phn ri xut ra biu din dng nh phn ca n. V d: Nhp s h 10: 26 Dng nh phn: 11010 3. VCT i mt s dng thp lc phn sang sang thp phn. V d: Nhp s h thp lc phn: 1a (hoc 1A) Dng thp phn ca n l: 26 4. VCT i mt s dng thp lc phn sang nh phn V d: Nhp s h thp lc phn: 1a (hoc 1A) Dng biu din nh phn l : 00011010 5. VCT i mt s dng nh phn sang thp phn V d: Nhp mt s nh phn: 11010 Dng thp phn l: 26 6. VCT i mt s dng nh phn sang thp lc phn V d: Nhp mt s nh phn: 11010 Dng thp lc phn l: 1A 7. VCT echo vi yu cu: nhp vo s nguyn dng n v mt k t bt k, sau trn mn hnh xut hin n ln k t . V d: Nhp mt k t: k Nhp s ln n : 5 Kt qu : kkkkk. 8. VCT nhp vo hai s nguyn dng. Tnh tng, hiu, tch, thng (php div) v phn d khi chia 2 s nguyn (php mod) V d: Nhp s th nht : 14 Nhp s th hai : 16 Tng hai s l : 30 Hiu: -2 Tch: 224 Thng: 0 Phn d: 14

M rng
1. Tm hiu v BCD. Vit chng trnh nhp 2 s nguyn h 10, chuyn sang BCD, tnh tng, hiu v in kt qu h 10. 2. Liu c th vit chng trnh tnh c 20!, 30!, kt qu in ra dng hex ? dng c s 10 ?

You might also like