Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Giáo trình hợp ngữ
PREMIUM
Số trang
110
Kích thước
735.5 KB
Định dạng
PDF
Lượt xem
1620

Giáo trình hợp ngữ

Nội dung xem thử

Mô tả chi tiết

TRÖÔØNG ÑAÏI HOÏC ÑAØ LAÏT

F 7 G

GIAÙO TRÌNH

HÔÏP NGÖÕ

NGUYEÃN HÖÕU LOÄC

2002

Hôïp Ngöõ - 2 -

MUÏC LUÏC

LÔØI MÔÛ ÑAÀU ..................................................................................................................... 4

CHÖÔNG 1: GIÔÙI THIEÄU CHUNG ................................................................................... 5

I. CAÙC THANH GHI TRONG VI XÖÛ LYÙ HOÏ INTEL:................................................... 5

1. Caùc thanh ghi thoâng duïng: ....................................................................................... 6

2. Caùc thanh ghi phaân ñoaïn ......................................................................................... 7

3. Caùc thanh ghi chæ muïc vaø con troû:............................................................................ 7

4. Thanh ghi traïng thaùi (FLAG)................................................................................... 8

II. ÑÒA CHÆ OÂ NHÔÙ: ....................................................................................................... 8

III. MOÄT SOÁ LEÄNH CÔ BAÛN: ........................................................................................ 9

CHÖÔNG 2: GOÏI NGAÉT VAØ TRÌNH DEBUG..................................................................11

I. CAÙC LEÄNH GOÏI NGAÉT: ...........................................................................................11

II. TRÌNH DEBUG:........................................................................................................12

III. VAØI CHÖÔNG TRÌNH ÖÙNG DUÏNG :.....................................................................15

CHÖÔNG 3: HÔÏP NGÖÕ DUØNG TRONG PC.....................................................................19

I. DOØNG LEÄNH:.............................................................................................................19

II. DÖÕ LIEÄU:...................................................................................................................20

1. Haèng: ......................................................................................................................20

2. Bieán: .......................................................................................................................21

III. CAÁU TRUÙC CHÖÔNG TRÌNH:...............................................................................22

CHÖÔNG 4: PHÖÔNG PHAÙP LAÄP TRÌNH......................................................................27

I. TOÅNG QUAN: ............................................................................................................27

II. CAÙC LEÄNH LIEÂN QUAN ÑEÁN REÕ NHAÙNH:...........................................................27

1. Caùc leänh reõ nhaùnh coù ñieàu kieän: ............................................................................28

2. Caùc leänh reõ nhaùnh khoâng ñieàu kieän:......................................................................29

III. CAÙC CAÁU TRUÙC ÑIEÀU KHIEÅN:.............................................................................29

CHÖÔNG 5: NGAÊN XEÁP VAØ THUÛ TUÏC..........................................................................38

I. NGAÊN XEÁP:................................................................................................................38

II. THUÛ TUÏC: .................................................................................................................38

III. SÖÛ DUÏNG PTR VAØ LABEL: ...................................................................................40

IV. VAØI CHÖÔNG TRÌNH ÖÙNG DUÏNG:......................................................................41

1. Hieän soá thaäp phaân:..................................................................................................41

2. Hieän soá nhò phaân vaø thaäp luïc phaân..........................................................................44

3. Ñoïc töø baøn phím......................................................................................................46

Nguyeãn Höõu Loäc Khoa Vaät Lyù

Hôïp Ngöõ - 3 -

CHÖÔNG 6: MOÑUN CHÖÔNG TRÌNH & CAÙC KIEÅU ÑÒNH VÒ ÑÒA CHÆ.............51

I. MOÑUN CHÖÔNG TRÌNH .......................................................................................51

1. Ñònh höôùng bieân dòch extrn.....................................................................................51

2. Ñònh höôùng bieân dòch public ...................................................................................52

3. Laäp thö vieän - taïo vó leänh (macro).........................................................................54

