You are on page 1of 7

Hng dn s dng Emu8086 v RadASM

Hng Dn S Dng Emu8086


Emu8086 l cng c mnh ca ngi lp trnh Hp ng. Bao gm nhiu chc nng nh: thc thi chng trnh dng EXE (EXE Template), thc thi chng trnh dng COM (COM Template, Thc thi on lnh hp ng (BIN Template), to on Boot my (BOOT Template). Trong phn hng dn ny ch hng dn cho sinh vin cch s dng cng c Emu8086 kho st lnh Intel-8086, BIN Template (cc chc nng khc, sinh vin t tm hiu thm thng qua phn Help ca cng c). Cng c ny gip sinh vin thy c s thay i gi tr cc thanh ghi, c, ngn xp, vng nh sau khi thc hin lnh. Qua sinh vin hiu r hn hot ng ca lnh hay s tc ng ln gi tr thanh ghi/c/ngn xp/b nh khi thc hin lnh.

1. Khi ng Emu8086:
Nhp p biu tng trn desktop, mn hnh khi ng nh hnh 1 xut hin. Code Samples : Chn file chng trnh mu thc hin. Quick Start Tutor: Truy cp trang web hng dn (phi c kt ni Internet). Recent Files: Chn file trong danh sch file thng dng. Continue : Tip tc vo mn hnh lm vic.

Hnh 1: Mn hnh khi ng Emu8086 Khi bm Continue, mn hnh lm vic xut hin nh hnh 2 vi file chng trnh mu Hello World mc nhin xut hin trong vng son tho. Hnh 3 l cng c Number Convertor (Bm vo nt Convertor trn thanh cng c) rt hu dng khi mun chuyn i gi tr gia cc h thng s vi nhau.

2. Son tho lnh hp ng kho st:


m vng lm vic mi chn NEW, xut hin hnh 4 chn Template kho st lnh Intel-8086 th chn chc nng thc thi lnh (BIN Template). Vng lm vic BIN Template xut hin nh hnh 5. Trong BIN Template, quan trng nht l dng u tin #make_bin# dng xc nh ch dch lnh ca Emu8086. Tuyt i khng c thay i dng lnh gi ny. Cc dng cn li dng khi ng cc gi tr ban u cho cc thanh ghi v thng s a ch segment/offset cho chng trnh. Cc dng ny khng quan trng, c th xa b c hoc thay i gi tr khi ng khc. Khi cc dng ny b xa b th cc thng s v thanh ghi s c khi ng theo gi tr mc nhin. n gin, nn xa b t dng 2 n ht.

Ths. Nguyn Ha Duy Khang

Hng dn s dng Emu8086 v RadASM

Vng son tho lnh

Hnh 2: Mn hnh Emu8086

Hnh 3: Chc nng Convertor

Hnh 4: Chn template V d: Son on lnh nh trong hnh 6 sau kho st:

Hnh 5: BIN Template

Hnh 6: V d

3. Kho st lnh (Gi lp - Emulate)


kho st lnh bng cch gi lp, chn Emulate, khi mn hnh gi lp xut hin nh hnh 7. Mn hnh gi lp gm 3 vng: Thanh ghi (Registers), B nh 1KB (Memory) cha m my nh phn v vng hin th lnh hp ng tng ng vi m my nh phn (Disassemble) Gi tr cc thanh ghi c trnh by dng s Hex. Vng b nh trnh by Hex Dec ASCII i vi tng nh (a ch offset) Ths. Nguyn Ha Duy Khang

Hng dn s dng Emu8086 v RadASM

Hnh 7: Mn hnh gi lp Reload: Np li on lnh Run: Chy c on lnh t u cho n khi gp lnh HLT (dng) Single Step: Mi khi Single Step c bm th CPU ch chy 1 lnh hin hnh duy nht (xc nh bng vt sng mu xanh) v dng li ch cho n khi Single Step c bm tip. Nh vy, vic kho st lnh c th thc hin thng qua Single Step.

Cc thnh phn khc cn c th xem c trng thi khi CPU thc hin lnh trong ch gi lp nh ALU, Stack v FLAGS (thanh ghi C) bng cch bm vo cc nt tng ng Hnh 8 cho bit trng thi ALU khi thc hin cc php ton (gi tr dng nh phn 16 bit). Dng u tin l th t bit, dng th 2 l gi tr ton hng ngun 1, dng th 3 l gi tr ton hng ngun 2 v dng cui l gi tr kt qu sau khi thc hin php ton Hnh 9 trnh by ni dung ngn xp dng Hex 2 byte Hnh 10 th hin trng thi cc c sau khi thc hin php ton

Hnh 8: Trng thi ALU Ths. Nguyn Ha Duy Khang

Hng dn s dng Emu8086 v RadASM

Hnh 9: Stack

Hnh 10: Thanh ghi C

4. Thc thi chng trnh dng EXE hay COM


Emu8086 c th thc thi chng trnh Hp ng vit theo cu trc dng EXE hay COM. Khi trong vng son tho, khng c dng lnh gi #make_bin# v son tho chng trnh theo ng cu trc dng chng trnh tng ng. V d: Chng trnh dng EXE nh hnh 11

Hnh 11: V d chng trnh dng EXE

Ths. Nguyn Ha Duy Khang

Hng dn s dng Emu8086 v RadASM

Hng Dn S Dng RadASM


RadASM l mi trng pht trin Hp ng, c xy dng kt hp nhng hp ng khc nhau nhau MASM, TASM, HASM . v chy trn mi trng Windows. Mi hp ng khc nhau khi kp hp vo RadASM phi c cu hnh khc nhau. V mc ch cung cp cng c cho sinh vin s dng n gian, nn RadASM c cu hnh ph hp vi hp ng MASM for DOS. V th trong qu trnh s dng, sinh vin khng cn phi cu hnh g thm.

1. Khi ng RadASM
Nhp p biu tng trn desktop th mn hnh lm vic ca RadASM xut hin nh hnh 1. Mn hnh lm vic ca RadASM chia thnh 2 vng: Vng son tho dng son tho chng trnh ngun ASM Vng thng bo kt qu: Khi dch chng trnh, nhng kt qu hay li s xut hin ti vng ny

Vng son tho S th t dng lnh

Vng thng bo kt qu Dch chng trnh

Hnh 1: Mn hnh lm vic ca RadASM

Hnh 2: Menu FILE Ths. Nguyn Ha Duy Khang

Hnh 2: Menu MAKE

Hng dn s dng Emu8086 v RadASM Cc menu thng dng l FILE (hnh 2) v MAKE (hnh 3), cc lnh thng dng: New File (Ctrl+N): M file mi son tho chng trnh mi Open File (Ctrl+O): M file lu sn trn a

Save File (Ctrl+S): Lu file thnh tn (nh t tn file khng c khong trng, phn m rng ASM c thm vo t ng) Assemble (F5): Hp dch file ngun (ASM) thnh file i tng (OBJ) Link (Alt+Ctrl+F5): Lin kt file i tng (OBJ) thnh file thc thi (EXE) Run! (Ctrl+Shift+F5): Thc thi chng trnh (EXE)

2. Son tho file chng trnh ngun


Chn lnh New File trong menu FILE (hay bm phm nng tng ng) m vng son tho mi, trong vng son tho, s dng cc chc nng son tho ging nh cc trnh son tho khc. Sau khi son tho file ngun xong phi lu li thnh tn file c phn m rng l ASM. V trong tn file khng c cha khong trng.

3. Hp dch (Assemble)
Sau khi lu file chng trnh ngun xong, chn Assemble trong menu MAKE (Hay bm phm nng tng ng) tin hnh hp dch chng trnh ngun. Nu chng trnh c li c php th vng thng bo c dng hnh 4. Trong tng li c ch ra bi s th t dng lnh v m li Li dng 18, m li A2008: sai c php mod

V d: chuoi2.asm(18) : error A2008: syntax error : mod

Hnh 4: Thng bo kt qu Hp dch khng thnh cng Khi chng trnh xut hin li th file i tng (OBJ) khng c to ra v ngi lp trnh phi sa li cho n khi khng cn li. Khi khng c li chng trnh (Hp dch thnh cng) th trong vng thng bo xut hin nh hnh 5 v file i tng (OBJ) c to ra. Khi mi chuyn sang bc LIN KT

Hnh 5: Thng bo kt qu Hp dch thnh cng Ths. Nguyn Ha Duy Khang

Hng dn s dng Emu8086 v RadASM

4. Lin kt (Link)
Chn lnh Link trong menu MAKE. (hay bm phm nng tng ng) Sau khi hon thnh bc hp dch, th bc lin kt l bc cui cng to ra file thc thi (EXE). Trong bc ny, khng cn kim tra li c php na v thng thng s lin kt thnh cng v file thc thi EXE s c to ra. Ni dung thng bo khi lin kt thnh cng nh hnh 6.

Hnh 6: Lin kt thnh cng

5. Thc thi chng trnh EXE


thc thi chng trnh va lin kt xong, chn lnh RUN trong menu MAKE (hay bm phm nng tng ng) . Nu chng trnh c truy xut n bn phm hay mn hnh th 1 ca s (dng mn hnh ca h iu hnh DOS) xut hin nh hnh 7. Ca s ny c to ra hin th kt qu hay ngi dng tng tc vi chng trnh ang chy. Nu chng trnh khng c thao tc no truy xut bn phm hay mn hnh th chng ta khng thy c ca s ny. Nh vy, trong lp trnh hp ng, nu mun nhn thy kt qu g th chng ta phi c nhng on lnh tng ng xut gi tr ra mn hnh.

Hnh 7: Ca s kt qu chng trnh

Ths. Nguyn Ha Duy Khang

You might also like