Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
1Activity
0 of .
Results for:
No results containing your search query
P. 1
LThop_ngu

LThop_ngu

Ratings: (0)|Views: 3|Likes:

More info:

Published by: nguyễn ngọc ánh on Sep 28, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/26/2014

pdf

text

original

 
 Ñeàông baøi ging HÔÏP NÕ
1Chöông 1 :
CÔ BAÛN VEÀHÔÏP NGÖÕ
 Trong chöông ny seõgiôùi thiu nhöõng nguyn tc chung ñeåto ra , dòch vchaïy mt chöông trình hôïp nõtrn my nh .Cu trc ngöõphp cuûa lnh hôïp nõtrong gio trình ny ñöôïc trình baøy theoMacro Assembler ( MASM) döïa treân CPU 8086 .
1.1 Cphp lnh hôïp nõ
 Mt công trình ïp nõbao gm mt loaït cc mnh ñeà( statement) ñöôïcvit lieân tieáp nhau , moãi meänh ññöôïc vit treân 1 doøng .Moät meänh ñeàcoùtheål:
 
mt lnh ( instruction) : ñöôïc trình bin dòch ( Assembler =ASM) chuyn thaønhmaõmaùy.
 
mt cdaãn cuûa Assembler ( Assembler directive) : ASM khoâng chuyn thaønhmaõmaùyCc meänh ñeàcuûa ASM goàm 4 tröôøng :
Name Operation Operand(s) Comment
 caùc tröôøng cch nhau ít nht lmoät kyùtöïtroáng hoc moät kyùtöïTABví duï lnh ñeàsau :START : MOV CX,5 ; khôætaïo thanh ghi CXSau ñy lmoät chædn cuûa ASM :MAIN PROC ; taïo mt thtuïc coùteân lMAIN1.1.1
Tröôøng Tn ( Name Field)
 Tröôøng teân ñöôïc duøng cho nhn leänh , teân thuûtuïc vteân bieán . ASM seõchuyeån teân thaønh ñòa chæboänhôù.Tn coùtheådaøi töø1 ñn 31 kyùtöï. Trong tn chöùa cc kyùtöïtöøa-z , caùc soávcaùc kyùtöïñaëc bit sau : ? ,@ , _ , $ vdaáu . Khoâng ñöôïc php coùkyùtöïtrng trongphn teân . Nu trong teân coùkyùtöï . tnoùphi lkyùtöï ñu tin . Teân khoâng ñöôïcbt ñu bng moät soá. ASM khoâng phn bieät giöõa kyùtöï vieát thöôøng vvieát hoa .Sau ñaây lcaùc ví duïvtn hôïp lvkhoâng ïp ltrong ASM .Teân hoäp leä Teân khoâng hôïp leäCOUNTER1 TWO WORDS@CHARACTER 2ABCSUM_OF_DIGITS A45.28DONE? YOU&ME.TEST ADD-REPEAT
 
 Ñeàông baøi ging HÔÏP NÕ
2
1.1.2 Tröôøng toaùn töû( operation field)
 Ñoái vôùi 1 leänh tröôøng toaùn töûchökyùhieäu ( sumbol) cuûa mpheùp ton (operation code = OPCODE) .ASM seõchuyn kyùhiu mphp toaùn thaønh mmy .Thoâng thöôøng kyùhieäu mpheùp ton moâtchöùc nng cuûa pheùp ton , ví duï ADD ,SUB , INC , DEC , INT ...Ñi vôùi chædaãn ca ASM , tröôøng ton töûchömoät opcode gi(pseudooperation code = pseudo-op) . ASM khoâng chuyn pseudo-op thaønh mmy maøôùng daãn ASM thöïc hin moät vic gì ñoùví dto ra moät thuûtuïc , ñònh nghóa ccbin ...
