lap trinh he thong kma$92

Upload: thosanxamac

Post on 07-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Lap Trinh He Thong KMA$92

    1/92

    Hpv HVKTMM

    1

    Mc lc

    Chng I. Tng quan ....................................................................................................... 5

    1. Kin trc h thng ........................................................................................................ 61.1. Kin trc phn cng................................................................................................. 6

    1.1.1. M hnh v nguyn l my Von Neumaan ....................................................... 61.1.2. Cu trc CPU intel 80x86 ................................................................................. 6

    1.1.2.2. M t .......................................................................................................... 71.1.2.3. B thanh ghi ............................................................................................... 8

    1.1.3. Phng thc qun l b nh............................................................................. 91.1.3.1. S phn on b nh................................................................................ 91.1.3.2. a ch vt l v a ch logic ................................................................. 101.1.3.3. a ch lgic v cc thanh ghi................................................................. 11

    1.1.4. CPU giao tip vi thit b ngoi vi ................................................................. 12

    1.2. Hotng ca hiu hnh MS-DOS................................................................... 121.2.1. Cc thnh phn ca MS-DOS......................................................................... 131.2.2. B tr HH trong b nhtrung tm................................................................ 141.2.3. Chng trnh mc ni (Bootstrap Loader) ..................................................... 151.2.4. Chng trnh vo/ra csBIOS .................................................................... 16

    1.2.4.1. ROM.BIOS .............................................................................................. 161.2.4.2. BIOS.COM .............................................................................................. 16

    1.2.3. Khi iu hnh a DOS.COM....................................................................... 171.2.4.Tp lnh COMMAND.COM........................................................................... 19

    2. Ttng chung ca lp trnh vi thit b ngoi vi.................................................. 24

    2.1. Cc thng sphn cng ca thit b ngoi ........................................................... 242.1.1. Cng vo/ra..................................................................................................... 242.1.2. Cc vng nhtham s..................................................................................... 24

    2.2. Ttng l p trnh.................................................................................................. 262.2.1. Gii thiu ........................................................................................................ 262.2.2. Qui tc chung lp trnh cho thit b ngoi vi................................................... 27

    2.2.2.1. Trao i tin gia CPU vi thit b ngoi vi ............................................. 272.2.2.2. Khi ghp ni iu khin trao i tin ...................................................... 282.2.2.3. Lp trnh trao i tin ................................................................................ 28

    2.2.3. Dng tng qut ca chng trnh phc v thit b ngoi s dng ngt .......... 30

    Chng II. H thng ngt .............................................................................................. 32

    1. Ngt v biu khin PIC 8259 ................................................................................ 33

    1.1. Mt skhi nim.................................................................................................... 33

    1.2. Phn loi ngt........................................................................................................ 33

    1.3. PIC 8259 v h thng ngt cng ........................................................................... 33

  • 8/6/2019 Lap Trinh He Thong KMA$92

    2/92

    Hpv HVKTMM

    2

    1.3.1. Ngt cng........................................................................................................ 341.3.2. Thit biu khin PIC 8259 v cch hot ng ca h thng ngt cng... 34

    2. Cc ngt ca MS-DOS dnh cho thit b ngoi vi ................................................... 37

    2.1. Cc ngt ca BIOS v ROMBIOS ......................................................................... 37

    2.2. Cc ngt ca DOS (gi cc chc nng) ................................................................ 382.2.1. Cc chc nng ca ngt INT 21h ca DOS .................................................... 38

    Chng III. Lp trnh cho cc thit b vo ra.............................................................. 41

    1. Lp trnh bn phm..................................................................................................... 42

    1.1. Cu trc v nguyn l hotng ca bn phm .................................................... 42

    1.2. Cc ngt dng cho bn phm ................................................................................. 43

    1.3. Lp trnh phc v bn phm sdng ngt ............................................................. 451.3.1. Quy tc chung ................................................................................................. 451.3.2. Mt s v d .................................................................................................... 46

    1.4. Lp trnh trc tip cho bn phm ........................................................................... 461.4.1. c im ca khi iu khin bn phm......................................................... 461.4.2. Qui tc chung ca lp trnh trc tip bn phm............................................... 471.4.3. Cc v d ......................................................................................................... 48

    2. Lp trnh cho chut .................................................................................................... 50

    2.1. Cu trc v hotng ca chut ........................................................................... 502.1.1. Cu to v hot ng ca chut ...................................................................... 502.1.2. Mch ghp ni chut....................................................................................... 50

    2.1.3. iu khin chut ............................................................................................. 502.1.4. Mn hnh o cho chut.................................................................................... 50

    2.2. Ngt dnh cho chut .............................................................................................. 51

    2.3. Lp trnh cho chut................................................................................................ 522.3.1. Kch hot v xc nh loi chut..................................................................... 52

    2.3.1.1. Cc chc hm nng.................................................................................. 522.3.1.2. Chng trnh v d ................................................................................... 52

    2.3.2. Trng thi chut ............................................................................................. 532.3.2.1. Cc hm chc nng v trng thi chut ................................................... 532.3.2.2. Chng trnh v d ................................................................................... 54

    2.3.3. iu khin con tr chut................................................................................. 542.3.3.1. Cc hm chc nng v con tr chut ....................................................... 542.3.4. Phm nhn ....................................................................................................... 58

    2.3.4.1 Cc hm chc nng................................................................................... 582.3.4.2. Chng trnh v d ................................................................................... 59

    2.3.5. Tc di chuyn ca con tr chut ................................................................ 592.3.5.1. Cc hm chc nng.................................................................................. 592.3.5.2. Chng trnh v d ................................................................................... 59

  • 8/6/2019 Lap Trinh He Thong KMA$92

    3/92

    Hpv HVKTMM

    3

    2.3.6. Ci t chng trnh x l khi dng chut ..................................................... 592.3.6.1. Ci t chng trnh x l s kin........................................................... 592.3.6.2. Chng trnh v d ................................................................................... 60

    3. Lp trnh mn hnh..................................................................................................... 62

    3.1. Cu trc, hotng ca mn hnh v ba( card) ghp ni.................................... 623.1.1. Mn hnh ......................................................................................................... 623.1.2. B ghp ni mn hnh ..................................................................................... 623.1.3. Cc ch ca mn hnh ................................................................................ 63

    3.2. Cc ngt v cc chc nng cho mn hnh ............................................................. 64

    3.3. Lp trnh cho mn hnh sdng ngt.................................................................... 653.3.1. Nhim v......................................................................................................... 653.3.2. Phng php ................................................................................................... 653.3.3. Lp trnh chung cho mn hnh ........................................................................ 65

    3.3.3.1. Xc nh ch v trng thi mn hnh .................................................. 65

    3.3.3.2. Xc nh trang mn hnh.......................................................................... 673.3.3.3. Xc nh v tr, kch thc con tr ........................................................... 673.3.3.4. Xc nh kch thc ca ca s mn hnh ............................................... 68

    3.3.4. Lp trnh ch vn bn.............................................................................. 683.3.4.1. Ghi chiu khin .............................................................................. 683.3.4.2. Xc nh mu cho ba CGA..................................................................... 683.3.4.3. Xc nh mu cho EGA/VGA( c th khng cn) .................................. 683.3.4.4. c ghi k t vi ngt INT 10h............................................................... 683.3.4.5. Ghi k t dng ngt INT 21h ca DOS ................................................... 70

    3.3.5. Lp trnh ch ho ............................................................................... 703.4. Lp trnh trc tip cho mn hnh........................................................................ 71

    3.2.6.1. Cu trc v nguyn l hot ng ca card mn hnh ............................... 713.2.6.2. Lp trnh trc tip mn hnh .................................................................... 73

    4. Lp trnh cho my in .................................................................................................. 75

    4.1. Vi mch cng song song ........................................................................................ 75

    4.2. Lp trnh trc tip cho my in song song .............................................................. 754.2.1. Khi pht my in............................................................................................. 754.2.2. a k t cn in ra my in.............................................................................. 76

    4.3. Lp trnh sdng ngt cho my in ........................................................................ 784.3.1. a ni dung mn hnh ra my in: s dng ngt INT 5h............................... 78

    4.3.2. S dng ngt INT 17h..................................................................................... 784.3.3. Chng trnh v d .......................................................................................... 79

    Bi tp .............................................................................................................................. 81

    Chng IV. Lp trnh thao tc a v file .................................................................... 82

    1. T chc lu trfile trn a....................................................................................... 83

  • 8/6/2019 Lap Trinh He Thong KMA$92

    4/92

    Hpv HVKTMM

    4

    1.1. Cu trc a ........................................................................................................... 83

    1.2. Dung lng a: (byte) .......................................................................................... 83

    1.3. Truy nhp a:........................................................................................................ 83

    1.4. Sphn bcc file: ............................................................................................... 83

    1.4.1. Cluster (lin cung): ......................................................................................... 841.4.2. Bng FAT: ...................................................................................................... 84

    1.5. Tin trnh c ghi file ca DOS ............................................................................. 841.5.1. Dos c mt file:............................................................................................. 841.5.2. Dos ghi mt file: ............................................................................................. 85

    2. Lp trnh Xl file ..................................................................................................... 85

    2.1. Th file: .................................................................................................................. 85

    2.2.c/ghi file............................................................................................................. 85

    2.3. Thay i thuc tnh file:......................................................................................... 85

    3. c v ghi cc sector trc tip ca a: .................................................................... 86

    Ph lc: ............................................................................................................................ 88

    Debug ca MsDOS ....................................................................................................... 88

    Assembly cbn............................................................................................................ 88

    Tp lnh 82086 ............................................................................................................. 88

    Bi tp ln........................................................................................................................ 92

  • 8/6/2019 Lap Trinh He Thong KMA$92

    5/92

    Hpv HVKTMM

    5

    CHNG I. TNG QUANMc ch: hiu c mt cc tng quan v h thng, hot ng ca h thng, ttng chung ca lp trnh vi thit b ngoi viNi dung: H thng li mt cch khi qut cu trc my tnh hiu c tng

    quan v: Kin trc chung ca h thng phn cng: cc khi trong h thng, nguynl hot ng ca my tnh, cch thc CPU giao tip vi cc thnh phnkhc

    H thng phn mm: cu trc hiu hnh, tin trnh hot ng ca my tkhi bt u khi ng, cc mc phn mm

    Cc tng tng tng quan ca lp trnh h thng cho thit b ngoi vi

  • 8/6/2019 Lap Trinh He Thong KMA$92

    6/92

    Hpv HVKTMM

    6

    1. KIN TRC H THNG

    1.1. KIN TRC PHN CNG

    1.1.1. M HNH V NGUYN L MY VON NEUMAANM hnh:

    Nguyn l: Kin trc phn cng gm 3 khi cbn : n v x l, b nhv h thng

    vo/ra; cc khi lin lc vi nhau qua h thng bus L my tnh nhchng trnh:

    Chng trnh iu khin, x l d liu cng c xem l d liu vc lu tr trong b nh

    B nhchia lm nhiu , mi c 1 a ch (s th t) c th chnla nhtrong qu trnh c ghi d liu

    L my tnh tun t: cc lnh c thc hin tun t, ti mi thi im chc mt lnh c thc hin

    1.1.2. CU TRC CPU INTEL 80X86

    1.1.2.1. M hnh

    BB nnhhnn vv xx

    ll

    HH tthhnnggvvoo//rraa

    Dliu Chng trnh

    Trao i thngtin

    iu khin

  • 8/6/2019 Lap Trinh He Thong KMA$92

    7/92

    Hpv HVKTMM

    7

    1.1.2.2. M T

    L vi x l 16 bit.Cc php ton x l bn trong CPU l php ton thc hin trn s nh phn 8 v16 bit.

    Bus a chc 20 ng nn c th qun l ln n 1Mb(=220bit) b nh(phm via ch t 00000h n FFFFFh).

    Bus dliu ca 80x86 c 16 bit.Cho php s dng h thng ngt v cch DMA (Direct Memory Access). Qutrnh chuyn d liu trc tip gia thit b ngoi vi v b nhchnh khng thngqua CPU gi l qu trnh(cch) DMA.S khi vi x l 80x86 gm hai phn chnh : khi giao tip Bus (BIU:Businterface unit) v khi thc thi (EU:Execution unit).Khi BIUchu trch nhim ly lnh v giao tip ra bn ngoi iu khin b nhv I/O.Khi EUc nhim v thi hnh lnh, nh th, kim tra cc tn hiu trng thi, cctn hiu yu cu ngt, cch DMA, tn hiu RESET, tn hiu READY.

  • 8/6/2019 Lap Trinh He Thong KMA$92

    8/92

    Hpv HVKTMM

    8

    Cc lnh trong b nhc khi BIU ly vo lin tc v ct trong hng i lnh(c chiu di 6 byte i vi 8086 hoc 4 byte i vi 8088). Sau khi EU lylnh t hng i lnh ra gii m v thi hnh.Hot ng ca hai khi BIU v EU din ra c lp vi nhau nn qu trnh ly lnhv thi hnh lnh c vi x l thc hin ng thi theo c cu ng ng

    (pipeline). iu ny tuy khng lm tng tc x l ca CPU (gii hn bi tn sxung ng b) nhng lm gim bt thi gian thi hnh ca c chng trnh. Nghal n ch lm gim thi gian thc thi chng trnh ch khng lm tng tc caCPU. Tc CPU do phn cng quy nh v gii hn bi xung nhp ng b.

    1.1.2.3. B THANH GHI

    B thanh ghi a nng:Gm 8 thanh ghi 16 bit. Cc thanh ghi AX, BX, CX, DX c th dng phn

    na nh cc thanh ghi 8 bit AH, AL, BH, BL, CH,

    CL, DH, DL. Thanh ghi AH l na cao ca thanh ghi AX. Thanh ghi AL l na thp ca thanh ghi AX.

    Chng hn nu AX= 1234h th AH=12h vAL=34h.

    AX l thanh ghi b tch ly 16 bit (ACC). AL l thanh ghi b tch ly 8 bit. BX l thanh ghi cs(base register). CX l thanh ghi bm (counter). DX l thanh ghi d liu (data). SI l thanh ghi ch s ngun (source index). DI l thanh ghi ch sch (destination index). BP l thanh ghi con tr nn (base pointer). SP l thanh ghi con tr ngn xp (stack pointer).

    B thanh ghi on v con tr lnh: Gm 4 thanh ghi on 16 bit dng qun l b nhtheo phng php phn on. CS l thanh ghi on chng trnh (code segment). DS l thanh ghi on d liu (data segment). SS l thanh ghi on ngn xp (stack segment). ES l thanh ghi on mrng (extra segment). IP l thanh ghi con tr lnh (instruction pointer).

    Thanh ghi c(thanh ghi trng thi):

    SF l cdu (sign flag). CF l cnh(carry flag).

  • 8/6/2019 Lap Trinh He Thong KMA$92

    9/92

    Hpv HVKTMM

    9

    ZF l ckhng (zero flag). OF l ctrn (overflow flag). AF l c trung gian (auxiliary flag) hay cn gi l cnhna (half-carry

    flag).AF = 0 khi khng c s trn v dung lng 4 bit.AF = 1 khi c s trn v dung lng 4 bit.V d : php ton 00001001 + 00000111 = 00010000 s lp cAF ln 1.

    CAF thng c dng trong cc php ton BCD (l cc s dng h nhphn 4 bit biu din s thp phn t 0 9).

    PF l ckim tra chn l(parity flag).PF = 1 nu s bit 1 ca kt qu l s chn.PF = 0 nu s bit 1 ca kt qu l s l.V d : sau khi thc hin (00000101 AND 00000101) th PF = 1.

    DF l cnh hng (direction flag).DF = 0 : nh hng gim a ch cho cc lnh x l chui.

    DF = 1 : nh hng tng a ch cho cc lnh x l chui. IF l cngt (interrupt enable flag).

    IF = 0 : cm ngt cng INTR.IF = 1 : cho php ngt cng INTR.

    TF l c by (trap flag). Dng chy tng bc khi cn kim tra hotng ca CPU.

    1.1.3. PHNG THC QUN L B NH

    1.1.3.1. SPHN ON B NH

    Trong ch thc, b nhc qun l theo cch phn on. Mc lgic, bnhc nh v theo on, mi on nhc phn thnh nhiu nh; chngtrnh khng c xem l chui lin tc ca m lnh, d liu m c chia thnhcc on: m lnh, d liu, ngn xp. Mi on c cha trong b nhc a chxc nh.C 4 loi on khc nhau:

    on m lnh (code segment): cha m lnh ca chng trnh on d liu (data segment): cha d liu ca chng trnh on ngn xp (stack segment): cha thng tin v d liu phc v chng

    trnh con on mrng (extra segment): cha d liu mrng

    CPU 8086 dng phng php phn on b nh qun l b nh1Mb ca n.- a ch 20 bit ca b nh1MB khng th cha trong cc thanh ghi 16 bit caCPU 8086 v vy b nh1 MB c chia ra thnh cc on (segment) 64KB.- a ch trong cc on 64KB ch c 16 bit nn CPU 8086 d dng x l bng ccthanh ghi ca n.

  • 8/6/2019 Lap Trinh He Thong KMA$92

    10/92

    Hpv HVKTMM

    10

    1.1.3.2. A CH VT L V A CH LOGIC

    - a ch 20 bit c gi l a ch vt l. a ch vt l c dng trong thit kcc mch gii m a ch cho b nhv xut nhp.- Ngc li, trong lp trnh, a ch vt l khng c dng m n c thay thbng a ch lgic.- a ch lgic l a ch gm c hai thnh phn : a chon (segment) v ach trong on (offset).- Mi a ch thnh phn ch c 16 bit v c vit theo cch sau :SEGMENT:OFFSET- Segment v offset l cc s h 16.- Cch tnh a ch vt l ta ch lgic nh sau :

    Hoc theo cng thc :

    V d : tnh a ch vt l tng ng vi a ch lgic B001:1234a ch vt l = B0010h + 1234 = B1244h- a ch segment cn c gi l a ch nn ca on. N cho bit im bt uca on trong b nh.- Trong khi , a ch offset th hin khong cch k tu on ca nhcntham kho. Do offset c 16 bit nn chiu di ti a ca mt on l 64K. Trongmi on, nhu tin c offset l 0000h v nhcui cng c offset l

    FFFFh.

    - Mi nhch c duy nht mt a ch vt l nhng c th c nhiu a ch logic.Chng hn cc a ch lgic 1234:1234, 1334:0234, 1304:0534, ... u cchung a ch vt l 13574h.- hiu r ti sao, ta ln lt xem quan h gia a ch vt l vi cc thnh phnsegment v offset.- Vi a ch lgic 0000:0000 ta c a ch vt l l 00000h.

  • 8/6/2019 Lap Trinh He Thong KMA$92

    11/92

    Hpv HVKTMM

    11

    - By gita gi nguyn phn segment v tng phn offset ln 1 thnh ra a chlgic 0000:0001. a ch vt l tng ng l 00001h.- Tng t vi a ch lgic 0000:0002 ta c a ch vt l 00002h.- Ta nhn thy khi offset tng 1 n v th a ch vt l tng 1 a ch hoc l tng1 byte. Nh vy c th xem n v ca offset l byte.

    - By gita lm li qu trnh trn nhng khng tng offset na m tng phnsegment. Ta c :a ch lgic 0001:0000 tng ng vi a ch vt l 00010h.a ch lgic 0002:0000 tng ng vi a ch vt l 00020h.- Ta nhn thy khi segment tng 1 n v th a ch vt l tng 10h a ch hoc ltng 16 byte. Ngi ta gi n v ca segment l paragraph.1 paragraph = 16 bytes- iu ny cng c thc gii thch l do cch tnh a ch vt l ta ch lgic nu trn.

    - T cc a ch vt l tnh ra trn, ta thy segment 0000 nm u vng nhnhng segment 0001 bt u cch u vng nhch c 16 bytes, segment 0002

    bt u cch u vng nh32 bytes . . .- Phn chng chp ca c ba segment 0000, 0001 v 0002 trn hnh v l vng bnhm bt k nhno nm trong (a ch vt l t 00020h n 0FFFFh) uc th c a ch lgic tng ng trong c 3 segment. Chng hn nhc ach vt l 0002Dh s c a ch lgic trong segment 0000 l 0000:002D, trongsegment 0001 l 0001:001D v trong segment 0002 l 0002:000D.- Nh vy nu vng b nhno cng c nhiu segment chng chp ln nhau thcc nhtrong cng c nhiu a ch lgic (mt nhc t nht 1 a ch lgicv nhiu nht l 65536/16=4096 a ch lgic).

    1.1.3.3. A CH LGIC V CC THANH GHI

    - tham chiu n b nhtrong chng trnh, vi x l8086 cho php s dng cc a ch lgic mt cch trctip hoc thng qua cc thanh ghi ca n.- Cc thanh ghi on dng cha a ch onsegment.- Cc thanh ghi tng qut dng cha a ch trongon offset.

  • 8/6/2019 Lap Trinh He Thong KMA$92

    12/92

    Hpv HVKTMM

    12

    - tham chiu n a ch lgic c segment trong thanh ghi DS, offset trongthanh ghi BX, ta vit DS:BX. Nu lc tham chiu, DS=2000h, BX=12A9h th ach lgic DS:BX chnh l tham chiu n nh2000:12A9.- Trong cch s dng a ch lgic thng qua cc thanh ghi ca vi x l 8086, cmt s cp thanh ghi lun lun phi dng chung vi nhau mt cch bt buc nh

    sau :CS:IP : ly lnh (a chlnh sp thi hnh).SS:SP : a chnh ngn xp.SS:BP : thng strong ngn xp (dng cho chng trnh con).DS:SI : a chchui ngun (chc ngha trong cc lnh xl chui).ES:DI : a chchui ch (chc ngha trong cc lnh xl chui).- Chng trnh m vi x l 8086 thi hnh thng c 3 on : on chng trnh ca ch trong thanh ghi CS, on d liu c a ch trong thanh ghi DS v onchng c a ch trong thanh ghi SS.

    1.1.4. CPU GIAO TIP VI THIT BNGOI VI

    M hnh minh ho:

    CPU nhn bit mt thit b I/O: Mi I/O c mt a ch ring( thng gi l cng); mi khi truy xut

    n mt I/O no, CPU xut ra a ch(cng) ca I/O ra bus a ch Thng qua B gii m a ch s xc nh I/O m CPU mun truy xutsc chn (tn hiu chip select mc tch cc cao)

    Trn thc t, vic iu khin vo ra c thc hin thng qua h thngngt( c th l ngt cng hoc ngt mm) l cc chng trnh vit sn cahiu hnh hoc ca cc khi iu khin. H thng ngt sc tm hiuchi tit trong chng II.

    1.2. HOT NG CA HIU HNH MS-DOS

    CPU MEMORY VIDEOCONTR

    OLLER

    KEYBOARDCONTROLLE

    R

    HARDDISK

    CONTR

    OLLER

    FLOPPY

    DISK

    CONTR

    OLLER

    MONITOR HARD

    DISKFLOPPY

    DISK

    BBUUSS

    KEYBOARD

  • 8/6/2019 Lap Trinh He Thong KMA$92

    13/92

    Hpv HVKTMM

    13

    1.2.1. CC THNH PHN CA MS-DOS

    H MS-DOS c 6 thnh phn:

    ROMBIOS: l h chng trnh cha trong ROM, thc hin ngay sau khi btngun nui ca my vi tnh, cha nhng chng trnh iu khin cc bphn ca my (bn phm, mn hnh, b nh, my in).

    Chng trnh khi ng (Boot Sector-rnh ghi khi ng): nm trn cungu tin ca mi a cng v khi pht tin trnh np vo b nhhai tp

    nm trn a l BIOS v DOS ca HH MS-DOS. Khi BIOS: (cn gi BIOS.COM) vi ui COM, cung cp mt giao din

    mc thp vi ROM-BIOS v iu khin vo/ra ca nhng thit b ngoi(bn phm, mn hnh).

    Khi DOS: cung cp mt giao din mc cao vi cc chng trnh pdng, n iu khin th mc ca cc tp cng nh s ngn cn ghi ln a.Chnh khi ny gi cc chc nng DOS bi s trung gian ca ngt INT21h.

    Khi x l COMMAND.COM: x l nhng lnh khc nhau m ngi sdng g vo bn phm ra lnh cho HH.

    Nhng lnh ngoi (external): l nhng lnh khc ca MS-DOS mkhng c trong b phin dch (interpreter) ca lnh COMMAND.COMhoc v cc lnh ny t dng, hoc kch thc ca lnh rt ln chim nhiua ch nh. mrng, ngi ta gi cc lnh ngoi l tt c cc tp thchin c ca a (ui .EXE hay .COM).

    Chng trnh ng dng

    DOS Command.com

    Mc niBIOS

    ROM BIOS

    CPU Lnh ngoi

  • 8/6/2019 Lap Trinh He Thong KMA$92

    14/92

    Hpv HVKTMM

    14

    Ghi ch:

    Khi BIOS l giao din mc thp nn phi vit li cho mi my vi tnhkhc nhau.

    Khi DOS, giao din mc cao ca mi my v nh nhau i vi mi my

    tnh. Vy cc giao din l nh nhau (DOS duy nht), nhng chng trnhng dng nh vy c th chuyn t my ny sang my khc.

    1.2.2. BTR HH TRONG B NHTRUNG TM

    Hiu hnh c chng trnh mc ni (Bootstrap) trn a (cng, mm) cung u tin, np vo b nhtrung tm (ta h thng mm hay cng) theo ccvng ca b nhtrung tm nh hnh 2.6.

    Bng vctngtl 256 byte nhdng cha cc a ch (byte thanh ghi onv byte offset- lch) ca tt c cc chng trnh con phc v ngt, tc cc

    chng trnh phc v ca BIOS, DOS, COMMAND.COM v ROM.BIOS. Mimt chng trnh phc v ngt ny m bo thc hin mt nhim v xc nhr rng ca MS-DOS (xem chi tit di mc di).

    Hai khi DOS v BIOS c hai vng lin lc (communication), mi vng cb rng 100h = 256D a ch nhging nh vctngt, dng lm a ch lin lchay bc cu ti phn cbn ca DOS v BIOS.

    Chng trnh x l lnh COMMAND.COM chim hai vng nhtch bit:- Phn thng tr.

    ROM BIOS: 8KB FFFFFhFE000h

    ROM: 32KB(ROM basic iu khin a cng)

    ....

    RAM trnL 640KB dnh cho HH

    nhmn hnhPhn na thng ch cacommand.comRAM dnh ghi v chy chngtrnh ngoiPhn thng tr ca command.comDOSBIOSVng lin lc DOSVng lin lc BIOS

    Bng vectngt 00400h

  • 8/6/2019 Lap Trinh He Thong KMA$92

    15/92

    Hpv HVKTMM

    15

    - Phn na thng tr.Nh vy , HH cha hai phn:+ ROM BIOS c sn trong my, iu khin my khi ng sau khi bt ngun.+ Cc vng cn li l RAM, c np vo bi chng trnh Bootstrap (mc

    ni c cung u tin ca a h thng), dng np phn cbn ca HH(DOS, BIOS v COMMAND.COM).

    1.2.3. CHNG TRNH MC NI (BOOTSTRAP LOADER)

    Nhim v ca chng trnh ny l np cc tp BIOS (hng IBM gi l IBMBIO.COM, cn hng Microsoft gi l IO.SYS) v DOS (hng IBM gi l IBMDOS.COM, hng Microsoft gi l DOS.SYS).

    Chng trnh ny nm rnh 0, cung 1, mt 0 ca a mm hoc cung 1, a 0,tru tin trong a cng.

    Chng trnh ny c ROMBIOS np ta vo RAM nh hnh 2.7 a ch07C00h, sau siu khin np li chuyn cho chnh chng trnh ny. Chngtrnh ny np vo b nhRAM gm cc khi:

    + IBMBIO.COM mt 1, rnh 0, cung 3 ti cung 6.

    + IBMDOS.COM mt 1, rnh 0, cung 7 ti 8 (hnh 2.7). Vi phin bn(version) khc nhau ca DOS, c s khc nhau v vic ghi chng trnh mc ni.Nu c tin ch DISKLOOK, ta c th xem vn bn ca chng trnh BOOT bngcch chy DISKLOOK, n nm chc nng F7, g v tr ghi chng trnh BOOT(mt 0, rnh 0 v cung 1) ri n phm F6 chng trnh BOOT hin ln mnhnh.

    ROM BIOS

    RAM

    Boot Np h thng

    Sector 1, r 0, m0

    r 0, m1

    7C00h

  • 8/6/2019 Lap Trinh He Thong KMA$92

    16/92

    Hpv HVKTMM

    16

    1.2.4. CHNG TRNH VO/RA CSBIOS

    BIOS (Basic Input Output System) l chng trnh:- iu khin h (cc ngt cng v ngt ca h - xem chi tit di).- iu khin vo/ra ca cc thit b ngoi nh bn phm mn hnh, my in.

    - iu khin ngt do lnh ca chng trnh bi CTRL-BREAK hay bi bnh thi (timer).

    - iu khin truy cp ti bng cc thng s ca mn hnh (trong ROM chokhi iu khin MC 6845), ca a hay bng d liu ca cc k t ph (kt ha).

    BIOS c chia thnh hai khi:- ROM.BIOS: cha trong nhROM, c sn trong b nhtrung tm.- BIOS.COM: (ui .COM) cha trn a h thng (mm, cng) c np

    vo b nhRAM ca b nhtrung tm.1.2.4.1. ROM.BIOS

    Cha trong ROM, dung lng 8KB t a ch FE000h ti FFFFFh.ROM.BIOS bao gm cc chng trnh khc nhau:

    - Chng trnh tkim tra PST: (Power on Self-Test) c thc hin sau khibt ngun in nui hay mi ln hi phc h (Ctrl-Alt-Del). Chng trnhny thc hin:+ Kim tra b nhv cc thit b ngoi (mi trng) ca my vi tnh.

    + c v chp chng trnh mc ni ta vo b nhRAM (hnh 2.7).Nu khng c a hoc c li trong chng trnh c pht hin, vic iukhin c chuyn cho chng trnh phin dch (interpreter) Basic c ach OF6000h n OFE00h trong ROM-basic.

    - Cc chng trnh iu khin thit b ngoi: (gi cc ngt cng bi vi mch8259A vi mc ngt 8 n F) nh ng h (timer), bn phm, lin lckhng ng b, a cng, a mm, my in.

    - Cc chng trnh gi ngt ca h (mc 0 7) gm:+ Cc ngt logic: chia cho 0, tng bc, dng, trn.+ Cc ngt cng: NMI (v d sai s chn l trong khi nh, vi x l khngtip tc lm vic, chp ni dung mn hnh ra my in).

    1.2.4.2. BIOS.COM

    BIOS.COM ra i nhm:- Khc phc nhc im ca ROM.BIOS nh:

  • 8/6/2019 Lap Trinh He Thong KMA$92

    17/92

    Hpv HVKTMM

    17

    + Khng ph hp vi DOS, ccu chnh ca HH.+ Pht hin li ca ROM.BIOS v c th sa li nhBIOS.COM.+ ROM.BIOS khng thiu khin c cc thit b ngoi mi.

    - M rng cc chc nng ca ROM.BIOS bng cch ngt (10h 1Fh)

    iu khin mn hnh, xc nh kch thc b nh, hnh ng c v ghi amm, cassette, bn phm, my in, kim tra ng h, truy cp bng s liuca cc k t ha.

    - Chun on li ca cc thit b ngoi.c tnh chnh ca BIOS l:- Xc nh trng thi ca thit b ngoi.- Hi phc cc a.- Khi ng cc thit b ngoi.- Np cc chng trnh iu khin thit b ngoi.

    - nh ngha nhng vctngt c s hiu ngn hn (10h 1Fh).- Thuc tnh cho a ch nhca DOS.COM.- Gi DOS.COM.V cu trc, BIOS c hai phn:- Phn lin lc BIOS chim a ch nht 00400h ti 00500h m cc a ch

    con (t 00400h) nh bng 2.2.- Phn li ca BIOS.

    1.2.3. KHIIU HNHA DOS.COMKhi DOS.COM ny l phn cbn ca HH gm:- Khi lin lc ca DOS c a ch nhu l 00500h ti 00600h.- Khi cbn ca DOS c a chu l 00B00h.

    Bng 2.2. a ch nhdnh cho BIOS lin lc (bt u t0400h)

    a ch Bin s

    0108

    10121315

    RS232 basePRINTER-base

    EQUIP-FlagMFG-T&TMemory-Size10-RAM-SIZE

    My in khng ng b(ni tip)

    1718

    KB-FlagKB-Flag1

  • 8/6/2019 Lap Trinh He Thong KMA$92

    18/92

    Hpv HVKTMM

    18

    191A1C1E

    ALT-INPUTBUFFER-HEADBUFFER-TAILKB-BUFFER

    Bn phm

    3E3F404142

    SEEK-STATUSMOTOR-STATUSMOTOR-COUNTDISKETTE-STATUSNEC-STATUS

    a mm

    494A4C

    CRT ModeCRT-COLSCRT-LEN

    Vi deo

    4E506062636566

    CRT-STARTCursor-POSNCursor-ModeACTIVE-PAGEADDR-6845CRT-MODE-SETCRT-PALETTE

    Mn hnh

    6769

    6B6C6E70717274 n 7678 n 83

    EDGE-CNTCRC-REG

    LAST-VALTIMER-LOWTIMER-HIGHTIMER-OFFBIOS-BREAKRESET-BREAK

    ng h

    a cng

    Khc

    Khi ny l giao din mc cao vi nhng chng trnh ca ngi dng, ncha:

    + Cc chng trnh iu khin tp (t chc th mc v tp trn a, kha vgii kha vic ghi).

    + Cc chng trnh gi cc chc nng cho cc n v vo/ra theo k t (bnphm, mn hnh, my in).

  • 8/6/2019 Lap Trinh He Thong KMA$92

    19/92

    Hpv HVKTMM

    19

    + Cc chng trnh iu khin b nh.+ Cc chng trnh gi thi gian (ngy, gi, thng, nm).+ Chng trnh iu khin vic thc hin chng trnh (dng, kt thc).Khi mt chng trnh ca ngi dng thc hin mt chng trnh vo/ra,

    cc hnh ng ny pht cc chc nng (function) mc cao (DOS.COM) bitrung gian ca ni dung cc thanh ghi v cc khi iu khin. Nhng chc nng c hon thin bi cc li gi ti BIOS.COM nh hnh 2.8.HNH V 2.8

    Cc ngt ca DOS (gi cc chc nng) c s hiu t 20h n 3Fh v c 67hua vo thanh ghi ngt AL trc khi gi lnh ngt chng trnh INT nh. NgtINT 21h gm nhiu chc nng con, chnh l b phn ch yu ca HH MS-DOS.

    1.2.4.TP LNH COMMAND.COM

    a) i cngNgoi BIOS v DOS, COMMAND.COM cng l thnh phn quan trng caHH, n tng ng CCP (Control Command Processor b x l lnh bniu khin). Khi ny c hai chc nng:- Phin dch dng lnh nh vo t bn phm.- iu khin nhng ngt.Khi lnh g vo sai v c php, lnh COMMAND.COM ny ch ra mn hnh

    l khng thy lnh (Command not found) v li quay v du nhc (C>) ca mn

    hnh chlnh mi g vo t bn phm.Trong b nhtrung tm, COMMAND.COM c np thnh hai on v chaba phn:

    + Phn lu tr: nm ngay trn DOS. Phn ny cha:

    Nhng khi x l nhng ngt 22h, 23h v 24h (kt thc chng trnh,dng khn cp CTRL-BREAK v do sai s).

    Chng trnh np li phn bn tr.

    iu khin li v thng bo li.

    Nhng lnh ni (lu tr).+ Phn khi pht: phn ny ch dng lc khi ng my vi tnh, v tr ca n

    c gii phng. Sauk hi thc hin (nguyn tc ph: overlay). Phn ny c:

    Chng trnh np AUTOEXE.BAT.

    Hin th ngy thng.

    Xc nh a ch np hay HH s np nhng chng trnh trc khithc hin chng.

  • 8/6/2019 Lap Trinh He Thong KMA$92

    20/92

    Hpv HVKTMM

    20

    + Phn bn tr: nm bn trn phn b nhca ngi dng (RAM). N chahu ht cc khi (mun) iu khin nhng tp ca lnh. BAT (x l theo l).Phn ny c th b chia nh nu HH cn ch, v c mt chng trnh ca ngidng ang chy. N sc np li khi b x l lnh iu khin my (phn lu

    tr ca COMMAND.COM).b) Phn loi lnh theo chc nngVi quan im chc nng, MS DOS c 4 nhm lnh (hay chng trnh) vi ccui: .COM, . EXE, .SYS v .BAT.

    - Cc lnh loi .COMNhng chng trnh loi .COM (lnh COMMAND) m phng nhng chngtrnh CP/M c nhng mng (segment) ca m lnh (CS), ca s liu (DS v ES) vca ngn xp (SS) l trng nhau, ngha l chng cng mt gi tr. M lnh v sliu ca mt chng trnh l xen nhau bn trong mng 64KB v m lnh c

    bt u ta ch 0100h trong mng. Nhng chng trnh loi ny c th quayvng bn trong mt mng duy nht; ln ca n, bao gm vng hot ngkhng qu 64KB. Chng trnh loi c ui .COM ny c th chy trc tip trnmy, khng cn mt s bin i no.

    - Cc lnh loi . EXECc lnh loi . EXE (EXEcute) l c th chuyn i c, chng nm umt thng tin chuyn, dnh cho chng trnh np. Cc thanh ghi mng s liu(DS v ES) c np vi gi tr (hng) u mt vng nhc th s dng,

    trong khi cc thanh ghi m lnh (CS v IP) v ngn xp (SS v SP) nhn gi trdo chng trnh kt ni (LINKER) truyn cho. Vi cch ny,ngi lp trnh cth khi pht nhng thanh ghi mi gi tr mong mun. Khi hnh ng npdin ra lu hn.Nhng tp .EXE thng sinh ra bi chng trnh dchassembler ca MS- DOS. Chng trnh tin ch EXE2BIN ca MS-DOS chophp bin i tp .EXE sang tp .COM chy chng trnh.

    - Cc lnh .SYSy l cc lnh lin quan ti cu trc thuc nhm CONFIG.SYS. l cc lnhiu khin thit b ngoi (ANSI.SYS, DISPLAY.SYS, EGA.SYS, Keyboard.SYS)

    iu khin khi nh (HIMEM.SYS, RAMDRIV.SYS) v cc iu khin khc(CHKSTATE.SYS, DBLSPACE.SYS).

    - Cc lnh loi .BATNhng lnh loi BAT (batch) l nhng tp ca vn bn cha cc lnh, tngng vi cc tp .SUB ca CP/M. Mt s tc gi gi chng l cc tp ca ccchng trnh con (th tc procedures). Nhng lnh c mt trong cc tp ny

  • 8/6/2019 Lap Trinh He Thong KMA$92

    21/92

    Hpv HVKTMM

    21

    c th l tt c cc lnh vit ng ca MS-DOS, ca loi .COM hay .EXE hocc loi . BAT vi cc thng s ca chng, cc lnh l c lp tuyt i vinhau.Nhng th tc l tng ng ca ch x l theo l (Batch Processing),

    trong , nhiu chng trnh (hay cc lnh) c mc ni vi nhau mt ccht ng, khng c s can thip ca ngi iu hnh (hay ngi s dng).Nhng lnh c d kin cho php mt iu khin no c din ra bingi dng MD-DOS nh ECHO, REM, PAUSE.- ECHO (ting vang): hin th ln mn hnh nhng yu t ca mt th tc

    dn dn trong qu trnh thc hin chng.- REM (ghi ch): cho php lm hin th mt ghi ch trong khi tin hnh

    kim tra mt sim truyn qua.- PAUSE (ngh): cho php treo s thc hin mt th tc thc hin mt s

    hnh ng ngoi (nh np a vo n v vo/ra; np li giy ln my in )Bn loi chng trnh hay lnh trn ca MS-DOS ch cn g vo bn phm tnca chng (khng cn ghi ui m rng) v n ENTER (CR) s cCOMMAND.COM phin dch v c vi x l thc hin.

    c) Phn loi lnh theo vtrTheo v tr ta chia:- Lnh ni tr nm trong b nhtrung tm- Lnh ngoi tr, ch np vo b nhkhi gi n.

    Nhng lnh ni (intern)Nhng lnh c gi l ni dung l nhng lnh c nhn bit v x l tcth bi chng trnh phin dch (interpreter) COMMAND.COM.Nhng lnh loi ny chia thnh 7 nhm (version 2):+Nhng lnh khi phtMODE: i thit bu cui ch.PROMPT: i k t ch(cho a A, C)DATE: gi ngyTIME: gi gi+ Nhng lnh iu khin thmc

    DIR: hin th ni dung th mcCHDIR: i th mc hin hnhPATH: chng dn ti tp hin hnhMKDIR: to th mc miRMDIR: xa b th mc

  • 8/6/2019 Lap Trinh He Thong KMA$92

    22/92

    Hpv HVKTMM

    22

    +Nhng lnh iu khin tpCOPY: chp ni dung mt tpTYPE: hin th ni dung mt tpRENAME: i tn mt tp

    ERASE: xa mt tp+Nhng lnh iu khin hotngBREAK: thc hin CTRL CCLS: xa mn hnhSET: thay ni dung mt bin chuiEXIT: ra khi DOS+ Nhng lnh iu khin hin th v ghi ln aVER: hin th s phin bn ca DOS.

    VERYFY : Kim tra li vic ghi ln a.+Nhng lnh ca cc th tc

    ECHO: hin th ln mn hnh nhng phn t ca th tc.PAUSE: dng, treo mt th tc.REM: hin th nhng ghi ch.

    +Nhng lnh lp trnh cc th tcFOR IN DO: cho mt hnh ng lp li.GO TO: phn nhnh ti.IF: thc hin cc iu kin.

    SHIFT: b qua nhng bin x l.Nhng lnh ngoi ( externe):y l nhng lnh khng thc hin bi b phin dch lnh, nhng c tp

    COMMAND.COM iu khin trong sut thi gian thc hin.MS-DOS cn chia hai loi lnh ngoi l:

    + Lnh ngoi do DOS cung cp.+ Lnh ngoi cng khng do DOS cung cp.

    - Lnh ngoi ca h:+Lnh ca phin bn 1

    EDLIN: son tho dng.DEBUG.COM: hiu chnh chng trnh.CHKDSK.com: kin tra ni dung ca a.FORMAT.COM: to dng a.SYS.COM: chp li chng trnh h thng ln a.EXE2BIN.COM: bin i mt tp EXE thnh COM.

  • 8/6/2019 Lap Trinh He Thong KMA$92

    23/92

    Hpv HVKTMM

    23

    COMP.COM: so snh cc tp trn a.+Lnh ca phin bn 2

    CONFIG.SYS: thay i cu hnh ca h.DISCOPY.COM: chp mt a ln a khc.

    MORE.COM: hi th ln mn hnh.PRINT.COM: a ni dung mn hnh ln my in.RECOVER.COM: ly mt tp a hng.FIND.EXE: tn mt vn bn trong mt tp.SORT.EXE: tm ni dung ca mt tp.EXEFIX.COM: bin i tp t COM sang EXE.CAT.COM: tm mt th mc.

    - Lnh ngoi cngCc lnh ny cn chia thnh:

    +Lnh nhm 1: lnh c bit , tham gia vo hot ng ca h.LIB.EXE: iu khin th vin ca cc khi.LINK.EXE: kt ni ( son tho kt ni).CREF.EXE: pht cc hnh ch thp.MASM.EXE: macro assembler.

    +Lnh nhm 2: c to thnh bi cc b dch cc ngn ng ( bin dchhay phin dch): Basic,Pascal

    + Lnh nhm 3: c tht tt c cc phn mm p dng vi s lng

    khng hn ch.

  • 8/6/2019 Lap Trinh He Thong KMA$92

    24/92

    Hpv HVKTMM

    24

    2. TTNG CHUNG CA LP TRNH VI THIT B NGOIVI

    2.1. CC THNG S PHN CNG CA THIT B NGOI

    2.1.1. CNG VO/RA

    Cc thit b ngoi vi giao tip vi CPU thng qua cc cng vo/ra; mi cngvo ra u c mt a ch do MS-DOS( hiu hnh) qui nh. Do , lp trnhtrc tip bng hp ng cn phi bit a ch cng vo/ra ni vi thit b ngoivi.Thng ng nht cng chnh l a ch ca cng vo/ra ni vi thit b ngoivi. Mt s cng vo/ra ca mt s thit b ngoi vi thng dng cho h my IBMPC nh sau:a ch Thit b000-03F Biu khin DMA 8237A 1020-03F Biu khin ngt 8259A 1060-06F Biu khin bn phm 80420A0-0BF Biu khin ngt 8029A 20C0-0CF Biu khin DMA 8237A 2170-177 a cng 11F0-1F7 a cng 2200-207 Gy iu khin tr chi2F8-2FF Vo/ra ni tip COM2370-377 a mm 2378-37F My in song song LPT1, LPT2

    380-38F Cng cho mng SDLC3B0-3DF Mn hnh VGA3F8-3FF Vo/ra ni tip COM13D0-3DF Card mn hnh mu CGA, EGA3F0-3F7 iu khin a mm

    2.1.2. CC VNG NHTHAM S

    Vng nh tham s ca cc ngt l cc bin hay cc tham s ca cc ngt BIOS,DOS; c nhim v cha d liu cho cc ngt. C cc a ch dnh ring cho tngngt hoc tng thit b ngoi tr ti vng nh tham s ny. Khi lp trnh trctip cn bita chca cc bng tham sny cung cp tham scho chngtrnh cn khi lp trnh s dng ngt th cc chng trnh con c cc tham s nnngi lp trnh c th khng cn bit.

    a ch nhcho cc tham s ca BIOS cho cc thit b ngoi:a ch Kch thc Ni dung0000:0400 2 byte a ch csca khi ghp ni RS233(COM1)0000:0402 2 byte a ch csca khi ghp ni RS232(COM2)

  • 8/6/2019 Lap Trinh He Thong KMA$92

    25/92

    Hpv HVKTMM

    25

    0000:0404 2 byte a ch ...................................................(COM3)0000:0406 2 byte a ch ...................................................(COM4)0000:0408 2 byte a ch c s ca khi ghp ni my in song

    song 1 (LPT1)0000:040A 2 byte a ch .................................................(LPT2)

    0000:040C 2 byte a ch ..................................................(LPT3)0000:040E 2 byte a ch .................................................(LPT4)0000:0410 2 byte Danh sch cc trang thit b phn cng0000:0412 1 byte Cc li trong phn kt ni bn phm0000:0413 2 byte Tng b nhtheo Kbyte0000:0415 2 byte m dng cho kim tra cc li ch to0000:0417 2 byte Cc ctrng thi bn phm0000:0419 1 byte Gi tr ca cc phm Alt + S0000:041A 2 byte a chu vng m bn phm0000:041C 2 byte a ch cui vng m bn phm0000:041E 32 byte Vng m bn phm (mim a ch: 0000:041E-

    0000:043D)0000:0449 1 byte Ch mn hnh hot ng0000:044A 2 byte Chiu rng mn hnh tnh theo ct vn bn0000:044C 2 byte Chiu di vng nhmn hnh0000:044E 2 byte Ofset tnh t phn on mn hnh ca trang vng

    nhmn hnh0000:0450 16byte V tr con tr (8 cp byte)0000:0460 2 byte Kch thc con tr (byte thp=dng qut cui,

    byte cao=dng u)0000:0462 1 byte S hiu trang mn hnh hot ng hin hnh0000:0463 2 byte a ch cng chip MC 68450000:0465 1 byte Gi tr hin ti ch mn hnh ca MC 68450000:0466 1 byte Gi tr hin ti ca mu mn hnh ca MC 68450000:0478 4 byte Gi tr vt thi gian ca my in (0478h:LPT1..)0000:047C 2 byte Gi tr vt thi gian ca RS 232 (47Ch:COM1)0000:0480 2 byte a ch Ofset bt u vng m bn phm cho

    AT v PS/20000:0482 2 byte a ch Ofset kt thc...........................................0000:0484 1 byte Hng k t ca EGA cao nht0000:0485 2 byte S byte cho mi k t EGA(s dng qut/k t)0000:0487 1 byte Thng tin ph v EGA dng mn hnh n sc0000:0488 1 byte Thng tin ph v EGA dng mn n sc0000:0496 1 byte Bit 4 ca trng thi cca bn phm AT=10000:0497 1 byte Trng thi cca bn phm AT hin cc phm

    LOCK0000:0498 4 byte Con trn trng thi i 8 bit ca ngi dng

  • 8/6/2019 Lap Trinh He Thong KMA$92

    26/92

    Hpv HVKTMM

    26

    0000:049C 4 byte Mt Micro giy trc khi ngi dng my ATchxong

    0000:04A0 1 byte Trng thi c hnh ng ch ca ngi dng(1=bn, 80h= qua, 0=nhn bit)

    0000:04A8 4 byte a ch bng con tr SAVE-PTR ca EGA

    0000:04F0 16byte Vng trao i tin ca cc chng trnh ng dng0000:0500 1 byte Trng thi in mn hnh( 00h:cho php in, 01h:

    ang in, 0FFh: li trong khi in)

    Bng cc tham s:Lu tr thng tin chi tit ng vi mi thit b ngoi vi. Gi chc nng ca ngt ->bit c a ch ca bng -> c c ni dung ca bng. Thc cht y chnh lcc ofset ng vi a chon (a ch cs) ca a ch nhcho thit b ngoi vi.

    2.2. TTNG LP TRNH

    2.2.1. GII THIU

    Cc chng trnh iu khin thit b ngoi vi thng dng c vit sn trong hiu hnh MS-DOS di dng cc ngt (INT nh n: k hiu s ngt; h: dnghexa). Khi gi cc chng trnh phc v ngt ch cn vit lnh INT nh bng hpng; cui mi chng trnh phc v ngt u c lnh tr v ch b ngt cachng trnh.C 2 phng php lp trnh cho cc thit b ngoi vi:Lp trnh trc tip cho phn cng: iu khin cc khi iu khin ca thit b

    ngoi vi. Phng php ny i hi nm vng cu trc v hot ng ca cc

    khi iu khin; a ch cc thanh ghi, cu trc cc thanh ghi trng thi, a chcc ngn nhm dnh cho thit b ngoi vi.

    Lp trnh sdng ngt: s dng cc ngt INT nh trong ROM-BIOS v DOSca hiu hnh MS-DOS hay phn mm h thng. Phng php ny cn bitcch dng cc ngt vi cc tham s vo(np vo cc thanh ghi) v tham sra(a ra cc thanh ghi bit kt qu thc hin ca cc chng trnh phc vngt). Thc cht chnh cc chng trnh iu khin trc tip tng t vi ccchng trnh (cc hm chc nng) phc v ngt m hiu hnh vit sn phc v, iu khin thit b ngoi vi m sc thc hin khi gi ngt.

    Nguyn l chung ca lp trnh trc ti p cc thit bngoi vi nhsau:

    Vi lp trnh trc tip can thip vo phn cng: Bc 1: Np a ch ca cc cng vo/ra (thng thng ni n cng

    vo/ra chnh l a ch ca cng m thit b ngoi vi tng ng ocghp ni vo)

    Bc 2: Kim tra trng thi sn sng hay yu cu trao i tin ca ccthit b ngoi vi

    Bc 3: Np d liu cn a ra vo thanh ghi AX

  • 8/6/2019 Lap Trinh He Thong KMA$92

    27/92

    Hpv HVKTMM

    27

    Bc 4: a s liu ra bng lnh OUT hoc c s liu vo bng lnhIN

    Vi phng php s dng cc ngt INT nh ca hiu hnh: Bc 1: Np cc chc nng hay cc hm phc vng vi tng nhim

    v ca thit b ngoi vi tng ng vo thanh ghi AH; cc chc nng con

    vo thanh ghi AL Bc 2: Np cc tham s vo cn thit vo cc thanh ghi thng dng Bc 3: Gi ngt INT nh tng ng

    2.2.2. QUI TC CHUNG LP TRNH CHO THIT BNGOI VI

    Phng php trao i tin ca CPU vi thit b ngoi vi v cu trc chung ca khiiu khin ghp ni thit b ngoi vi

    2.2.2.1. TRAO I TIN GIA CPU VI THIT B NGOI VI

    Trnh t trao i tin: khi trao i tin vi thit b ngoi vi, vi x l thc hinthng qua cc lnh theo trnh t: CPU a ra a ch cng (a ch thanh ghi m ca khi ghp ni thit b

    vo ra) ln bus a ch(A0-An) chn vi mch tng ng vi loi tin( iukhin, trng thi hay d liu)

    Nu a tin ra thit b ngoi vi, CPU s ghi d liu vo thanh ghi tch luAX(ca CPU). Sau , CPU a lnh ghi s liu WR(tch cc thp) vothanh ghi. Sau tn hiu ny d liu sc ghi vo thanh ghi m d liuca khi iu khin thit b ngoi vi.

    Nu CPU cn c d liu t thit b ngoi vi, CPU phi a tn hiu cRD sau khi a a ch. D liu trn thanh ghi m c( trng thi, d liu)c a ln bus d liu v ghi vo thanh ghi tch lu AX

    Ch trao i tin Trao i trc tip (ng b): Do CPU thc hin bng cch a a ch, d

    liu v lnh cho cng m khng cn bit thit b ngoi vi c yu cu traoi khng hoc sn sng cha. Nhanh nhng khng tin cy

    Trao i tin c kim tra trng thi: Ging nh trc tip nhng CPU c kimtra trng thi sn sng ca thit b ngoi vi. Do CPU cn: c d liu ca thanh ghi trng thi Kim tra bit sn sng trao i tin ca thit b ngoi vi.Nu sn sng th thc hin lnh trao i tin ngay sau lnh kim tra trngthi. Nu cha sn sng th: chuyn sang kim tra trng thi ca thit bngoi vi khc theo vng kn (hi vng trng thi)

    Trao i tin theo ngt chng trnh:Do thit b ngoi vi khi xng bng cch a yu cu trao i tin, yu cungt chng trnh INTR( Interrup Request) ca CPU ngay khi CPU ang thchin mt chng trnh no . Tin trnh nh sau:

    1. Lm th tc ngt chng trnh

  • 8/6/2019 Lap Trinh He Thong KMA$92

    28/92

    Hpv HVKTMM

    28

    2. Pht tn hiu xc nhn ngt to v c vecto ngt( a ch cha ach ca lnh bt u ca chng trnh con phc v trao i tin) t khighp ni iu khin thit b ngoi vi vo thanh ghi cha AX.

    3. Chuyn sang thc hin chng trnh phc v ngt cho n khi thchin lnh RET( trv) hoc IRET( trv t ngt). Triu khin v

    cho chng trnh chnh 4. Thc hin tip chng trnh chnh b ngt

    Dng tin trao i Dng song song: Mi bit tin c truyn trn mt ng dy ring r ti

    cng mt thi im. Nhanh nhng tn ng dy v b nhiu khi thit bngoi vi xa

    Dng ni tip: Tin trao i c truyn tng bit trn mt ng dy 2 chiuhoc 2 ng dy( ng pht Tx, ng thu Rx)

    2.2.2.2. KHI GHP NI IU KHIN TRAO I TIN

    Gia CPU v thit b ngoi vi phi lp khi ghp ni(cn gi l interface: giaodin hoc adaptor: biu hp) iu khin trao i tin Cu trc ca khi ghp ni: Khi ghp ni song song: gm

    Khi m ng dy cho cc ng a ch, d liu, iu khin tngcng cng sut v cch ly CPU vi thit b ngoi vi.

    Khi gii m a ch v lnh cho cc thanh ghi m Cc thanh ghi m iu khin, trng thi, d liu Khi x l ngt: mc ch chnh l pht tn hiu yu cu ngt( INTR),

    to vc tngt khi nhn xc nhn ngt INTA t CPU Khi ghp ni ni tip: ngoi cc thnh phn ging khi ghp ni song

    song khi ghp ni tip cn c: Cc thanh ghi dch: bin i tin song song thnh ni tip v ngc li Khi iu khin Modem cho tin truyn xa trn in thoi Khi pht nhp thi gian cho tn hiu pht v thu Khi pht hin cc bit bt u( start) v kt thc( Stop) ca byte tin Khi kim tra li cho truyn tin

    Hotng ca khi ghp niTheo trnh t:

    Khi pht: khi ghp ni c ghi cc thng tin v ch, lnh iukhin( c ghi b nhm v c a ch dnh ring cho tng thit bngoi vi)

    c, kim tra v chtrng thi sn sng ca thit b ngoi vi Trao i tin vi thit b ngoi vi

    2.2.2.3. LP TRNH TRAO I TIN

  • 8/6/2019 Lap Trinh He Thong KMA$92

    29/92

    Hpv HVKTMM

    29

    Lp trnh trc tip:Cn: nm vng cu trc, hot ng ca CPU, khi ghp ni v thit b ngoi vi.Phi bit r a ch cc thanh ghi ca khi ghp niBng vng a ch dnh cho thit b ngoi vi trong IBM-PCLoi thit b Vng a ch

    Biu khin thi gian 040-05FB ghp ni song song( 8255A) 069-063

    Cc lnh hp ngdng lp trnh trc tip:Lnh chuyn: MOV A, B (trng hp np a ch cng: A l DX, B l a ch ofset, trng hp gn s liu a ra cho AX: A l AX, B l gi tr d liu)

    Lnh IN A, B (trng hp np trng thi vo AX vi A l AX, D l a ch cathanh ghi trng thi; hoc trng hp c d liu t thanh ghi m d liu vo AXvi A l AX, D l a ch ca thanh ghi m s liu)OUT A, B (trng hp a d liu viu khin - lnh, ch t B ra thanh ghiiu khin A; hoc trng hp a d liu t B ra thanh ghi m d liu A)

    Lnh chn lgic AND AX, dliu ( lc cc bit v trng thi-ch li cc bit cnthit ca trng thi cn xt)

    Lnh kim tra trng thi:TEST AX, d liu (Nu cc bit ca trng thi trng vi cc bit ca d liu th c

    ZF=1, hiu AX-d liu =0, nhng khng a hiu vo AX)CMP AX, d liu (tng t TEST nhng gi hiu AX-d liu vo AX)

    Lnh nhy:JNZ A (nhy v nhn A; s dng nhy v lnh c trng thi nu trng thicha sn sng)Lp trnh sdng ngt INT nh

  • 8/6/2019 Lap Trinh He Thong KMA$92

    30/92

    Hpv HVKTMM

    30

    n gin hn lp trnh trc tip, khng cn phi hiu r cu trc ca cc khighp ni v:Cc chng trnh con phc v ngt thc cht chnh l cc chng trnh trc tip vit cho cc khi ghp niCc s liu cho lp trnh trc tip ghi sn trong b nhm dnh cho cc khi

    ghp niLp trnh s dng ngt cn:Hiu r ngt v cc chc nng phc dng cho khi ghp ni no v lm gGhi y cc tham s vo cho cc thanh ghi thng dng ca VXL m ngt yucuc cc tham s ra bit kt qu thc hinCc lnh hay dng:MOV A, B (A thng l cc thanh ghi, B l cc con s ch ngt hay cc hm chcnng)INC A, DEC A (tng, gim gi tr ca thanh ghi A)

    Cc lnh kim tra: TEST, CMPCc lnh nhy: JNZ, JZ, LOOPINT nh (gi s hiu ngt cho tng thit b ngoi vi tng ng)Lnh kt thc chng trnh INT 20h, hoc MOV AH, 4Ch INT 21h

    2.2.3. DNG TNG QUT CA CHNG TRNH PHC V THIT BNGOI SDNG NGT

    Cc chng trnh phc v trao i tin ca cc thit b ngoi vi u c cu trcsau:

    Ghi chc nng( hm phc v) vo thanh ghi AH, chc nng con vo thanh ghi ALca CPU bng lnh MOVGhi cc tham s vo cn thit cho chc nng vo cc thanh ghi BX, CX, DXGi ngt h thng INT nh cho thit b ngoi viKt thc chng trnh c th dng cc ngt:

    Ngt INT 20h: Kt thc chng trnh v triu khin cho DEBUGNgt INT 21h: C mt s hm chc nng ring; trc khi gi ngt INT 21h

    phi np chc nng c th vo thanh ghi AH. Cc chc nng cbn:AH=00h: Kt thc tng t nh INT 20hAH=4Ch: Kt thc v triu khin v cho MS-DOS

    AH=31h: Tng t nh 4Ch nhng cn ghi m trv vo thanh ghi AL,lu vo DX kch thc ca b nhtrong on m lnh CS v lu tr chng trnhtrong b nh.

    Ngt INT 27h: Kt thc ny li thng tr trong b nh; DX ghi ofset cam lnh. Nu khng cn ghi chng trnh thng tr trong b nh th khng nndng ngt ny v n s xo chng trnh ghi trong vng nhm tr bi a chCS:IP.

  • 8/6/2019 Lap Trinh He Thong KMA$92

    31/92

    Hpv HVKTMM

    31

    Chng trnh cha ghi thng tr trong b nh s b xo i khi thot khiDEBUG

  • 8/6/2019 Lap Trinh He Thong KMA$92

    32/92

    Hpv HVKTMM

    32

    CHNG II. H THNG NGT Mc ch: nhm hiu r khi nim, cch hot ng, ca h thng ngt

    s dng ngt trong lp trnh h thng

    N

    i dung chnh: Khi nim ngt Phn loi H thng ngt cng H thng ngt mm Gii thiu cc ngt ca MsDos

  • 8/6/2019 Lap Trinh He Thong KMA$92

    33/92

    Hpv HVKTMM

    33

    1. NGT V BIU KHIN PIC 8259

    1.1. MT S KHI NIM

    Ngt(Interrup) l cch bt CPU dng cng vic ang thc hin chuynsang thc hin qu trnh phc v ngt. Bn cht ca qu trnh phc v ngt l qutrnh gi v thc thi cc chng trnh con phc v ngt. Do , khi ni n ngt lhm ni n cc chng trnh ny. Tt c cc chng trnh phc v ngt u cchung c im: th nht l hu ht c vit sn ( l cc chng trnh ca hiu hnh) v c php s dng ; th hai l a ch ca cc chng trnh con nyphi c t mt vng nhxc nh gi l bng vc tngt, nm trong b nhchnh.Bng vc tngt

    Bng vc tngt l bng cha a ch ca cc chng trnh phc v ngt.Bng ny c 256 , cc c nh s th t ln lt t 00h, 01h, ., 08h,,

    0Fh, .10h,.,FFH. S th t ca tng trong bng c gi l shiu ngt. Ni dung mi cha a ch logic ca mt chng trnh phuc v ngt xc nh,cc a ch ny cn c gi l vc tngt.

    Cu to ca mt bng vc tngt ch thc;

    1.2. PHN LOI NGT

    Cch 1: Phn loi da vo vic kch hot ngt: c ngt cng, ngt mm, ngtlgic( ngoi l) Ngt cng: s dng lm phng php vo / ra d liu, trong thit b vo

    / ra (thit b vt l: bn phm, my in , ng h nhp thi gian v.v..) ch

    ng khi ng qu trnh vo / ra. Qu trnh phc v ngt cng c kchhot bng mt tn hiu vt l t bn ngoi.

    Ngt mm: l ngt c kch hot bng cc chng trnh gi cc chngtrnh con phc v ngt thng qua ch th INT.

    Ngt lgic(Ngoi l): l ngt do chnh CPU pht ra khi n gp li. V dphp chia cho 0, trn b nh...

    Cch 2: Theo s nhn bit ngt ca CPU: ngt che c v ngt khng chec Ngt che c(Maskable): c th thit lp CPU nhn bit hoc khng

    th nhn bit c ngt da vo c IF. Nu IF=1, CPU c th nhn bit

    ngt, IF=0, CPU khng th nhn bit c; ngha l khi c yu cu ngtCPU vn lm vic bnh thng

    Ngt khng che c( Non Maskable): CPU lun nhn bit c khi cyu cu ngt, vic thit lp cIF khng nh hng g

    1.3. PIC 8259 V H THNG NGT CNG

  • 8/6/2019 Lap Trinh He Thong KMA$92

    34/92

    Hpv HVKTMM

    34

    1.3.1. NGT CNG

    Cc chng trnh con phc v ngt cng thng c iu khin qu trnhvo/ra vi cc thit b vo ra chun mc vt l. Cc trng trnh con phc vngt cng c kch hot bi cc tn hiu vt l IQR t thit b vo ra. Cc

    chng trnh con phc v ngt mm c kch hot bi lnh INT trong h lnh caCPU. Cc chng trnh con phc v ngt logic cng phc v cho hot ng ca hthng, nhng chng chc kch hot khi CPU thc hin lnh pht sinh v thchin mt ngoi l no .

    CPU c thit kp ng c vi cc qu trnh ngt cng. CPU c mtu vo nhn tn hiu ngt INT, khi nhn c tn hiu ny CPU s phn ng theocch ngt cng. Trong thc t c nhiu thit b ngoi vi yu cu c phc vtheo Phng php ngt cng (bn phm, ng h h thng, my in v.v..) v sinh ranhiu yu cu ngt. Do vy cn c biu khin gip CPU qun l v phc v ccyu cu ngt, l biu khin ngt PIC (Programmable Interrupt Controller). Cu trc h thng ngt cng (h.48):

    H thng ngt cng c xy dng trn cshai biu khin ngt PIC

    8259, mi PIC 8259 c th nhn 8 tn hiu yu cu ngt IRQ t thit b vo/ ra. Hai PIC ny c kt ni vi nhau theo kiu ghp tng, kt hp hotng c th thc hin c 16 yu cu ngt Q.

    Chc nng c bn ca PIC 8259 : PIC 8259 l mt vi mch in t khtrnh c thit k gip CPU thc hin qu trnh ngt cng. PIC 8259thc hin cc chc nng sau:

    Ghi nhn c 8 yu cu ngt IRQi , i = 0,1,2,.,7. Cho php chn v phc v cc yu cu ngt theo mc u tin. Cung cp cho CPU s ngt tng ng vi yu cu ngt IRQi s ngt

    ny i din cho a ch ca chng trnh con phc v thit b yu

    cu ngt IRQi Cho php hoc khng cho php cc yu cu ngt IRQi kch hot h

    thng ngt.

    1.3.2. THIT BIU KHIN PIC 8259 V CCHHOTNG CAHTHNG NGT CNG.

    Cu trc bn ngoi ca PIC 8259 (h.49)

  • 8/6/2019 Lap Trinh He Thong KMA$92

    35/92

    Hpv HVKTMM

    35

    Cu trc bn ngoi ca PIC 8259 (h.50)

    Cc khi chc nng:

    Thanh ghi yu cu ngt IRR (Interrupt Request Register) : l thanh ghi 8bit. IRR cha ghi nhn tt c cc yu cu ngt IRQi i phc v. Nu tnhiu IRQi = 1 th bit IRRi tng ng c t bng 1.

    B gii quyt u tin PR (Priority Resolver) : l thanh ghi 8 bt. PR xcnh mc u tin ca cc yu cu ngt. Ngt c u tin cao nht c chnv t vo bit tng ng trong ISR trong chu k INTA.

    Thanh ghi ngt ang c phc v ISR (In service Rigister): l thanh ghi 8bit. ISR ghi nhn cc ngt ang c phc v. yu cu ngt IRQi no angc phc v th bit ISRi tng ng c t bng 1.

    Khi logic iu kin a ra th nghim INT c ni thng vis chn ca

    CPU khi INT c mc cao l i CPU l phc v ngt khid\s logic iukhin nhn INTA t CPU khi nhn c tn hiu INTA, PIC 8259 s cungcp s ngt ra BUS d liu cho CPU khi m Bus l loi 8 bit, hai hng ,3 trng thi c tiu khin ICWPCW c a vo PIC 8259 qua khiny xc lp ch ca 8259 s ngt v trng thi hot ng ca PICcng c a ra BUS d liu qua khi ny.

    Khi ghp tng PIC 8259 c ccu cho php ni ghp tng cc PIC 8259 vi nhau v khi

    hot ng ca khi PIC ny . tng th nht c u ra ni trc tip vi CPU,gi l PIC 8259 - chu vo IRQi ca PIC chc ni vi u ra caPIC 8259 ra. PIC ny c gi l PIC 8259 - th c ch ghp tng chophp xy dng mt h thng ngt cng qun l c n 64 yu cu ngtIRQ.

    Khi logic ghi /c v gii m: Thc hin gii m cc tiu khin ICW(Initialization Command Word - t iu khin khi ng) v OCW(Operation Command Word - tiu khin hot ng) qua hai li tiukhin ny ngi s dng c th lp trnh xc lp ch hot ng cho PIC.

    Thanh ghi IMR: l thanh ghi 8 bit, cho php t / xo mt n ngt.

  • 8/6/2019 Lap Trinh He Thong KMA$92

    36/92

    Hpv HVKTMM

    36

    Bng cc tn hiu CS, AO, RD, WR, v cch ghi /c PIC 8259

    CS AO RD WR D4 D3 Hng thng tin0 0 0 1 X X IRR, ISR => BUS

    0 1 0 1 X X (IMR) = OCW1 => BUS0 0 1 0 0 0 BUS => OCW20 0 1 0 0 1 BUS => OCW30 0 1 0 1 X BUS => ICW10 1 1 0 X X BUS => ICW2, ICW3, ICW4, OCW1

    Cch hot ng ca h thng ngt cng:iu kin ban u: PIC 8259 cn c khi ng qua cc tiu khin ICW.Sau khi cc tiu khin ICW c np th PIC 8259 sn sang hot ng. Mt hoc nhiu thit b vo ra c yu cu c phc v pht tn hiu

    IRQi = 1 (mc tch cc) cho PIC. PIC ghi nhn cc yu cu ngt IRQiny bng cch t cc bit IRRi tng ng ln 1.

    PIC 8259 chn IRQi c mc u tin cao nht phc v PIC gi tn hiuINC cho CPU, i CPU phc v.

    CPU thc hin cc thao tc Thc hin nt lnh ca qu trnh hin hnh Lu a ch trv (ni dung ca cc thanh ghi CS, IP) v thanh ghi

    cFLAGS vo ngn xp. Gi hai tn hiu ngt INTA cho PIC.

    Khi PIC 8259 nhn c tn hiu INTA th 1 : bit ISRi ng vi IRQi c

    mc u tin cao nht c thit lp (ISRi = 1) v bit IRRi tng ng bxo (IRRi = 0) trong chu k INTA th nht ny PIC 8259 khng gi choCPU qua BUS d liu.

    Khi PIC 8259 nhn c tn hiu INTA th 2: PIC 8259 gi s ngt tngng vi IRQi dang c phc v qua BUS d liu cho CPU.

    CPU nhn s ngt trn c s ca s ngt ny vo v tr tng ng trongbng vc tngt xc nh a ch ca chng trnh phc v ngt . CPUnp a ch chng trnh phc v ngt vo cc thanh ghi CS, IP, v bt uthc hin chng trnh phc v ny

    Khi thc hin xong chng trnh phc v ngt (khi CPU thc hin lnh

    IRET) th qu trnh phc v ca CPU cng kt thc. CPU khi phc a chtrv vo cc thanh ghi CS, IP, khi phc ni dung thanh ghi FLAGS vtip tc thc hin qu trnh va b ngt.

    H thng ngt cng c th kt thc phc v ngt hin thi theo hai ch: Kt thc ngt bnh thng EOI (End Interrupt): khi PIC c t ch

    kt thc ngt bnh thng EOI th CPU phi pht lnh bo kt thcngt EOI (qua tiu khin OCW2 cho PIC trc khi ri khi chng

  • 8/6/2019 Lap Trinh He Thong KMA$92

    37/92

    Hpv HVKTMM

    37

    trnh con phc v ngt. Khi bit ISRi ca ngt ang c phc v sc dt xung 0.)

    Kt thc ngt tng AEOI (Automantic EOI): khi PIC c dt ch kt thc ngt tng AEOI th ti chu k INTA th 2 bit ISRi cangt ang c phc v sc t xung 0.

    Bng cc cnh ni trn h thng ngt cng c th phc v yu cu ngt ny nhng phn tip theo.

    2. CC NGT CA MS-DOS DNH CHO THIT B NGOI VICc chng trnh phc v ngt ca hiu hnh MS-DOS gn bi cc s hiungt (t 00h-FFh). Khi cn ch cn gi s hiu ngt bi lnh gi ngt INT nh (n: shexa); t s hiu ngt trong bng vecto ngt s ly c a ch ca ngt trong bnh; t c th gi thc hin chng trnh phc v ngt.Cc s hiu chc nng ca MS-DOS nh sau:

    2.1. CC NGT CA BIOS V ROMBIOS

    Cc ngt ca h 0 n 7 ( ROM, BIOS) Ngt logic:

    0 - Chia cho 01 - Ch tng bc3 - im dng thc hin chng trnh4 - Trn dung lng

    Ngt cng:2 - NMI: ngt khng che c5 - In mn hnh ( print screen)

    Ngt di siu khin ca PIC 8259A

    S hiu ngt t 8 n F ( ROM.BIOS) n vo INTR ca VXL, cc ngt cdu * l ch yu.

    8* Dao ng ca ng h ( ngt 18,2 ln/1 sec)9* Ch phm n ca bn phm dng ch ngy gi( INT 1Ah) v kim

    tra tc ca a

    A Khng dngB Lin lc khng ng b ( ca ni tip)C B phi hp ca lien lc khng ng bD a cnhE* - a mmF My in

  • 8/6/2019 Lap Trinh He Thong KMA$92

    38/92

    Hpv HVKTMM

    38

    Ngtiu khin thit b ngoi10 iu khin mn hnh

    11 Xc nh cu hnh ca my vi tnh12 Xc nh kch thc b nh

    13 Hnh ng c v ghi ln a14 Vo/ra cho lin lc ni tip15 Hnh ng vo/ra ca cassette16 Bn phm; b xung cho INT9h17 My in18 im vo ca Basic cha trong ROM19 im vo ca khi mc ni (BOOT: a ch 7C00h)1A Gica ngy.

    Ngt pht bi chng trnh

    1B Ngt chng trnh bi CTRL-BREAK1C iu khin bm ng h.

    Ngt truy cp bng cc thng s

    1D Bng cc thng s mn hnh c trong ROM(dng khi pht khi iu khin 6845)1E Bng cc thng s ca a1F Bng cc s liu ca cc k t ph.

    2.2. CC NGT CA DOS (GI CC CHC NNG)20 Kt thc chng trnh, triu khin cho DOS21 Gi cc chc nng DOS (ch s chc nng trong AH)22 im kt thc chng trnh23 im dng khn cp24 im dng khi c li25 c trc tip trn a vi a ch trc tip26 Ghi trc tip ln a vi a ch trc tip27 t ch thng tr ca mt chng trnh

    28 3F Cc ngt dng bn trong chng trnh.67 Ngt iu khin khi nh.

    2.2.1. CC CHC NNG CA NGT INT 21H CA DOS

    Ring ngt INT 21h ca DOS cho php truy cp ti 94 chc nng(function) tnh ti phin bn 3.0 trong c 13 chc nng c dng bn trong

  • 8/6/2019 Lap Trinh He Thong KMA$92

    39/92

    Hpv HVKTMM

    39

    DOS, cn 81 chc nng c th gi c t mt chng trnh s dng. Trc khigi lnh ngt INT 21h, s hiu chc nng phi np vo thanh ghi AH ca vi x lv c th mi chc nng ny cn c s hiu chc nng con np vo AL (xemchng 5).

    Danh sch cc chc nng ca ngt INT 21h nh sau:S hiu chc nng Chc nng

    00h Kt thc chng trnh01h Nhp vo t bn phm02h a ra mn hnh03h Vo ph (ba khng ng b)04h Ra ph (ba khng ng b)05h a ra my in06h Vao/ra trc tip t bn iu khin

    07h Vo trc tip t bn iu khin khng a ra mn hnh08h Vo t bn iu khin khng a ra mn hnh09h In0Ah Vo t bn phm b nhm0Bh Kim tra trng thi ca n v vo0Ch Xa bm bn phm0Dh Hi phc a0Eh Chn a

    0Fh Mtp10h ng tp11h Tm s liu vo u tin trong th mc12h Tm s liu vo th hai13h Bi b tp14h c ni tip15h Ghi ni tip16h To tp mi17h Thay i tn tp

    18h Bn trong DOS19h c ch sa hin hnh1Ah Cha ch ca bm ca a (DTA)1Bh Cc tin tc v bng cc tp (FAT)1Ch Tin tc ca bng cc tp ca a1Dh Bn trong DOS

  • 8/6/2019 Lap Trinh He Thong KMA$92

    40/92

    Hpv HVKTMM

    40

    1Eh Bn trong DOS1Fh Bn trong DOS

    20h Bn trong DOS

    21h c mt tp22h Ghi mt tp23h c kch thc mt tp24h Khi pht vng ghi c chn la trong mt FCB25h Khi pht vctngt26h To mt tip u mng (segment) mi ca chng trnh (PSP)27h c nhiu khi ghi28h Ghi nhiu khi, CX=0: thay i kch thc mt tp29h Phn tch tn ca tp

    2Ah c ngy trong CX:DX2Bh Ghi ngy trong CX:DX

  • 8/6/2019 Lap Trinh He Thong KMA$92

    41/92

    Hpv HVKTMM

    41

    CHNG III. LP TRNH CHO CC THIT B VO RA Mc ch:

    Hiu c cu trc, nguyn l hot ng ca cc thit b vo ra thng

    dng Trn cs, lp trnh cho cc thit b ny Ni dung:

    Lp trnh bn phmo Cu trc v nguyn l hot ngo Lp trnh bn phm

    Lp trnh cho chuto Cu trc, hot ng ca chuto Lp trnh

    Lp trnh mn hnh

    Lp trnh my in...

  • 8/6/2019 Lap Trinh He Thong KMA$92

    42/92

    Hpv HVKTMM

    42

    1. LP TRNH BN PHM

    1.1. CU TRC V NGUYN L HOT NG CA BN PHM

    (B sung phn cu to v nguyn l hot ng)C 2 loi bn phm:Bn phm iu khin trc tip: t phm, thng t bn tng ho dng my vitnhBn phm thng thng: cha vi x l v b nhm; c nhiu phm nCc nhm phm:Cc phm m ASCII( American national Standard Code InfomationInterchange)....Trong bn phm c mt vi x l (8048 cho PC XT, 8042 cho PC AT) to mqut v m ASCII khi mt phm nhn v th. Cn c b nhm ghi m quttrc khi truyn vo CPU. Biu khin bn phm c thanh ghi iu khin, thanh

    ghi trng thi CPU ghi lnh iu khin hoc c thng bo trng thi (cc c).Thanh ghi m s liu ghi d liu a vo/ra.

    C mt s loi bn phm s dng cho IBM PC. Bn phm chun c 83 phm; mts loi mrng s dng 101 phm. Cc phm c chia thnh ba nhm chnh:Cc phm m ASCII(American national Standard Code Infomation Interchange): l ccphm tng ng vi cc k t hin th ASCII v cc k tiu khin bao gm: ccch ci, cc ch s, cc du cu, du s hc v mt s biu tng c bit; ccphm iu khin nh: ESC, Enter, Backspace, Tab.Cc phm chc nng: F1-F10 (hoc F1-F12 vi cc phm mrng), cc phm mi

    tn, cc phm Home, PgUp, PgDn, End, Ins, Del. Cc phm ny thng c dngtrong chng trnh thc hin chc nng c bit.Cc phm dch: Shift tri, Shift phi, Caps Lock, Ctrl, Alt... Cc phm ny thngdng kt hp vi cc phm khc.M Scan:Mi phm trn bn phm c gn mt s duy nht gi l m scan ca phm. Khimt phm c nhn, vi mch bn phm gi m scan tng ng n CPU. Gi trcc m scan bt u t 1. phn bit mt phm nhn c nh, vi mch phm s gi mt m mi bngm scan c cng 80h (128) gi l m kt thc. V d m scan ca ESC l 1h th m

    kt thc ca n l 81h.Khi nhn t hp cc phm s thu c m scan v m ASCII khc.Bm bn phm: bn phm c mt b nhm lu tr cc phm nhnnhng cha c c b chng trnh. Mi phm nhn c cha trong mt tvi: byte cao cha m scan; byte thp cha m ASCII nu l phm ASCII hoccha 0 nu l phm chc nng. Mt phm dch khng c lu trong bm; khiphm dch kt hp vi cc phm khc s to ln mt m scan t hp v c luvo bm.

  • 8/6/2019 Lap Trinh He Thong KMA$92

    43/92

    Hpv HVKTMM

    43

    Cc phm c lu tr trong bm theo cu trc hng i (Queue). Nu c yucu nhp phm m bm rng, h thng si cho n khi mt phm c nhn.Khi bm y, nu nhn phm, my tnh s pht ting ku bo li.Hotng:Khi nhn mt phm v chng trnh thi hnh ang c n; tin trnh nh sau:

    1. Bn phm gi ngt 09h n CPU yu cu trao i tin2. Chng trnh phc v ngt 09h c t cng vo/ra v cha vo trong b

    m.3. Chng trnh c th s dng cc ngt ca hiu hnh c cc gi tr

    ny

    1.2. CC NGT DNG CHO BN PHM

    Bng cc ngt bn phm:Ngt Ngun gc Cng dngINT 09h T thit b bn phm

    Do chng trnh

    Bo bn phm yu cu trao i

    tinINT 16h ROM-BIOS Yu cu phc v bn phmINT 01Bh ROM-BIOS To ngt khi c t hp Ctrl-cINT 21h DOS Yu cu phc v bn phmINT 23h DOS Yu cu x l ngt Ctrl-c

    Ngt INT 9hSinh ra do nhn phm, c a vo CPU qua vi mch x l ngt PIC 8259(ngt cng); yu cu h vi x l 86 trao i tin

    Ngt INT 16hThuc ROM-BIOS, thuc chng trnh vo ra c s ghi trong ROM. Ktthc chng trnh, triu khin v cho chng trnh trc , khng tr vDOSCc hm chc nngChc nng M t00h c k t bn phm tip theo

    Tham s vo:AH=00hTham s ra: AH=m qut ca phm; AL=m ASCII ca

    phm01h c v kim tra s sn sng ca mt phm. S dng cZF:

    1 cha sn sng, 0: sn sng( c mt phm n)Tham s vo: AH=01hTham s ra: AH=m qut, ZF=0; AL=m ASCII

    02h c trng thi phm Shift hay kim tra trng thi mt sphm iu khin v mt s ch vo ca phm

  • 8/6/2019 Lap Trinh He Thong KMA$92

    44/92

    Hpv HVKTMM

    44

    Tham s vo: AH=02hTham s ra: AH=trng thi phm Shift vi cc bt trngthi: bit 7 = 1( phm Insert c nhn); bit 6 = 1( phmCaps Lock c nhn); bit 5 = 1( phm Num Lock nhn); bit 4 = 1( phm Scroll nhn); bit 3 = 1( phm Alt

    nhn); bit 2 = 1( phm Ctrl nhn); bit 1 = 1( phmdch tri nhn); bit 0 = 1( phm dch phi c nhn)

    03h t tc g phm v thi gian trTham s vo: AH=03h; AL=05h; BL=vn tc g tng(vi 00h:30ln/s; 01h:26.7ln/s; ...); BH=thi gian tr( vi01h: 500ns; 02h:750ns; 03h:1000ns)Tham s ra: khng c

    04h Dnh ring05h Ghi m ca mt phm vo b nhm

    Tham s vo: AH=05h; CH=m qut ca phm; CL=m

    ASCIITham s ra: AL=00h( ghi); AL=01h( bm y)

    06-0Fh Dnh ring10h c bn phm mrng

    Tham s vo: AH=10hTham s ra: AH=m qut ca phm; AL=m ASCII

    11h c trng thi ca bn phm mrngTham s vo: AH=11hTham s ra: ZF=1( khng c hnh ng); ZF=0( c hnhng); AH=m qut ca phm; AL=m ASCII

    12h c trng thi mrng ca phm ShiftTham s vo: AH=12hTham s ra: AH=trng thi ca Shift (vi cc bit m ttrong chc nng 02h); AL=trng thi Shift mrng: bit 7 =1( SysReg c nhn); bit 6 = 1( Caps Lock c nhn);bit 5 = 1( Num Lock c nhn); bit 4= 1( Scroll Lockc nhn); bit 3 = 1( Alt phi c nhn); bit 2=1( Ctrlphi c nhn); bit 1 = 1( Alt tri c nhn); bit 0 = 1(Ctrl tri c nhn)

    Ngt INT 21h( ca DOS) vi cc hm cho bn phmSo vi INT 16h ca ROM-BIOS, INT 21h c c im:Thc hin chm hnC tha vo/ra trc tip mn hnh m khng qua b nhm ca bn phmC th hin k ta vo/ra mn hnhCc chc nng:

  • 8/6/2019 Lap Trinh He Thong KMA$92

    45/92

    Hpv HVKTMM

    45

    Chc nng M t01h Vo k t c in ra mn hnh

    Tham s vo: AH=01hTham s ra: AH=m scan; AL=m ASCII

    06h Vo trc tip t bn iu khin, c in ra mn hnh

    Tham s vo: AH=06h, DL=m ASCII ca k tmun a ra, DL=FFh nu mun a k t vo tbn phmTham s ra: AL=m ASCII ca phm nhn

    07h Vo trc tip t bn iu khin, khng in ra mnhnhTham s vo: AH=07hTham s ra: AL=m ASCII ca phm nhn

    08h Vo cc k t t bm, khng a ra mn hnhTham s vo: AH=08h

    Tham s ra: AL=m ASCII ca phm nhn0Ah c vo mt chui cc k t t bn phm, ghi b

    m, c a ra mn hnh, ti a 254 k tTham s vo: AH=0AhTham s ra: m ca chui k t c a vo bnhc a ch DS:DX

    0Bh c v kim tra trng thi ca bn phmTham s vo: AH=0BhTham s ra: AL=m ASCII ca phm nhn nu c,nu khng AL=0; AL=FF nu c t nht 1 phm

    nhn0Ch Xo bm bn phm v c bn phmTham s vo: AH=0Ch, AL=mt trong cc chcnng c bn phm trn (01h, 06h, 07h, 08h, 0Ah)Tham s ra: AL=m ASCII ca phm nhn tngng vi cc chc nng ph ca AL trong tham svo

    1.3. LP TRNH PHC V BN PHM S DNG NGT

    1.3.1. QUY TC CHUNG

    Khi s dng cc ngt ca hiu hnh lp trnh phc v bn phm nhn chungcc chng trnh u theo tin trnh sau:Np s hiu ca hm chc nng vo thanh ghi AH, s hiu hm chc nng convo AL v cc tham s vo tng ng vi mi hm chc nng vo cc thanh ghi

  • 8/6/2019 Lap Trinh He Thong KMA$92

    46/92

  • 8/6/2019 Lap Trinh He Thong KMA$92

    47/92

    Hpv HVKTMM

    47

    My PC AT c trang b biu khin l vi x l 8042 vi cc cng nh sau: Cng 60h: l cng d liu, s dng ghi m t bn phm hoc t CPU.

    CPU phi a lnh c cng IN AL, 60h bit phm no c nhn. Cng 64h: l cng iu khin v trng thi vi cc lnh t CPU: Ghi li iu khin: OUT 64h, AL (hoc OUT DX, AL - vi iu kin

    np 64h vo DX) iu khin hot ng bn phm. C th nh sau:0 1: bin i

    m qutthnh gi trca PC

    1: cho phpbn phm AThot ng

    1: cm bnphm hotng

    Cho php/cm ghi .Ging Insert

    Dng c c

    0: cm1: cho phpngt ca thitb ph

    0: cm1: cho phpbn phma yu cungt

    Vi t hp cc bit 0-6 ca thanh ghi iu khin s thu c tp hp cclnh ca bn phm AT; mt s lnh ph bin:M lnh M t20h t byte lnh vo thanh ghi m ra60h Vit byte lnh vo cng 60AAh T kim tra; kt qu 55h cng 60h nu khng li

    ADh Cm bn phm hot ngC0h c cng vo ti cng 60hD0h c ni dung ca cng xut ti cng 60h

    c trng thi bn phm: IN AL, 64h (hoc IN AL, DX - vi iu kin np 64h vo DX). Li iu khin trng thi cho bit hin trng hotng ca bn phm. nh dng nh sau:

    0: sais l1: chn

    1: c linhn tin quthi gian

    1: c litrong khitruyn tin

    0:keyboardb kho.

    1: ch d liul lnh0: ch s liu

    1: t kimtra xong0: bt ngunor xo

    0: bmvo rng1: c s liu

    0: bm rarng1: c s liu

    1.4.2. QUI TC CHUNG CA LP TRNH TRC TIP BN PHM Nhim v: iu khin bn phm hot ng (cm, cho php, t tc tr, tc

    truyn) Trao i d liu vi khi iu khin bn phm qua cng 64h Trao i d liu vi bn phm qua cng 60hD liu trao i c th l: cc lnh( ghi ra), trng thi( c vo), s liu cam( m qut, ASCII)

    Thao tc ch yu:

    1.

    Gn a ch cng cho thanh ghi DX2. c trng thi ca bn phm( vo AL): IN AL, 64h3. Kim tra v chtrng thi sn sng trao i d liu ca bn phm

    TEST AL, trng thi cn( AL cha trng thi c vo; trng thi cnl mt s tng ng vi thanh ghi trng thi trnh by). S dngTEST th ni dung ca AL khng thay i sau khi so snh

    C th s dng CMP AL, trng thi cn (nhng ni dung mi ca ALsau khi thc hin lnh s l hiu s ca AL v trng thi cn)

  • 8/6/2019 Lap Trinh He Thong KMA$92

    48/92

    Hpv HVKTMM

    48

    JNZ a ch lnh nhy ti (thng l lnh c trng thi ch trngthi sn sng)

    Trao i d liu: s dng lnh: OUT a ch cng, AL (a d liu t CPU ra bn phm hay khi

    iu khin- thng l cc lnh iu khin) IN AL, a ch cng (c d liu t bm vo CPU)

    1.4.3. CC V D

    V d 1: vit chng trnh thc hin vic cm ngt, c, ch trng thi sn sngca bn phm v cm bn phm hot ngM lnh nh sau:CLI ;cm ngtMOV CX, 0FFFFh ;np sln lp vo CXWAIT:

    IN AL, 64h ;c trng thi ti cng 64hTEST AL, 00000010h ;kim tra bm vo by?

    LOOPNZ WAIT ;chbm yMOV AL, 0ADh ;gi m lnh cm phm hotngOUT 64h, ALSTI ;cho php ngt trliINT 20h

    V d 2: vit chng trnh ghi byte s liu hay lnh vo cng 60hM lnh nh sau:MOV CX, 40h ;offset ca on nhsliu ES

    MOV ES, CX ;MOV BH, AL ;luu tam AL trong BHMOV BL, 03h ;so lan lapSTART_LOOP:

    CLI ;cam ngatMOV CX, 0FFFFh ;so lan lap de cho trang thai san sangMOV AL, 01001111b ;xoa bit 4 va bit 5AND ES:[0097h], AL ;chan bit 4, 5, 7 cua ngan nho ES:[0097h]

    WAIT1:IN AL, 64h ;doc trang thai

    TEST AL, 00000010b ;kiem tra trang thai bo dem day (bit1=1)LOOP WAIT1 ;tro ve WAIT1 neu chua san sangMOV AL, DATA ;DATA la du lieu can ghi vao phimOUT 60h, AL ;ghi ra cong 60hSTI ;cho phep ngatMOV CX, 0FFFFh ;so lan lap de cho trang thai san sang

    WAIT2:

  • 8/6/2019 Lap Trinh He Thong KMA$92

    49/92

    Hpv HVKTMM

    49

    TEST BYTE PTR ES:[[0097h]], 0001000b ;kiem tra bit4=1JNZ EXIT ;nhay den EXIT neu bit4=0DEC BL ;tro lai WAIT2 neu CX!=0 and bit4=1JNZ START_LOOP ;tro lai START_LOOPOR BYTE PTR ES:[[0097h]], 1000000h ;xac lap sai so bit7=1

    EXIT:INT 20h

  • 8/6/2019 Lap Trinh He Thong KMA$92

    50/92

    Hpv HVKTMM

    50

    2. LP TRNH CHO CHUT

    2.1. CU TRC V HOT NG CA CHUT

    2.1.1. CU TO V HOTNG CA CHUTBng xoay bng kim loi bc cao su. Khi di chut, bng truyn chuyn ngvo hai thanh nh X, Y t vung gc vi nhau. Khi bng xoay, hai trc X, Yxoay theo lm cc a gn vi trc cng xoay theo. Trn a c khe hcho nhsng ca mt phtdit truyn qua to thnh mt xung in b cm bin. Sxung in ny c s lng khc nhau (theo s vng ca a) v tc khcnhau (theo tc quay ca a). My tnh sc cc xung trn v ch th to X, Y thnh v tr ca con tr (mi tn trn mn hnh).

    2.1.2. MCH GHP NI CHUT

    Chut c ghp ni trao i tin vi my tnh thng qua cng ni tip (thngl COM1)Tin c truyn theo gi vi cc tham s: vn tc truyn 1200 baud(xung/s);s bit s liu trn mt li tin 7; s bit khi pht 1; s bit dng 1; khng c kimtra chn l. Trong khong thi gian xc nh, chut gi nhng thng tin v vtr con tr, trng thi ca phm nhn. D liu c gi di dng ba gi tr 7bit, c tp hp trong mt gi vi cc bit bt u v bit dng. Gi tru tintng ng vi trng thi ca phm nhn v cha hai bit cao ca cc to:

    Bit 6: 1Bit 5: Nm nhn phi (0: nh; 1: nhn)

    Bit 4: Nm nhn tri (0: nh; 1: nhn)Bit 3-2: Hai bit cao ca to YBit 1-0: Hai bit cao ca to X

    Hai byte tip theo l 7bit thp ca to X, Y

    2.1.3. IU KHIN CHUT

    iu khin chut bi ngt INT33 vi nhiu chc nng khc nhauC hai cch iu khin chut:

    Ci t qua mt lnh DEVICE = MOUSE trong file CONFIG.SYS caMS-DOS

    iu khin bng nhng chng trnh thng tr c khi pht sau khi btngun nui

    2.1.4. MN HNHO CHO CHUT

    L vng din tch trn mn hnh m khi con tr trong th s kin kchchut s c hiu lc. Khi lp trnh cho chut, iu quan trng l cn phi xc nh

  • 8/6/2019 Lap Trinh He Thong KMA$92

    51/92

  • 8/6/2019 Lap Trinh He Thong KMA$92

    52/92

    Hpv HVKTMM

    52

    19h c a ch chng trnh x l tu chn1Ah t nhy cho chut1Bh c nhy chut1Ch t tn s ngt ca chut1Dh t s trang mn hnh

    1Eh c s trang mn hnh1Fh Lm ngng chng trnh iu khin chut20h Khi ng li chng trnh iu khin chut21h Khi to li chng trnh iu khin chut22h t ngn ng s dng23h c s ngn ng s dng24h Xc nh loi chut, s yu cu ngt, phin bn

    2.3. LP TRNH CHO CHUT

    2.3.1. KCH HOT V XCNH LOI CHUT

    2.3.1.1. CC CHC HM NNG

    Khi to: 00h: Kch hot chng trnh iu khin v kim tra xem c chngtrnh iu khin ci tTham s vo: AH = 00hTham s ra: AX = FFFFh nu ci t; 0000h ngc li

    BX: cha s phm ca chut, phi gi chc nng ny trckhi gi cc chc nng khc

    Ngng v kch hot li:AH=1Fh: lm mt tc dng ca chng trnh iu khin chut v cho bit ach ca chng trnh iu khin chut trc ; cn bit c li (AX=FFFFh)hay khng (AX=001Fh)Chc nng 20h: Kch hot li chng trnh iu khin chut m 1Fh lm mttc dngChc nng 21h: Khi to li chng trnh iu khin chut, thi kch hot ccchng trnh x l ci t

    Xc nh loi chut: chc nng 24hTham s vo: AX=0024h

    Tham s ra: BH=s ln ca th hBL=s nh ca th hCH=kiu chut (01:chut song song; 02:chut ni tip;04:chut InPort; 08:chut PS/2; 10h:chut HP)CL=s hiu ngt cng (01:PS/2; gi tr khc l PC)

    2.3.1.2. CHNG TRNH V D

  • 8/6/2019 Lap Trinh He Thong KMA$92

    53/92

    Hpv HVKTMM

    53

    .......MOV AX, 0MOV BX, 0MOV CX, 0MOV DX, 0

    ;1. Kch hot chutMOV AH, 00hINT 33h;2. Hin chutMOV AH, 01hINT 33h;3. n chutMOV AH, 02hINT 33h;4. Hin chut

    MOV AH, 01hINT 33h;5. Hu kch hotMOV AH, 1FhINT 33h;6. Hin chut -> vn khng c co tr v chut cha kch hotMOV AH, 01hINT 33h;7. Kch hot liMOV AH, 20h

    INT 33h;8. Xc nh loi chutMOV AH, 24hINT 33hINT 20h

    2.3.2. TRNG THI CHUT

    2.3.2.1. CC HM CHC NNG V TRNG THI CHUT

    c trng thi: 03hTham s vo: AH=03hTham s ra: BX: ch cc phm nhn (D0=1:phm tri; D1=1: phi;

    D2=1:phm gia)CX=X: to ngang ca mn hnh oDX=Y: to dc ca mn hnh o

    Ct trng thi chut: 16hCt trng thi chut vo vng m ca chng trnh gi ti a ch ES:DXKhi phc trng thi c ca chut: 17h

  • 8/6/2019 Lap Trinh He Thong KMA$92

    54/92

    Hpv HVKTMM

    54

    c li trng thi ct a ch ES:DXc kch thc vng m ghi trng thi chut: 15hTham s ra: BX=s bytet tn s ngt cng ca chut: 1Cht tn s phn cng ca chut c v tr hin thi v trng thi phm nhn

    truyn tham s cho cc chng trnh iu khin chut.Tham s vo: AH: 1Ch

    BX=tn s (D0=1:khng ngt; D1=1:cho 30ngt/s; D2=1: cho50ngt/s; D3=1: 100; D4=1: 200)

    2.3.2.2. CHNG TRNH V D

    Chng trnh khi to chut, c trng thi hin thi ca chut, ct trng thi hinthi, khi phc trng thi hin thi, c trng thi hin thi. C th vit v chychng trnh trn Debug v chy tng on lnh. M lnh nh sau:

    MOV AH, 00h ;Kch hot chutINT 33hMOV AH, 01h ;Hin chutINT 33hMOV AH, 03h ;c trng thiINT 33h ;ca tr chutMOV AH, 16h ;Ct trng thiMOV CX, 012EhMOV ES, CX; Gn tham sMOV DX, BXINT 33h

    ;Khi phc trng thi chutvng nhkhcMOV AH, 17hMOV CX, 1500hMOV ES, CXMOV DX, 0130hINT 33h;c li trng thi tr chutMOV AH, 03hINT 33hINT 20h

    2.3.3. IU KHIN CON TR CHUT

    2.3.3.1. CC HM CHC NNG V CON TR CHUT

    Trang mn hnh cha chut:t trang mn hnh cha chut:chc nng 1Dh; s hiu trang trong thanh ghiBX

  • 8/6/2019 Lap Trinh He Thong KMA$92

    55/92

    Hpv HVKTMM

    55

    c trang mn hnh: chc nng 1Eh; s hiu trang c ra cha trong thanh ghiBX

    Xc nh hnh dng con tr:Hnh dng con tr c th thay i theo chng trnh iu khin; cng c th

    thay i theo chng trnh ng dng; tu ch mn hnh v loi con tr

    (cng hoc mm) m c hnh dng v kch thc con tr khc nhau Trong ch vn bn:

    Thng hin con tr di dng hnh khi (ging con tr vn bn) con trcng

    Chng trnh ng dng ch c th thay i dng bt u v dng kt thcca con tr

    Kch thc con tr ph thuc vo ma trn k t hin thi v ch mnhnh

    K thut to con tr mm (bng chong trnh) phi s dng:Hai byte k t v thuc tnh trong RAM mn hnh

    Thanh ghi mt n (che) mn (Screen Mask) 16bitThanh ghi mt n (che) con tr 16bitChng trnh iu khin chut phi xc nh li hnh dng con tr mi khi contr thay i v tr trn mn hnh. Qu trnh nh dng con tr kt hp cc yu ttrn theo cc bc:

    M k t v byte thuc tnh kt hp vi Screen Mask theo php ANDKt quc kt hp vi Cursor Mask cho hin ln mn hnh

    C bn kh nng chnh ca dng con tr:Con tr l mt k tc bit vi mt mu c bitCon tr l mt k tc bit nhng mu thay i khi con tr ln k t

    Con tr l mt k tc bit nhng mu k t thnh mt bin th khi contr ln k t

    Con tr trong ch ho: chc nng 09hC mt bng nh trong RAM gm 64byte (32byte u c AND v 32bytesau c OR vi mu ca con tr hin thi)Cn phi a vo:

    Khong cch tim lm chun ti mp tri ca bng vo thanh ghiKhong cch tim lm chun ti mp phi ca bng vo thanh ghi

    Con tr trong ch vn bn: chc nng 0AhCn phi a vo:

    Kiu con tr vo thanh ghi BX (0: mm; 1: cng)Mt n AND vi con tr mm hoc dng bt u - vi con tr cng vo CX

    Mt n XOR vi con tr mm hoc dng kt thc - vi con tr cng vo DX

    Hin v du con tr:Hin con tr: chc nng 01h

    Con tr hin ln mn hnh khi bm trong c gi tr 0

  • 8/6/2019 Lap Trinh He Thong KMA$92

    56/92

    Hpv HVKTMM

    56

    Chng trnh iu khin chut theo di chuyn ng ca chut ngay c khikhng hin trn mn hnh; chc nng ny ch thc hin vic hin ln mn hnhti v tr ca thi im hin tiDu con tr; chc nng: 02h

    Con tr khng hin ln mn hnh khi bm trong c gi tr -1

    Khi gi chc nng ny, con tr khng hin nhng chng trnh iu khinvn theo di v tr ca con trCh :

    S ln gi chc nng 01h v 02h phi m bo mt t l nh nhau; thnggi 01h u chng trnh v 02h cui chng trnh.

    Nu chng trnh ghi trc tip RAM mn hnh th s ln gi phi nhiu hnv:

    Con tr s bin mt nu b ghi bi mt k t khcK t s khi phc khi con tr ri sang v tr mi

    V tr con tr:

    n v l Mickey (1mickey = 1/200 inch)Cc toc tnh vi mn hnh o:Chc nng 00h t phm vi di chuyn con tr trong ton b mn hnhChc nng 04h xc nh v tr mi; 07h(gii hn trc X); 08h(gii hn trc

    Y)V tr con tr c thc c cng vi trng thi nhn bng chc nng 03h

    Xc nh v tr mi: 04h:Cn a to X vo CX; to Y vo DXCho php chuyn v tr m khng cn di chuyn chut

    Xc nh phm vi di chuyn con tr:

    Theo to X: chc nng 07h cn np to min vo CX, max vo DXTheo to Y: chc nng 08h cn np to min vo CX, max vo DXt vng cm chut: 10h

    Cm chut di chuyn trong vng din tch:To gc cao bn tri (CX=X; DX=Y)To gc thp phi (SI=X; DI=Y)

    Khi di chuyn vo vng cm, con tr s bin mt. C th b vng cm bngchc nng 01h hoc 00h

    Xc nh khong cch dch chuyn: chc nng 0Bhc khong cch gia v tr hin thi v v tr khi gi chc nng ny ln trc(v tr c c ngay trc )

    CX: cha khong cch ngangDX: cha khong cch dc

    2.3.3.2. Chng trnh v d V tr con tr chutMOV AX, 0MOV BX, 0

  • 8/6/2019 Lap Trinh He Thong KMA$92

    57/92

    Hpv HVKTMM

    57

    MOV CX, 0MOV DX, 0;MOV AH, 00hINT 33h

    MOV AH, 03hINT 33hMOV AH, 04hMOV CX, 0278hMOV DX, 0000hINT 33hMOV AH, 03hINT 33h

    MOV AH, 07h

    MOV CX, 0050hMOV DX, 0100hINT 33h

    MOV AH, 08hMOV CX, 0050hMOV DX, 00A0hINT 33h

    MOV AH, 03h

    INT 33hINT 33hINT 33hINT 33h

    MOV AH, 0BhINT 33h

    INT 33hINT 33hINT 33h

    MOV AH, 03hINT 33hINT 20h Hnh dng con tr chut:

  • 8/6/2019 Lap Trinh He Thong KMA$92

    58/92

    Hpv HVKTMM

    58

    MOV AX, 0MOV BX, 0MOV CX, 0MOV DX, 0

    MOV AH, 01hINT 33h

    MOV AH, 0AhMOV BX, 0000hMOV CX, 00AAhMOV DX, 0055hINT 33h

    MOV AH, 0Ah

    MOV BX, 0001hMOV CX, 00AAhMOV DX, 0055hINT 33h

    MOV AH, 00hMOV AL, 04hINT 10h

    MOV AH, 00H

    MOV AL, 00hINT 10h

    MOV AH, 09hMOV BX, 0002hMOV CX, 0030hINT 33h

    2.3.4. PHM NHN

    2.3.4.1 CC HM CHC NNG

    Xc nh s ln nhn mt phm: 05hc trng thi trong thanh ghi BX: vi phm tri (D0=1), phm phi (D1=1)Tham s ra:

    AX: trng thi cc phm ca chut ti ging BX tham s voBX: s ln phm c nhn t khi bt u gi chc nng ny ln trc CX: cha to X ca phm trong mn hnh oDX: cha to Y ca phm trong mn hnh o

  • 8/6/2019 Lap Trinh He Thong KMA$92

    59/92

    Hpv HVKTMM

    59

    Xc nh s ln nh mt phm: chc nng 06hCho bit mt phm c nh bao nhiu ln t khi gi chc nng ny ln cui;cng cho bit v tr con tr ti thi im phm c nh ln cuiTham s vo:

    AX=0006h

    BX=s hiu phm (0 tri, 1 phi, 2 gia)Tham s ra:

    AX=trng thi tt c cc phm nhn ca chut (=01 phm tri bn, 02 phmphi bn, 04 phm gia bn)

    BX=s ln phm nhn c nh k t ln nh trc khi gi chc nng nyCX=X ti thi im c nh ln cuiDX=Y ti thi im c nh ln cui

    2.3.4.2. CHNG TRNH V D

    2.3.5. TC DI CHUYN CA CON TR CHUT2.3.5.1. CC HM CHC NNG

    Chc nng 1Ah: t s tng quan gia mickey v im nh:Tham s vo:

    CX=s lng mickey tng ng vi 8 im chiu ngangDX=s lng mickey tng ng vi 8 im chiu dc

    Trc khi t, sau khi gi 00h gi tr mc nh l 8mickey ngang v 16mickey dct ngng tng gp i tc con tr chut: 13h

    Khi tc con tr chut vt qu mt ngng no (t trong DX), tc di chuyn sc tng gp i.Mun ngn s tng gp i cn t ngng c gi tr ln

    t nhy ca con tr: 1AhKt hp cc chc nng 0Fh v 13h, cho php t s tng ng gia s di

    chuyn ca chut v con tr chut v ngng tng gp iPhi ghi cc tham s vo cc thanh ghi BX, CX, DX

    c nhy ca chut: 1BhNgc vi 1AhCc tham s ra cha trong cc thanh ghi: BX, CX, DX

    2.3.5.2. CHNG TRNH V D

    2.3.6. CIT CHNG TRNH XL KHI DNG CHUT

    2.3.6.1. CI T CHNG TRNH XL SKIN

  • 8/6/2019 Lap Trinh He Thong KMA$92

    60/92

    Hpv HVKTMM

    60

    Khi di chuyn con tr chut n v tr mong mun, chng trnh iu khin chutsc v tr v trng thi ca phm chut; t m chuyn ti lnh u tin cachng trnh x l s kin tng ng trong b nh thc hin.Phm nhn ca chut s gy ra mt ngt cho vi x l; ngt no c gi s tuthuc vo v tr ca chut trn mn hnh (tu hnh ng m gi chng trnh x l

    ngt tng ng vi v tr ca tr chut) lm c iu ny cn bit cch ci t chng trnh x l s kin hay x lngt ti a ch nhmong munCi t chong trnh xl chut: chc nng 0ChTham s vo:

    ES:DX=a ch chng trnh x l ca cc bit ch s thay i v tr cachut: D0, phm tri bn D1 hay nh D2, phm phi bn D3 hay nh D4, phmgia bn D5 hay nh D6Thay chng trnh xl chut: chc nng 14hCi t mt chng trnh x l mi nhng gi li thng tin v chng trnh x l

    cTham s vo: ging 0ChTham s ra:

    CX=s kin cES:DX=a ch chng trnh x l c

    Ci t chng trnh xl skin thay th: chc nng 18hCho php ci t ti 3 chng trnh x l khc nhauCc chng trnh ny c thc gi khi xy ra mt s kin lin quan n chuthay bn phm( cc phm shift, ctrl, alt)Tham s vo:

    CX: c cc bit ghi s kin x l chng trnh. D0-D4 ging 14h; D5 chobit phm shift b tc ng; D6 ctrl; D7 alt.Tham s ra:

    AX=0018h nu chng trnh c ci t; FFFFh nu chaXc nh a chca chng trnh xl skin thay th: 19hCX ghi cc s kin m chng trnh x lTham s ra:

    ES:DX=a ch chng trnh x lCX: cho bit li(0000h) hay khng (!=0)

    2.3.6.2. CHNG TRNH V D

    MOV AH, 00h ;kch hot chutINT 33hMOV AH, 01h ;hin con tr chutINT 33hMOV CX, 000Ch ;ci t ctr x l chutMOV DX, 011Eh ;t nhn phm phiMOV AX, 0123Eh ;offset ca ctr cn thc hin

  • 8/6/2019 Lap Trinh He Thong KMA$92

    61/92

    Hpv HVKTMM

    61

    MOV ES, AX ;segment ca ctr cn thc hinINT 33hNOP132E:011E MOV AH, 00h ;ctr cn thc hinMOV AL, 04h

    INT 10hINT 20h

  • 8/6/2019 Lap Trinh He Thong KMA$92

    62/92

    Hpv HVKTMM

    62

    3. LP TRNH MN HNH

    3.1. CU TRC, HOT NG CA MN HNH V BA( CARD) GHPNI

    3.1.1. MN HNH

    Mn hnh l thit b ra chun. S dng sng bn cc tia in tp vo mn hnhph phtpho to ln cc im sng. Cc cun li tia in tiu khin tia in tlch ngang v lch thng lm di chuyn v tr ca tia in t. Li G iu khincng tia in t, cho ra m nht khc nhau ca im sng trn mn hnh. ch vn bn: tia in tc nh du hnh mi tn; ch ho tia intc nh du l cc im nhMn en trng: ch c mt sng in t cho nh sng(trng) v ti(en)Mn mu: c 3 sng bn in tng vi 3 mu Red(R), Blue(B), Green(G); s

    trn cc cng khc nhau ca 3 mu ny cho ra mu tng hpThng tin hin th trn mn hnh c to ra bi mt v mch gi l v mch ghpni mn hnh. Hu ht cc v mch u c kh nng hin th trong ch vn bnv ch ho

    3.1.2. B GHP NI MN HNH

    B ghp ni mn hnh iu khin vic hin thnh im trn mn hnh. Vi mchny thng nm trn mt ba ph( card) c cha 2 khi cbn: B nhmn hnh(bm mn hnh):

    Cha thng tin hin th, c thc truy cp bi CPU v Biu khin

    mn hnh. a ch ca khi nhny tu thuc vo tng loi B ghp ni mnhnh

    Biu khin mn hnh:c b nhmn hnh v pht tn hiu tng ng trn mn hnh. hin thmu, b ghp ni pht sinh 3 tn hiu tch bit cho cc mu cbn Red, Green,Blue; hoc tng hp 3 tn hiu thnh mt tn hiu chung ri pht. Do c thphn mn hnh thnh hai nhm: mn hnh tng hp v mn hnh RGB. Mn hnh tng hp s dng mt tn hiu tng hp chung. Tn hiu tng hp

    c cha tn hiu bt mu (bit cao nht c gi tr 1); nu khng c tn hiuny mn hnh hin th 2 mu (en-trng)

    Mn hnh RGB: s dng cc tn hiu tch bit Cc loi ba ghp ni mn hnh:MDA: B ghp ni mn hnh n sc phn gii cao; s dng vi x l MC 6845CGA: B ghp ni mn hnh ho mu; iu khin bi vi x l MC 6845Hai ba trn c IBM cung cp cho PC u tin loi XTMCGA: IBM trang b cho my tnh sau PS/2HGC: Tng thch vi MDA, CGA nhng cht lng cao hn

  • 8/6/2019 Lap Trinh He Thong KMA$92

    63/92

    Hpv HVKTMM

    63

    EGA: IBM a ra, c phn gii caoVGA: c s dng cho th h PS/2....................................

    3.1.3. CC CH CA MN HNH

    Trc khi cho mn hnh hot ng phi vit ch cho mn hnhK hiu 40x25 di y ch c 40 k t trn mt dng v c mn hnh c 25 dng Cc ch mn hnh vn bn ng vi cc B ghp ni( ba, card) khc nhau:

    Ch c tnh Cc Bghp ni

    a ch bm

    Kchthc

    Cch

    0 40x25 vnbn 16 mu(xm)

    CGA, EGA,MCGA,VGA

    B8000h 2KB 8x8

    1 40x25 vnbn 16 mu

    CGA, EGA,MCGA,

    VGA

    B8000h 2KB 8x8

    2 80x25 vb 16mu (xm)

    CGA, EGA,MCGA,VGA

    B8000h 2KB 8x8

    3 80x25 vb 16mu

    CGA, EGA,MCGA,VGA

    B8000h 4KB 8x8

    7 80x25 vbn sc

    MDA,EGA, VGA

    B0000h 4KB 9x14

    Cc ch ho ca mn hnh:Ch sch

    c tnh Loi ba a ch Kchthc

    C

    4 320x200p,4mu

    CGA,EGA,MCGA,VGA

    B8000 8

    5 320x200p,4mu(xm)

    CGA,EGA,MCGA,

    VGA

    B8000 8

    6 320x200p,4mu

    CGA,EGA,MCGA,VGA

    B8000 16

    8 160x200p,4mu

    PCjr B8000 16

  • 8/6/2019 Lap Trinh He Thong KMA$92

    64/92

    Hpv HVKTMM

    64

    9 320x200p,4mu

    PCjr B8000 32

    A 320x200p,4mu

    PCjr B8000 32

    D 320x200p,

    16mu

    PCjr A8000 8

    E 640x200p,16mu

    EGA,VGA

    A8000 16

    F 640x350,n sc

    EGA,VGA

    A8000 28

    10 640x350,16mu

    EGA,VGA

    A8000 28

    11 640x480p,2mu

    EGA,VGA

    A8000 38

    12 640x480p,

    16mu

    VGA A8000 38KB 8x16

    13 320x200p,256mu

    VGA,MCGA

    A8000 38KB 8x8

    3.2. CC NGT V CC CHC NNG CHO MN HNH

    BIOS s dng ngt 10h phc v mn h