DANH MỤC TÀI LIỆU
Hướng dẫn cách lập trình ngôn ngữ ASM
Giáo trình hợp ngữ
B môn Công ngh điu khin t động Giáo trình hp ng
MC LC
Chương 1. NGÔN NG ASM VÀ CÁCH LP TRÌNH ..............................................1
1.1. M đầu.................................................................................................................3
1.2. Cài đặt chương trình dch TASM.........................................................................3
1.3. Các bước thc hin mt chương trình Assember trên máy PC : .........................4
1.4. S h tr ca h thng cho vic lp trình Assember ...........................................4
1.4.1 Cu trúc các thanh ghi ...................................................................................4
1.4.2 Cách th hin địa ch ô nh (ROM hoc RAM): dng lôgíc và dng vt lý .7
1.4.3 Các ngt hay dùng h tr cho lp trình Assembler........................................7
1.5. H lnh Assembler ...............................................................................................7
1.5.1. Cú pháp ca mt dòng lnh ASM................................................................7
1.5.2. Tp lnh Mnemonic.....................................................................................8
1.5.3 Các lnh điu khin khi dch chương trình (directive) ................................21
1.6. Chương trình con................................................................................................34
1.6.1. Ý nghĩa ca chương trình con.....................................................................34
1.6.2. Cơ chế khi mt chương trình con b gi....................................................34
1.6.3. Cú pháp mt chương trình con ASM.........................................................34
1.7. MACRO .............................................................................................................37
1.7.1. Ý nghĩa........................................................................................................37
1.7.2. Khai báo (xác lp) MACRO .......................................................................37
1.7.3 Cách dùng MACRO đã đưc xác lp..........................................................38
1.8. Directive INCLUDE ..........................................................................................38
1.8.1. Ý nghĩa........................................................................................................38
1.8.2 Cú pháp chèn................................................................................................38
1.8.3. Cơ chế khi chương trình dch TASM gp directive INCLUDE.................39
1.9. Chương trình đa tp............................................................................................48
1.9.1. Ý nghĩa........................................................................................................48
1.9.2. Directive PUBLIC ......................................................................................48
1.9.3. Directive EXTRN .......................................................................................48
1.9.4. Cách dch và liên kết..................................................................................50
1.10. Biến hn hp : Directive STRUC, RECORD và UNION ...............................51
1.10.1 Cu trúc STRUC........................................................................................51
1.10.2 Directive UNION.......................................................................................51
1.11. Xây dng chương trình Assembly để được tp thc hin dng .COM............51
1.11.1 S khác nhau chương trình dng COM và EXE........................................51
1.11.2 Làm thế nào đểđược chương trình dng .COM ...................................51
1.11.3 Các vn đề cn lưu ý..................................................................................52
1.11.4 Dng thường thy 1 chương trình ASM để được dng COM ...................52
Chương 2: LIÊN KT CÁC NGÔN NG BC CAO VI ASM...............................57
2.1 Liên kết Pascal vi ASM ....................................................................................57
2.1.1 Inline ASM..................................................................................................57
2.1.2 Viết tách bit tp ngôn ng Pascal và tp ASM .........................................58
2.2 Liên kết c/c++ vi ASM...................................................................................67
2.2.1. Inline Assembly.......................................................................................67
2.2.2 Viết tách bit C/C++ và tp ASM.............................................................68
Ch¬ng 1- Ng«n ng÷ ASM vµ c¸ch lËp tr×nh 1
B môn Công ngh điu khin t động Giáo trình hp ng
Chương 3: LP TRÌNH H THNG...........................................................................77
3.1. Các bước khi máy tính khi động......................................................................77
3.2 Phân loi ngt và khái nim...............................................................................78
3.3 Cơ chế khi mt ngt được kích hot..................................................................79
3.4. Các bước xác lp ngt........................................................................................79
3.4.1. Viết chương trình con phc v ngt theo yêu cu ca thut toán ..............79
3.4.2. Ly địa ch đầu ca chương trình con phc v ngt...................................79
3.5 Vùng d liu ROM BIOS ...................................................................................82
3.6 Các ngt hay dùng trong h thng ......................................................................87
3.6.1. Ngt bàn phím.........................................................................................87
3.6.2 Các ngt vi màn hình.................................................................................90
Ch¬ng 1- Ng«n ng÷ ASM vµ c¸ch lËp tr×nh
2
B môn Công ngh điu khin t động Giáo trình hp ng
Chương 1. NGÔN NG ASM VÀ CÁCH LP TRÌNH
1.1. M đầu
Gii thiu
Ngôn ng Asembler là ngôn ng bc thp.
Ưu đim :
Vì ngôn ng Assembler rt gn gũi vi ngôn ng máy nên chương trình
+ Chy nhanh.
+ Tiết kim b nh.
+ Có th lp trình truy cp qua các giao din vào ra nhưng hin nay các ngôn ng
bc cao cũng có th làm được.
Nhược đim
+ Khó viết bi vì yêu cu người lp trình rt am hiu v phn cng.
+ Khó tìm sai: bao gm sai v cú pháp (syntax) và sai v thut toán (Algorithm).
Chương trình dch s thông báo sai ta s dùng debug ca DOS để kim tra.
+ Không chuyn chương trình Assembler cho các máy tính có cu trúc khác nhau.
ng dng
+ Viết lõi ca h điu hành.
+ Các chương trình trò chơi ( ngày trước).
+ To virus.
+ Các chương trình đo và điu khin s dng trong công nghip, ngày nay các vi
điu khin được s dng mt cách rng rãi.
1.2. Cài đặt chương trình dch TASM
Hin nay có hai chương trình dch rt ph biến là MASM (ca hãng Microsoft) và
TASM (ca hãng Borland) v cơ bn là hai chương dch này rt ging nhau nhưng
khác nhau ch: khi viết lnh push
Nếu viết :
push ax
push bx
push cx
thì c hai chương trình đều biên dch được. ( cách viết này theo MASM).
Còn trong TASM thì cho phép viết
push ax bx cx
Cài đặt chương trình dch TASM:
Cách 1:
Mua đĩa bn quyn nếu là đĩa mm thì có 5 đĩa hoc là 1 đĩa CD
Run cmd
A:\ install
Ch¬ng 1- Ng«n ng÷ ASM vµ c¸ch lËp tr×nh 3
B môn Công ngh điu khin t động Giáo trình hp ng
Cách 2:
+ To thư mc: C:\TASM
+ Copy 4 tp lõi t máy khác đã cài đặt theo cách 1 v thư mc đã to trước..
1.3. Các bước thc hin mt chương trình Assember trên máy PC :
(son tho chương trình, dch chương trình, liên kết, chy th
cách tìm sai bng DEBUG ca DOS và TD (Turbo Debug) ca Borland)
Bao gm 4 bước:
+ Bước 1: Dùng chương trình son tho bt kì (Edit, NC, TC, ….) để son tho
chương trình. Sau khi son tho xong phi ct tp có đuôi là .ASM.
+ Bước 2: Dch chương trình gc có đuôi .ASM thành tp có đuôi là .OBJ
Cú pháp: C:\BT> tasm ten tep[.ASM]
ten tep.OBJ
Chú ý: khi chương trình dch có li thì không sinh ra tp có đuôi là .OBJ
Cách khai báo sai
** Error**ten tep.asm[10] Illegal Instruction
dòng th bao nhiêu li gì
+ Bước 3: Liên kết để chuyn tên tp có đuôi .OBJ sang tp .EXE hay .COM
Cú pháp: C:\BT> tlink ten tep[.OBJ]
ten tep.EXE hay ten tep.COM
+ Bước 4: Chy th chương trình
Khi chy nếu có li thì dùng debug để kim tra.
1.4. S h tr ca h thng cho vic lp trình Assember
1.4.1 Cu trúc các thanh ghi
a) Thanh ghi là gì? Thanh ghi là mt
vùng nh đặc bit dng RAM nm
CPU, vic thâm nhp các thanh ghi
được thc hin bng tên huý (tên
thanh ghi).
+ Người lp trình ASM hay dùng thanh
ghi làm toán hng thay cho biến nh
vì vy làm cho chương trình chy
Ch¬ng 1- Ng«n ng÷ ASM vµ c¸ch lËp tr×nh
4
B môn Công ngh điu khin t động Giáo trình hp ng
nhanh hơn.
+ Gii thích: vì các thanh ghi nm CPU nên d liu ly ra nhanh hơn.
+ Vùng nh cache là vùng nh nm trong CPU.
b) Phân loi thanh ghi
+ Máy tính 16 bit có 14 thanh ghi.
+ Máy tính 32 bit có 16 thanh ghi.
Cu trúc thanh ghi ca máy tính 16 bit
+ Nhóm 1: Thanh ghi c
Người lp trình ASM hay dùng trng thái các bit c làm điu kin cho các lnh
nhy có điu kin.
x x x x OD I TSZxAxPx C
+ x: không được định nghĩa.
6 bit c trng thái th hin các trng thái khác nhau ca kết qu sau mt thao tác
nào đó, trong đó 5 bit c đầu thuc byte thp ca thanh c là các c ging như ca b
vi x lý 8 bit 8085 ca Intel.
+ C hoc CT (Carry flag): c nh. CF = 1 khi có nh hoc mượn t MSB.
+ P hoc PF (Parity flag): c parity. PF phn ánh tính chn l (parity) ca tng
s bit có trong kết qu. PF = 1 khi tng s bit 1 trong kết qu là chn.
+ A hoc AF (Auxiliary carry flag): c nh ph, rt có ý nghĩa khi ta làm vic
vi các s BCD. AF = 1 khi có nh hoc mượn t mt s BCD thp (4 bit
thp) sang mt s BCD cao (4 bit cao).
+ Z hoc ZF ( Zero flag): c rng, ZF = 1 khi kết qu bng 0.
+ S hoc SF (Sign flag): c du, SF = 1 khi kết qu âm.
+ O hoc OF (Overflow flag): c tràn, OF = 1 khi kết qu là mt s bù hai
vượt ra ngoài gii hn biu din dành cho nó.
Ngoài ra b vi x lí 8088 còn có các c điu khin sau đây:
+ T hoc TF (Trap flag): c by, TF = 1 thì CPU làm vic chế độ chy tng
lnh( chế độ này cn dùng khi cn tìm li trong mt chương trình).
+ I hoc IF (Interrupt enable flag): c cho phép ngt, IF = 1 thì CPU cho phép
các yêu cu ngt được tác động.
+ D hoc DF (Direction flag): c hướng, DF = 1 khi CPU làm vic vi chui
kí t theo th t t trái sang phi (hay còn gi D là c lùi).
+ Nhóm 2: Thanh ghi đa năng: gm 8 thanh ghi 16 bits.
AX AH AL
BX BH BL
CX CH CL
DX DH DL
SI
DI
BP
SP
+ Trong đó H(high) th hin các bit cao, L(low) th hin các bit thp.
+ Trong 4 thanh ghi AX, BX, CX và DX có 3 cách truy cp: truy cp theo 8
bit cao hoc theo 8 bit thp hoc theo c 16 bit. Các thanh ghi còn li ch
mt cách truy cp.
Ch¬ng 1- Ng«n ng÷ ASM vµ c¸ch lËp tr×nh 5
thông tin tài liệu
Những điều cần biết và cách lập trình ngôn ngữ ASM
Mở rộng để xem thêm
từ khóa liên quan
xem nhiều trong tuần
yêu cầu tài liệu
Giúp bạn tìm tài liệu chưa có

LÝ THUYẾT TOÁN


×