1.1.3 Tröôøng caùc toaùn haïng ( operand(s) field)
 Trong moät leänh tröôøng ton hng cra cc soálieäu tham gia trong leänh ñoù.Mt lnh coùthkhng coùtoaùn haïng , coù1 hoc 2 ton hng . Ví d:NOP ; khoâng coùtoaùn haïngINC AX ; 1 toaùn haïngADD WORD1,2 ; 2 ton haïng coäng 2 vôùi noäi dung cuûa ønhôùWORD1Trong caùc lnh 2 toaùn haïng toaùn haïng ñaàu ltoaùn hng ñích ( destinationoperand) . Toaùn haïng ñích tôøng lthanh ghi hoc vòtrí nhôùduøng ñeålöu tröõktqu. Ton hng thöùhai ltoaùn hng nguoàn . Toaùn hng nguoàn tôøng khng bòthayñoåi sau khi thöïc hieän leänh .Ñoái vôùi moät chædaãn cuûa ASM , tröôøng toaùn haïng chöùa moät hoaëc nhieàu thoângtin mASM duøng ñeåtïc thi chædaãn .
1.1.4 Tröôøng chuùthích ( comment field)
 Tröôøng chuùthích lmoät tuyøchoïn cuûa meänh ñeàtrong ngn ngöõASM . Lptrình vieân duøng tröôøng chtch ñthuyt minh veàcaâu leänh . Ñieàu naøy lcaàn thitvì ngn nõASM lngn nõcaáp thaáp ( low level) vì vy seõrt khoùhiu côngtrình neáu noùkhoâng ñöôïc chuùthích moät caùch ñy ñuûvroûrng . Tuy nhieân khoâng neâncoùchuùtch ñoái vôùi moïi doøng cuûa công trình , kcaûnnhöõng leänh myùnghóa cuûanoùñrt roûrng nhö :NOP ; khoâng lm chi caûNgöôøi ta duøng du chm phy (;) ñeåbt ñu tröôøng chuùthích .ASM cuõng cho pheùp duøng ton boämoät doøng cho chuùthích ñeåto moät khongtrng ngaên cch caùc phaàn khaùc nhau cuaûchöông trình ,ví duï:;; kûi to cc thanh ghi;MOV AX,0MOV BX,0
1.2 Cc kiu soáliu trong chöông trình ïp ngöõ
 
 
 Ñeàông baøi ging HÔÏP NÕ
3CPU chælm vieäc vôùi caùc soánhòphn . Vì vy ASM phi chuyeån tt caûcaùcloaïi soáliu thaønh soánhòphn . Trong mt chöông trình ïp ngöõcho php biu dinsoálieäu döôùi dng nhòphn , thp phn hoc thp luïc phn vthm chí lcaû kyùtöïnöûa .1.2.1
Caùc soá
 Moät soánhòphn lmoät dy caùc bit 0 v1 va 2phi keát thuùc bng h hoc HMoät soáthaäp phaân laømoät daõy caùc chöõsoùthaäp phaân vaøkeát thuùc bôûi d hoaëc D( coùtheåkhoâng caàn)Moät soáhex phaûi bt ñaàu bôûi 1 chöõ soáthp phn vaøphi keát thuùc bôûi h hocH .Sau ñy lcaùc bieåu dieãn soáhôïp lvkhng hôïp ltrong ASM :
Soá Loaïi
10111 thp phn10111b nhòphn64223 thp phn-2183D thaäp phn1B4DH hex1B4D soáhex khoâng ïp lFFFFH soáhex khoâng ïp l0FFFFH soáhex1.2.2 Cc kyùtöïKyùtöïvmoät chuoãi caùc kyùtöï phi ñöôïc ñoùng giöõa hai du ngoc ñôn hochai daáu ngoaëc kp . Ví dAvHELLO” . Caùc kyùïñeàu ñöôïc chuyn thaønh mASCII bôûi ASM . Do ñoùtrong moät chöông tnh ASM sxem khai baùo Avaø41h (maõASCII cuûa A) lging nhau .1.3
Cc bin ( variables)
 Trong ASM bin ñng vai trnhö trong ngoân nõcaáp cao . Mi bin cmtloaïi õliu vnoùñöôïc gn mt ñòa cboänhôùsau khi ch chöông trình . Bng sauñy lieät keâcaùc ton töûgiduøng ñeåñònh nghóa caùc loi soálieäu .
PSEUDO-OP STANDS FOR
 DB define byteDW define word ( doublebyte)DD define doubeword ( 2 töølin tip)DQ define quadword ( 4 töølin tip )DT define tenbytes ( 10 bytes lin tip)1.3.1.
Bin byte
 

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->