II. CAÙC KIEÅU ÑÒNH VÒ ÑÒA CHÆ..................................................................................56

III. CHÖÔNG TRÌNH ÖÙNG DUÏNG...............................................................................60

IV. TAÏO TAÄP TIN .COM...............................................................................................67

1- Daïng cuûa moät chöông trình COM...........................................................................68

2- Öùng duïng taäp tin .com ............................................................................................69

CHÖÔNG 7: SÖÛ DUÏNG PHAÂN ÑOAÏN TOAØN PHAÀN.....................................................76

I- SÖÛ DUÏNG CAÙC ÑÒNH HÖÔÙNG BIEÂN DÒCH............................................................76

1. Segment..................................................................................................................76

2. Ñònh höôùng bieân dòch assume.................................................................................79

II - DAÏNG CUÛA CHÖÔNG TRÌNH .EXE SÖÛ DUÏNG TRONG CAÙC PHÖÔNG PHAÙP

CUÕ: .................................................................................................................................79

III- VÍ DUÏ CHÖÔNG TRÌNH COM..............................................................................83

CHÖÔNG 8: CHÖÔNG TRÌNH ÖÙNG DUÏNG..................................................................85

I. IN NOÄI DUNG VAÊN BAÛN RA MAÙY IN: ...................................................................85

1. Söû duïng haøm 40h ngaét 21h (DOS) ñeå thöïc hieän......................................................85

2. Söû duïng haøm 01h ngaét 17h (ROMBIOS) ................................................................85

II. ÑEÁM SOÁ TÖØ TRONG MOÄT TAÄP TIN ......................................................................86

III- ÑOÅI NGÖÔÏC CHUOÃI.............................................................................................89

IV. CHÖÔNG TRÌNH HIEÅN THÒ THÔØI GIAN .............................................................90

V. CHÖÔNG TRÌNH THÖÔØNG TRUÙ BOÄ NHÔÙ............................................................97

Phuï luïc A: MOÄT SOÁ CHÖÔNG TRÌNH PHUÏC VUÏ CUÛA DOS.......................................105

Phuï luïc B: MOÄT SOÁ CHÖÔNG TRÌNH PHUÏC VUÏ CUÛA ROM-BIOS............................108

TAØI LIEÄU THAM KHAÛO.................................................................................................110

Nguyeãn Höõu Loäc Khoa Vaät Lyù

Hôïp Ngöõ - 4 -

LÔØI MÔÛ ÑAÀU

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.

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öû

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

khieån ...

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

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öû

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ö

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

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

khoù khaên cho ngöôøi hoïc.

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

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

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

phaùp thì thaät hieám.

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

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

ñeán cao ñeå sinh vieân coù theå tieáp thu deã daøng moân hoïc naøy.

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

ñoàng nghieäp, sinh vieân vaø baïn ñoïc goùp yù

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

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

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

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

ngaøy caøng deã hieåu vaø hôïp lyù hôn.

Nguyeãn Höõu Loäc

Nguyeãn Höõu Loäc Khoa Vaät Lyù

Hôïp Ngöõ - 5 -

CHÖÔNG 1: GIÔÙI THIEÄU CHUNG

Taïi sao chuùng ta phaûi hoïc laäp trình vôùi hôïp ngöõ trong khi hieän nay

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

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

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öõ

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

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

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

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

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

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.

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

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

trình vieát baèng ngoân ngöõ caáp cao nhö C hoaëc Pascal... Ñieàu naøy cho pheùp

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

hoûi thôøi gian nhanh.

Trong kieán truùc maùy tính nhieàu caáp, vieäc chuyeån moät chöông trình

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öõ

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

goïi laø ngoân ngöõ nguoàn coøn ngoân ngöõ sau khi dòch goïi laø ngoân ngöõ ñích.

Ngöôøi ta phaân bieät caùc chöông trình dòch ra laøm hai loaïi tuøy theo

