TRÖÔØNG ÑAÏI HOÏC ÑAØ LAÏT<br />
F7G<br />
<br />
GIAÙO TRÌNH<br />
<br />
HÔÏP NGÖÕ<br />
<br />
NGUYEÃN HÖÕU LOÄC<br />
<br />
2002<br />
<br />
Hôïp Ngöõ<br />
<br />
-2-<br />
<br />
MUÏC LUÏC<br />
LÔØI MÔÛ ÑAÀU ..................................................................................................................... 4<br />
CHÖÔNG 1: GIÔÙI THIEÄU CHUNG ................................................................................... 5<br />
I. CAÙC THANH GHI TRONG VI XÖÛ LYÙ HOÏ INTEL:................................................... 5<br />
1. Caùc thanh ghi thoâng duïng: ....................................................................................... 6<br />
2. Caùc thanh ghi phaân ñoaïn ......................................................................................... 7<br />
3. Caùc thanh ghi chæ muïc vaø con troû: ............................................................................ 7<br />
4. Thanh ghi traïng thaùi (FLAG) ................................................................................... 8<br />
II. ÑÒA CHÆ OÂ NHÔÙ: ....................................................................................................... 8<br />
III. MOÄT SOÁ LEÄNH CÔ BAÛN: ........................................................................................ 9<br />
CHÖÔNG 2: GOÏI NGAÉT VAØ TRÌNH DEBUG..................................................................11<br />
I. CAÙC LEÄNH GOÏI NGAÉT: ...........................................................................................11<br />
II. TRÌNH DEBUG:........................................................................................................12<br />
III. VAØI CHÖÔNG TRÌNH ÖÙNG DUÏNG :.....................................................................15<br />
CHÖÔNG 3: HÔÏP NGÖÕ DUØNG TRONG PC.....................................................................19<br />
I. DOØNG LEÄNH:.............................................................................................................19<br />
II. DÖÕ LIEÄU:...................................................................................................................20<br />
1. Haèng: ......................................................................................................................20<br />
2. Bieán: .......................................................................................................................21<br />
III. CAÁU TRUÙC CHÖÔNG TRÌNH:...............................................................................22<br />
CHÖÔNG 4: PHÖÔNG PHAÙP LAÄP TRÌNH......................................................................27<br />
I. TOÅNG QUAN: ............................................................................................................27<br />
II. CAÙC LEÄNH LIEÂN QUAN ÑEÁN REÕ NHAÙNH:...........................................................27<br />
1. Caùc leänh reõ nhaùnh coù ñieàu kieän: ............................................................................28<br />
2. Caùc leänh reõ nhaùnh khoâng ñieàu kieän: ......................................................................29<br />
III. CAÙC CAÁU TRUÙC ÑIEÀU KHIEÅN:.............................................................................29<br />
CHÖÔNG 5: NGAÊN XEÁP VAØ THUÛ TUÏC ..........................................................................38<br />
I. NGAÊN XEÁP:................................................................................................................38<br />
II. THUÛ TUÏC: .................................................................................................................38<br />
III. SÖÛ DUÏNG PTR VAØ LABEL: ...................................................................................40<br />
IV. VAØI CHÖÔNG TRÌNH ÖÙNG DUÏNG:......................................................................41<br />
1. Hieän soá thaäp phaân: ..................................................................................................41<br />
2. Hieän soá nhò phaân vaø thaäp luïc phaân ..........................................................................44<br />
3. Ñoïc töø baøn phím......................................................................................................46<br />
<br />
Nguyeãn Höõu Loäc<br />
<br />
Khoa Vaät Lyù<br />
<br />
Hôïp Ngöõ<br />
<br />
-3-<br />
<br />
CHÖÔNG 6:<br />
MOÑUN CHÖÔNG TRÌNH & CAÙC KIEÅU ÑÒNH VÒ ÑÒA CHÆ .............51<br />
I. MOÑUN CHÖÔNG TRÌNH .......................................................................................51<br />
1. Ñònh höôùng bieân dòch extrn.....................................................................................51<br />
2. Ñònh höôùng bieân dòch public ...................................................................................52<br />
3. Laäp thö vieän - taïo vó leänh (macro) .........................................................................54<br />
II. CAÙC KIEÅU ÑÒNH VÒ ÑÒA CHÆ..................................................................................56<br />
III. CHÖÔNG TRÌNH ÖÙNG DUÏNG...............................................................................60<br />
IV. TAÏO TAÄP TIN .COM ...............................................................................................67<br />
1- Daïng cuûa moät chöông trình COM...........................................................................68<br />
2- Öùng duïng taäp tin .com ............................................................................................69<br />
CHÖÔNG 7: SÖÛ DUÏNG PHAÂN ÑOAÏN TOAØN PHAÀN .....................................................76<br />
I- SÖÛ DUÏNG CAÙC ÑÒNH HÖÔÙNG BIEÂN DÒCH............................................................76<br />
1. Segment ..................................................................................................................76<br />
2. Ñònh höôùng bieân dòch assume .................................................................................79<br />
II - DAÏNG CUÛA CHÖÔNG TRÌNH .EXE SÖÛ DUÏNG TRONG CAÙC PHÖÔNG PHAÙP<br />
CUÕ: .................................................................................................................................79<br />
III- VÍ DUÏ CHÖÔNG TRÌNH COM..............................................................................83<br />
CHÖÔNG 8: CHÖÔNG TRÌNH ÖÙNG DUÏNG ..................................................................85<br />
I. IN NOÄI DUNG VAÊN BAÛN RA MAÙY IN: ...................................................................85<br />
1. Söû duïng haøm 40h ngaét 21h (DOS) ñeå thöïc hieän......................................................85<br />
2. Söû duïng haøm 01h ngaét 17h (ROMBIOS) ................................................................85<br />
II. ÑEÁM SOÁ TÖØ TRONG MOÄT TAÄP TIN ......................................................................86<br />
III- ÑOÅI NGÖÔÏC CHUOÃI.............................................................................................89<br />
IV. CHÖÔNG TRÌNH HIEÅN THÒ THÔØI GIAN .............................................................90<br />
V. CHÖÔNG TRÌNH THÖÔØNG TRUÙ BOÄ NHÔÙ............................................................97<br />
Phuï luïc A: MOÄT SOÁ CHÖÔNG TRÌNH PHUÏC VUÏ CUÛA DOS .......................................105<br />
Phuï luïc B: MOÄT SOÁ CHÖÔNG TRÌNH PHUÏC VUÏ CUÛA ROM-BIOS............................108<br />
TAØI LIEÄU THAM KHAÛO .................................................................................................110<br />
<br />
Nguyeãn Höõu Loäc<br />
<br />
Khoa Vaät Lyù<br />
<br />
Hôïp Ngöõ<br />
<br />
-4-<br />
<br />
LÔØI MÔÛ ÑAÀU<br />
Hôïp ngöõ laø moät moân hoïc daønh cho sinh vieân caùc chuyeân ngaønh kyõ thuaät.<br />
Laø moät ngoân ngöõ can thieäp saâu vaøo heä thoáng maùy tính, hôïp ngöõ thöôøng ñöôïc söû<br />
duïng trong nhöõng phaàn vieäc töông ñoái tinh teá nhö ñieàu khieån heä thoáng, vi ñieàu<br />
khieån ...<br />
Tuy vaäy vôùi nhöõng ngöôøi laàn ñaàu tieân laøm quen vôùi ngoân ngöõ naøy, vieäc<br />
tieáp thu quaû thaät raát khoù khaên bôûi leõ ngoân ngöõ naøy gaàn vôùi ngoân ngöõ maùy vaø söû<br />
duïng caùc kyù töï gôïi nhôù neân khoù hieåu hôn söû duïng caùc ngoân ngöõ caáp cao nhö<br />
Pascal, C..v.v...Ngoaøi ra, ngöôøi hoïc khoâng nhöõng phaûi bieát phaàn meàm maø coøn<br />
phaûi hieåu phaàn cöùng ôû möùc ñoä naøo ñoù nöõa. Ñieàu naøy taïo ra moät aùp löïc raát lôùn gaây<br />
khoù khaên cho ngöôøi hoïc.<br />
Trong nhieàu naêm giaûng daïy moân naøy, toâi nhaän thaáy hieän coù raát nhieàu<br />
saùch, taøi lieäu tham khaûo vieát veà hôïp ngöõ song ñeå coù moät taøi lieäu ñaùp öùng yeâu caàu<br />
cuûa sinh vieân trong vieäc tieáp thu moân hôïp ngöõ tuaàn töï töø deã ñeán khoù coù phöông<br />
phaùp thì thaät hieám.<br />
Do vaäy toâi thöïc hieän giaùo trình naøy vôùi mong öôùc coù moät taøi lieäu ñaùp öùng<br />
yeâu caàu treân. Trong giaùo trình, toâi coù ñöa vaøo raát nhieàu ví duï vaø öùng duïng töø thaáp<br />
ñeán cao ñeå sinh vieân coù theå tieáp thu deã daøng moân hoïc naøy.<br />
Tuy vaäy taøi lieäu naøy khoâng sao traùnh khoûi nhöõng sai soùt, raát mong caùc<br />
ñoàng nghieäp, sinh vieân vaø baïn ñoïc goùp yù<br />
Hoaøn thaønh giaùo trình naøy, toâi xin chaân thaønh caùm ôn ñeán caùc ñoàng<br />
nghieäp trong Khoa Vaät lyù Tröôøng Ñaïi hoïc Dalat ñaõ ñoäng vieân, goùp yù vaø taïo ñieàu<br />
kieän cho toâi trong quaù trình thöïc hieän. Toâi cuõng xin ghi nhaän söï ñoùng goùp cuûa<br />
nhieàu theá heä sinh vieân khoa vaät lyù, khoa toaùn - tin ñeå giaùo trình naøy ñöôïc saép xeáp<br />
ngaøy caøng deã hieåu vaø hôïp lyù hôn.<br />
Nguyeãn Höõu Loäc<br />
<br />
Nguyeãn Höõu Loäc<br />
<br />
Khoa Vaät Lyù<br />
<br />
Hôïp Ngöõ<br />
<br />
-5-<br />
<br />
CHÖÔNG 1: GIÔÙI THIEÄU CHUNG<br />
Taïi sao chuùng ta phaûi hoïc laäp trình vôùi hôïp ngöõ trong khi hieän nay<br />
coù raát nhieàu ngoân ngöõ caáp cao nhö C hoaëc Pascal duøng ñeå laäp trình deã daøng<br />
hôn? Coù theå noùi coù nhieàu caâu traû lôøi cho caâu hoûi naøy. Nhöng ban ñaàu, chuùng<br />
ta coù theå xeùt ñoái vôùi hôïp ngöõ thì moãi leänh töông öùng vôùi moät leänh ngoân ngöõ<br />
maùy. Noùi caùch khaùc, neáu moãi doøng leänh trong chöông trình laø moät leänh hôïp<br />
ngöõ vaø moät töø maùy töông öùng vôùi moät leänh maùy nhö vaäy n doøng trong chöông<br />
trình seõ taïo ra moät chöông trình maùy goàm n töø. Nhö vaäy hôïp ngöõ coù theå xem<br />
laø ngoân ngöõ raát gaàn vôùi ngoân ngöõ maùy, chuùng ta coù theå tieáp caän ñeán taát caû caùc<br />
ngoùc ngaùch cuûa maùy vaø quan troïng hôn laø chuùng ta thöïc hieän chöông trình<br />
vieát baèng hôïp ngöõ nhanh hôn so vôùi vieát baèng nhöõng ngoân ngöõ caáp cao khaùc.<br />
Tuy vaäy cuõng caàn thaáy raèng raát nhieàu ngoân ngöõ caáp cao hoå trôï giao dieän vôùi<br />
hôïp ngöõ, noùi caùch khaùc laø chuùng ta coù theå vieát 1 ñoaïn hôïp ngöõ trong chöông<br />
trình vieát baèng ngoân ngöõ caáp cao nhö C hoaëc Pascal... Ñieàu naøy cho pheùp<br />
chuùng ta laäp trình hieäu quaû hôn vôùi nhöõng phaàn vieäc saùt vôùi heä thoáng vaø ñoøi<br />
hoûi thôøi gian nhanh.<br />
Trong kieán truùc maùy tính nhieàu caáp, vieäc chuyeån moät chöông trình<br />
cuûa ngöôøi söû duïng töø moät ngoân ngöõ naøy sang chöông trình duøng ngoân ngöõ<br />
khaùc goïi laø chöông trình dòch. Ngoân ngöõ söû duïng ñeå vieát chöông trình ban ñaàu<br />
goïi laø ngoân ngöõ nguoàn coøn ngoân ngöõ sau khi dòch goïi laø ngoân ngöõ ñích.<br />
Ngöôøi ta phaân bieät caùc chöông trình dòch ra laøm hai loaïi tuøy theo<br />
moái quan heä giöõa ngoân ngöõ nguoàn vaø ngoân ngöõ ñích. Khi ngoân ngöõ nguoàn<br />
goàm nhöõng kyù töï gôïi nhôù leänh cuûa ngoân ngöõ maùy thì chöông trình dòch seõ goïi<br />
laø hôïp dòch (assembler) vaø ngoân ngöõ nguoàn laø hôïp ngöõ (assembly language).<br />
Trong khi ñoù ngoân ngöõ nguoàn laø ngoân ngöõ caáp cao nhö C hoaëc Pascal thì<br />
chöông trình dòch seõ goïi laø bieân dòch.<br />
I. CAÙC THANH GHI TRONG VI XÖÛ LYÙ HOÏ INTEL:<br />
<br />
Nguyeãn Höõu Loäc<br />
<br />
Khoa Vaät Lyù<br />
<br />