TRƯỜNG ĐẠI HC CN THƠ
KHOA CÔNG NGH
B MÔN ĐIN T - VIN THÔNG
Giáo trình thc hành
LP TRÌNH
H THNG
Biên son:
ThS. Nguyn Ha Duy Khang
Ks. Trn Hu Danh
-ĐHCT-
5-2008
Thc hành lp trình h thng
Ths. Nguyn Ha Duy Khang, Ks. Trn Hu Danh i
NI DUNG
Gii thiu
BÀI 1: NHP MÔN HP NG ............................................................................ 1
1. Mc tiêu ................................................................................................................ 1
2. Kiến thc cn chun b ......................................................................................... 1
3. Ni dung thc hành .............................................................................................. 1
3.1. Kho sát lnh Intel-8086 ........................................................................ 1
3.2. Cu trúc chương trình dng EXE ........................................................... 1
3.3. Viết chương trình đơn gin .................................................................... 3
4. Bài tp đề ngh ...................................................................................................... 3
BÀI 2: XUT NHP KÝ T ................................................................................ 5
1. Mc tiêu ................................................................................................................ 5
2. Kiến thc cn chun b ......................................................................................... 5
3. Ni dung thc hành .............................................................................................. 5
3.1. In mt ký t ra màn hình ........................................................................ 5
3.2. In chui ký t ra màn hình ..................................................................... 6
3.3. Nhn mt ký t t bàn phím ................................................................... 6
3.4. Nhn chui ký t t bàn phím ................................................................ 7
4. Bài tp đề ngh ...................................................................................................... 8
BÀI 3: CU TRÚC R NHÁNH – VÒNG LP ................................................. 9
1. Mc tiêu ................................................................................................................ 9
2. Tóm tt lý thuyết .................................................................................................. 9
3. Ni dung thc hành .............................................................................................. 12
3.1. Cu trúc r nhánh ................................................................................... 12
3.2. Cu trúc vòng lp ................................................................................... 13
4. Bài tp đề ngh ...................................................................................................... 13
BÀI 4: NHP XUT S DNG BIN-HEX-DEC ............................................... 15
1. Mc tiêu ................................................................................................................ 15
2. Kiến thc cn chun b ......................................................................................... 15
3. Ni dung thc hành .............................................................................................. 15
3.1. Nhp xut s nh phân ............................................................................ 15
3.2. Nhp xut s thp lc phân .................................................................... 16
3.3. Xut s thp phân nguyên dương ........................................................... 18
4. Bài tp đề ngh ...................................................................................................... 19
BÀI 5: X LÝ TP TIN ........................................................................................ 21
1. Mc tiêu ................................................................................................................ 21
2. Kiến thc cn chun b ......................................................................................... 21
3. Ni dung thc hành .............................................................................................. 21
3.1. To tp tin mi ....................................................................................... 21
Thc hành lp trình h thng
Ths. Nguyn Ha Duy Khang, Ks. Trn Hu Danh ii
3.2. Ghi ni dung tp tin ................................................................................ 22
3.3. Đọc ni dung tp tin ............................................................................... 23
3.4. Xóa tp tin ............................................................................................. 25
3.5. Đổi tên tp tin ........................................................................................ 26
4. Bài tp đề ngh ...................................................................................................... 27
BÀI 6: X LÝ CHUI KÝ T ............................................................................. 28
1. Mc tiêu ................................................................................................................ 28
2. Kiến thc cn chun b ......................................................................................... 28
3. Ni dung thc hành .............................................................................................. 28
3.1. So sánh chui .......................................................................................... 28
3.2. Di chuyn chui ...................................................................................... 30
3.3. Dò tìm trong chui ................................................................................. 31
Gii Thiu
Thc hành Lp trình H Thng giúp cho sinh viên viết được chương trình bng
ngôn ng Assembly trên máy tính PC. Giáo trình này ch hướng dn sinh viên nhng
k năng rt cơ bn trong vic lp trình bng Assembly như: S dng trình biên dch
hp ng trong môi trường Windows, biên dch, sa li và liên kết, kho sát tp lnh,
các ngt đơn gin ca H điu hành DOS. Để vn dng và nâng cao được k năng lp
trình h thng bng Hp ng, đòi hi sinh viên phi n lc rt nhiu trong vic t hc,
đọc thêm tài liu để b sung nhng kiến thc nht định v phn cng máy tính cũng
như nguyên ly vn hành ca các thiết b ngoi vi có liên quan, như: Máy in, h vi điu
khin, cng vào ra ni tiếp/ song song ....
Thi lượng ca môn hc có gii hn, nên các bài thc hành được t chc thành
các ch đề sau đây, mi ch đề thc hành trong 1 bui (5 tiết):
Bài 1: Nhp môn hp ng
Bài 2: Xut nhp ký t.
Bài 3: Cu trúc r nhánh – Vòng lp
Bài 4: X lý ký t - Ký s
Bài 5: X lý tp tin
Bài 6: Nhp xut s BIN-HEX-DEC
Để thc hành đạt hiu qu cao, sinh viên cn phi chun b cho mi bài trước
khi vào bt đầu thc hành. Mun đạt được điu này, sinh viên phi tuân th phương
pháp hc như sau:
Trước khi vào thc hành:
- Nm được mc tiêu ca bài thc hành.
- Xem li các kiến thc cn chun b được nêu ra cho mi bài thc hành.
- Nm được các ni dung cn phi làm trong bui thc hành.
Trong khi thc hành:
- Tuyt đối tuân th thc hành theo th t ca ni dung thc hành. Hoàn
thành các vn đề và tr li được các câu hi đặt ra trong phn trước mi
chuyn sang thc hành phn sau.
- Quan sát hin tượng, nhng thay đổi, xem xét đánh giá kết qu sau mi
thao tác thc hành.
- Lp li các thao tác thc hành nhiu ln, tìm cách gii quyết khác sau khi
đã thc hành theo yêu cu cho mi vn đề. So sánh, nhn xét các cách
gii quyết khác nhau.
Sau khi thc hành:
- Đối chiếu tng mc tiêu ca bài thc hành vi nhng gì đã thc hành
được. Nếu mc tiêu nào chưa thành tho thì phi tìm cách lp li thc
hành đó để nm được mc tiêu vng chc hơn.
Trong quá trình biên son, không th tránh khi sơ xut, hãy chân thành góp ý
chnh sa để giáo trình ngày càng hoàn chnh hơn.
ThS. Nguyn Ha Duy Khang
Email: nhdkhang@ctu.edu.vn
Bài 1 – Nhp môn hp ng
Ths. Nguyn Ha Duy Khang, Ks. Trn Hu Danh 1
Bài 1: Nhp Môn Hp Ng
1. MC TIÊU
- S dng được công c Emu8086 để kho sát các lnh ca Intel-8086.
- S dng được các chc năng cơ bn ca công c RadASM như: Son
tho, Hp dch (Assemble), Liên kết (Link) và Chy chương trình (Run).
- Viết đúng cu trúc ca chương trình hp ng dng tái định (EXE).
- Đọc hiu và sa li chương trình.
2. KIN THC CN CHUN B
- Các thao tác cơ bn trên h điu hành Windows.
- Cu trúc chương trình hp ng dng EXE.
- Qui trình Son tho – Dch chương trình.
- Các lnh đơn gin ca Intel-8086 thường dùng như: MOV, ADD, SUB,
INC, DEC, AND, OR. (Xem cú pháp trong giáo trình)
3. NI DUNG THC HÀNH
3.1. Kho sát lnh Intel-8086:
3.1.1. Nhp vào Emu8086 đon lnh sau đây và d đoán trước kết qu:
MOV AH, 80 ; AH 80 (AX = ?)
MOV AL, 86 ; AL 86 (AX = ?)
MOV BX, AX ; BX AX (BH = ?, BL = ?)
MOV DH, BL ; DH BL (DH = ?, DX = ?)
MOV DL, BH ; DL BH (DL = ?, DX = ?)
MOV SI, CS ; SI CS (SI = ?)
Thc hin tng lnh, sau mi lnh ghi li kết qu các thanh ghi trong ngoc để
đối chiếu vi kết qu d đoán trên và gii thích.
3.1.2. Thc hành tương t như câu 3.1.1 đối vi đon lnh sau:
MOV AX, 8086 ; AX 8086 (AH = ?, AL = ?)
ADD AL, 3 ; AL AL + 3 (AL = ?, AX = ?)
DEC AX ; AX AX – 1 (AH = ?, AL = ?, AX = ?)
SUB AH, 10h ; AH AH – 10h (AH = ?, AL = ?, AX = ?)
AND AX, 0FF0h ; AX AX and 0FF0h (AX = ?)
3.1.3. Sinh viên ch động lp li ít nht 1 ln câu 3.1.1 và 3.1.2 vi các giá tr toán
hng khác trong mi dòng lnh.
3.2. Cu trúc chương trình dng EXE:
3.1.1. [HELLO.ASM] Dùng RadASM để son tho chương trình Hp ng sau đây:
Lưu ý: - Chương trình hoàn toàn không có li.