moái quan heä giöõa ngoân ngöõ nguoàn vaø ngoân ngöõ ñích. Khi ngoân ngöõ nguoàn

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

laø hôïp dòch (assembler) vaø ngoân ngöõ nguoàn laø hôïp ngöõ (assembly language).

Trong khi ñoù ngoân ngöõ nguoàn laø ngoân ngöõ caáp cao nhö C hoaëc Pascal thì

chöông trình dòch seõ goïi laø bieân dòch.

I. CAÙC THANH GHI TRONG VI XÖÛ LYÙ HOÏ INTEL:

Nguyeãn Höõu Loäc Khoa Vaät Lyù

Hôïp Ngöõ - 6 -

Boä vi xöû lyù 8088 coù theå ñòa chæ hoùa ñeán 220 byte baét ñaàu töø ñòa chæ 0. Nhöõng

leänh cuûa 8088 coù theå thöïc hieän vôùi nhöõng töø 8 bit hay byte cuõng nhö vôùi nhöõng töø 16 bits.

8088 söû duïng nhöõng ñòa chæ 20 bits ñeå truy caäp ñeán 220 byte oâ nhôù. Vì caùc thanh ghi coù

chieàu daøi laø 16 bits neân caùc ñòa chæ duøng 20 bits seõ coù khoù khaên trong thöïc hieän. Ñeå giaûi

quyeát vaán ñeà naøy, nhöõng nhaø saûn xuaát boä vi xöû lyù ñaõ söû duïng 4 thanh ghi phaân ñoaïn (moät

duøng cho leänh, moät cho döõ lieäu, moät cho ngaên xeáp vaø moät döï tröõ)

Nhöõng thanh ghi coù theå xem laø nhöõng oâ nhôù naèm beân trong boä vi xöû lyù coù thôøi

gian truy xuaát cao, vôùi 8088, chuùng ta coù 14 thanh ghi chia ra laøm 4 loaïi:

- Caùc thanh ghi laøm vieäc;

- Caùc thanh phaân ñoaïn;

- Caùc thanh ghi böôùc nhaûy (offset);

- Thanh ghi traïng thaùi (Côø: FLAG)

1. Caùc thanh ghi thoâng duïng:

Bao goàm 4 thanh ghi. Moãi thanh ghi ñeàu coù nhöõng chöùc naêng rieâng maëc duø

chuùng cuõng laø nhöõng nôi löu tröõ nhöõng keát quaû trung gian:

AX laø thanh ghi 16 bit goïi laø thanh ghi tích luõy (Accumulator) söû duïng khi

thöïc hieän caùc pheùp tính soá hoïc.

BX laø thanh ghi 16 bit goïi laø thanh ghi neàn (Base register)

CX laø thanh ghi 16 bit goïi laø thanh ghi ñeám (Counter)

DX laø thanh ghi 16 bit goïi laø thanh ghi döõ lieäu (Data)

Neân bieát raèng moãi thanh ghi naøy ñeàu coù theå phaân ra laøm hai thanh ghi 8 bit söû

duïng rieâng reõ ñöôïc:

AX = AH vaø AL;

BX = BH vaø BL;

CX = CH vaø CL;

DX = DH vaø DL.

Cuõng neân nhôù raèng nhöõng pheùp toaùn thöïc hieän vôùi caùc thanh ghi luoân nhanh

khi chuùng thöïc hieän vôùi caùc oâ nhôù trong boä nhôù.

Nguyeãn Höõu Loäc Khoa Vaät Lyù

Hôïp Ngöõ - 7 -

2. Caùc thanh ghi phaân ñoaïn

Goàm 4 thanh ghi:

CS vieát taét töø "Code Segment", laø nôi löu tröõ ñòa chæ cuûa phaân ñoaïn boä nhôù

taïi ñoù caùc leänh trong chöông trình naïp vaøo (maõ maùy).

DS vieát taét töø "Data Segment", laø nôi löu tröõ ñòa chæ cuûa phaân ñoaïn boä nhôù

taïi ñoù ñaët döõ lieäu (data) cuûa chöông trình.

SS vieát taét töø "Stack Segment", laø nôi löu tröõ ñòa chæ cuûa phaân ñoaïn ngaên

xeáp.

ES vieát taét töø "Extra Segment", laø nôi löu tröõ ñòa chæ cuûa phaân ñoaïn döï tröõ

thöôøng duøng ghi giöõ döõ lieäu.

3. Caùc thanh ghi chæ muïc vaø con troû:

Caùc thanh ghi naøy giöõ giaù trò böôùc nhaûy (offset ) keát hôïp vôùi ñòa chæ phaân ñoaïn.

Toång coäng coù 5 thanh ghi:

SI vieát taét töø "Source Index". Thanh ghi naøy laø thanh ghi 16 bit söû duïng khi

thöïc hieän caùc pheùp toaùn vôùi chuoãi (daõy kyù töï); thöôøng ñöôïc duøng keát hôïp vôùi thanh ghi

phaân ñoaïn DS.

DI vieát taét töø "Destination Index". Thanh ghi naøy cuõng laø thanh ghi

16 bit söû duïng khi thöïc hieän caùc pheùp toaùn vôùi chuoãi (daõy kyù töï); thöôøng ñöôïc

duøng keát hôïp vôùi thanh ghi phaân ñoaïn DS. Tuy nhieân trong tröôøng hôïp

chuyeån chuoãi thì noù seõ keát hôïp vôùi thanh ghi phaân ñoaïn ES.

BP hoaëc "Base Pointer". Thanh ghi 16 bit naøy keát hôïp vôùi thanh ghi phaân ñoaïn

SS (SS:BP) ñeå ñöa döõ lieäu vaøo trong ngaên xeáp khi goïi chöông trình con (CALL)

SP hoaëc "Stack Pointer". Thanh ghi 16 bit naøy cuõng keát hôïp vôùi thanh ghi phaân

ñoaïn SS (SS:SP) ñeå chæ ra phaàn töû cuoái cuûa ngaên xeáp.

IP goïi laø con troû leänh (Instruction Pointer). Thanh ghi 16 bit naøy keát hôïp vôùi

thanh ghi phaân ñoaïn CS (CS:IP) ñeå chæ ñeán leänh tieáp theo seõ thöïc hieän. Noäi dung cuûa

Nguyeãn Höõu Loäc Khoa Vaät Lyù

Hôïp Ngöõ - 8 -

thanh ghi naøy khoâng theå thay ñoåi tröïc tieáp; noù chæ bò thay ñoåi moät caùch giaùn tieáp thoâng qua

caùc leänh nhaûy böôùc, qua caùc chöông trình con vaø qua caùc ngaét.

4. Thanh ghi traïng thaùi (FLAG)

Thanh ghi trang thaùi laø thanh ghi goàm 16 bit (Côø). Giaù trò cuûa töøng bit moät

trong thanh ghi naøy ñoäc laäp vôùi caùc bit khaùc trong cuøng thanh ghi. Ngöôøi ta thöôøng xöû lyù

töøng bit moät vaø moät soá bit coù aûnh höôûng ñeán hoaït ñoäng cuûa chöông trình. Nhöõng bit naøy

goïi laø caùc chæ baùo (indicator) coù theå chia ra laøm 2 loaïi:

Caùc chæ baùo traïng thaùi:

bit yù nghóa vieát taét

0 Nhôù (Carry) CF

2 Chaün leû (Parity) PF

4 Nhôù phuï (Auxiliairy carry) AF

6 Khoâng (Zero) ZF

7 Daáu (Sign) SF

11 Traøn (Overflow) OF

Caùc chæ baùo ñieàu khieån

bit yù nghóa vieát taét

8 Baåy (Trap) TF

9 Ngaét (Interrupt) IF

10 Höôùng (Direction) DF

Caùc bit 1, 5, 12, 13, 14, 15 cuûa thanh ghi traïng thaùi 16 bit khoâng ñöôïc söû duïng.

II. ÑÒA CHÆ OÂ NHÔÙ:

Boä nhôù cuûa 1 maùy tính bao goàm 1 daõy tuaàn töï caùc oâ nhôù ñöôïc ñaùnh soá trong ñoù

löu giöõ 1 giaù trò soá naøo ñoù. Soá töông öùng cuûa 1 oâ nhôù goïi laø ñòa chæ, moãi oâ nhôù giöõ 8 bit.

Treân nhöõng maùy tính IBM PC, boä nhôù ñöôïc chia thaønh caùc vuøng 65536 byte goïi laø phaân

ñoaïn, ñòa chæ cuûa 1 oâ nhôù seõ bao goàm 2 phaàn: soá phaân ñoaïn vaø böôùc nhaûy (offset) tính töø vò

trí ban ñaàu cuûa phaân ñoaïn; noù seõ coù daïng:

Phaân ñoaïn: böôùc nhaûy

(Segment:Offset)

Nguyeãn Höõu Loäc Khoa Vaät Lyù

Hôïp Ngöõ - 9 -

Caùc leänh chieám moät hoaëc nhieàu oâ nhôù keá tieáp trong boä nhôù, ñieàu naøy phuï

thuoäc vaøo ñoä phöùc taïp cuûa leänh.

III. MOÄT SOÁ LEÄNH CÔ BAÛN:

MOV: laø moät trong nhöõng leänh chính cuûa hôïp ngöõ. Noäi dung cuûa toaùn haïng beân

phaûi seõ chuyeån sang toaùn haïng beân traùi

Ví duï:

MOV AX, 10

MOV AX, BX

MOV AX, [BX]

LEA:(Load Effective Address) töông töï nhö MOV ....,OFFSET....

Ví duï:LEA DX,MSG thay vì MOV DX, OFSET MSG

ADD: coäng 2 soá 8 bit hoaëc 16 bit, keát quaû ñöa vaøo boä nhôù hoaëc thanh ghi.

Ví duï:

ADD AX, BX

ADD AH, AL

INC: theâm moät ñôn vò vaøo thanh ghi cho tröôùc, keát quaû nhaän ñöôïc seõ töông töï nhö

COÄNG vôùi 1.

Ví duï:

INC AX

INC BL

ADC: thöïc hieän leänh coäng nhö ADD sau ñoù theâm giaù trò coù trong chæ baùo CARRY

vaøo keát quaû nhaän ñöôïc

Ví duï:

ADC DL,30

SUB: thöïc hieän tröø 1 löôïng töø 1 soá, keát quaû ñöôïc ñaët vaøo boä nhôù hoaëc thanh ghi.

Ví duï:

SUB AL, BL

MUL: nhaân toaùn haïng cho tröôùc vôùi moät löôïng ñaët trong thanh AX hoaëc AL

(accumulator). Keát quaû seõ ñaët vaøo AH vaø AL neáu caùc toaùn haïng laø byte vaø ñaët trong

DX vaø AX neáu toaùn haïng laø töø (word).

Ví duï:

MUL BH

MUL BX

DIV: chia 1 töø (soá bò chia trong AX) bôûi 1 toaùn haïng 8 bit (soá chia) hoaëc chia 1 töø

ñoâi - double word (trong DX, AX) bôûi moät toaùn haïng 16 bit. Thöông soá seõ ñaët trong

AL vaø soá dö ñaët trong AH neáu toaùn haïng laø moät byte vaø thöông soá seõ ñaët trong AX vaø

soá dö ñaët trong DX neáu söû duïng 1 töø-word.

Ví duï: DIV BX

DIV BH

Nguyeãn Höõu Loäc Khoa Vaät Lyù

Hôïp Ngöõ - 10 -

CMP: cho pheùp so saùnh noäi dung hai thanh ghi hoaëc oâ nhôù. So saùnh laø thöïc hieän 1

pheùp tröø tuy nhieân muïc ñích ñaït ñöôïc khoâng phaûi laø keát quaû cuûa pheùp trö ø maø chuû

yeáu laø so saùnh hai toaùn haïng do vaäy sau leänh so saùnh thöôøng thaáy leänh nhaûy böôùc coù

ñieàu kieän phuï thuoäc vaøo caùc chæ baùo trong quaù trình so saùnh.

Ví duï: CMP DL, 3A

JNZ: nhaûy böôùc ñeán moät nhaõn (label) cho tröôùc neáu chæ baùo zero laø 0.

Ví duï:

JNZ Tiep

JLE: nhaûy böôùc ñeán moät nhaõn (label) cho tröôùc neáu keát quaû laø nhoûù hôn hoaëc baèng 0.

Ví duï:

JLE Lap

LOOP: laëp laïi luùc naøy thanh ghi CX giaûm 1 ñôn vò vaø thöïc hieän moät söï reõ nhaùnh

ñeán moät nhaõn cho tröôùc cho ñeán khi CX baèng 0.

Ví duï:

LOOP Lap

RCL: dòch chuyeån taát caû caùc bit veà phía traùi moät vò trí hoaëc nhieàu vò trí. Nhöõng bit

ra khoûi beân TRAÙI seõ vaøo chæ baùo CARRY tröôùc khi ñöa laïi vaøo beân phaûi cuûa toaùn

haïng.

Ví duï:

RCL AH,1

SHR: dòch chuyeån taát caû caùc bit veà phía phaûi moät vò trí hoaëc nhieàu vò trí.

Ví duï:

SHR AH,1

Nguyeãn Höõu Loäc Khoa Vaät Lyù

Hôïp Ngöõ - 11 -

CHÖÔNG 2: GOÏI NGAÉT VAØ TRÌNH DEBUG

I. CAÙC LEÄNH GOÏI NGAÉT:

Moät maùy tính thöôøng coù raát nhieàu loaïi thieát bò ngoaïi vi quan troïng nhö baøn

phím, maøn hình, ñóa, maùy in, v.v... Muoán ñieàu khieån caùc thieát bò naøy ñoøi hoûi chuùng ta phaûi

vieát chöông trình baèng caùc leänh maùy daøi doøng vaø phöùc taïp. Nhôø söï giuùp ñôõ cuûa heä ñieàu

haønh MSDOS hoaëc ROM-BIOS chuùng ta coù theå taùc ñoäng moät thieát bò ngoaïi vi baèng caùch

chæ söû duïng 1 haøm ñöôïc ñaùnh soá vaøo chöông trình keøm theo moät soá caùc thoâng soá. Taát caû

ñieàu naøy ñeàu thöïc hieän thoâng qua caùc thanh ghi. Nhöõng haøm naøy goïi laø ngaét.

Leänh INT laø leänh goïi ngaét ñöôïc ñaùnh soá taïi vò trí toaùn haïng ñöôïc xem nhö goïi

moät chöông trình con. Moät ngaét coù theå bao goàm nhieàu dòch vuï, soá cuûa dòch vuï ñöôïc ñöa

vaøo thanh ghi AH tröôùc khi goïi ngaét.

Ví duï 1: Hieän 1 kyù töï ASCII leân maøn hình

MOV DL,41h

MOV AH,02h

INT 21h

Ví duï 2: Ñoïc kyù töï tieáp töø baøn phím

MOV AH,0

INT 16h

Ví duï 3: Hieän 1 thoâng baùo leân maøn hình

Chao DB 'Chao cac ban $'

MOV AH,09h

MOV DX, OFFSET Chao

INT 21h

Ví duï 4: Keát thuùc chöông trình

INT 20h

Nguyeãn Höõu Loäc Khoa Vaät Lyù

Tải ngay đi em, còn do dự, trời tối mất!