Bài5 TỔ CHỨC LOGIC CỦA ĐĨA
Mục đích: Nắm được cơ chế tò chức LOGIC cùa đĩa cứng và đĩa mềm hệ điều hành phổ biến nhâ't là DOS và Windows.
Nội dung:
• Khào sát hoạt động, phân tích, tính toán tổ chức logic cùa đìa như MBR. Boot
Sector. Root Directory’. FAT 12. FAT 1Ố. FAT32 bằng các phần mềm hệ thống.
Bài 6 KHẮC PHỤC MỘT số Lỗi cơ BẢN
Mục đích: Nhận biết được các lồi cơ bàn thường gặp ờ máy tính nhằm giúp sinh viên có được kinh nghiệm trong việc bào trì và sừa chừa máy tính.
Nội dung:
• Thực hiện một sò thao tác nhằm tạo ra lồi trên máy tính đê' thây được biểu hiện cùa máy tính khi gặp lỗi (Lòng chân cùa Ram.Card, Ram hư. Card hư. các thao tác khác trên đìa mềm đĩa cứng.). Kiểm tra Virus các thao tác quét Virus, các trường hợp máy tính không nhận được HDD.FDD, không khởi động từ HDD.
• Thực hiện thao tác khôi phục lại bàng Partition Table và phẩn mà định dạng trong trường hợp chia đĩa cứng thành l,2,3.đĩa Logic khác nhau trong trường hợp Virus xoá mat Matter Boot Record và máy không nhận được đĩa cứng.
109 trang |
Chia sẻ: thucuc2301 | Lượt xem: 664 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Cấu trúc máy tính và hợp ngữ - Chương 1: Tổ chức hệ thống máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
:
+ Neáu Destination laø 8 bit thì tích coù trò giaù 16 bit = AX = AL x Destination
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
71
+ Neáu Destination laø 16 bit thì tích coù thò giaù 32 bit ñöôïc löu ôû hai thanh ghi
DX-AX = AX x Destination. Coù nghóa laø DX chöùa 16 bit cao cuûa keát quaû vaø AX
chöùa 16 bit thaáp cuûa keát quaû.
Thí duï beân döôùi seõ laøm roõ ñieàu naøy:
MOV BL, 12H
MOV AL,7H
MUL BL
Do BL laø thanh ghi 8 bit neân pheùp toaùn nhaân 8 bit ñöôïc thöïc hieän. Keát quaû: BL =
12H, AX = 7EH
Xeùt thí duï khaùc:
MOV AX,1000H
MUL AX
Do AX laø thanh ghi 16 bit neân pheùp toaùn nhaân 16 bit ñöôïc thöïc hieän. Keát quaû laø
1000000H, do ñoù DX = 100H vaø AX = 0000H.
- Leänh DIV: (Unsigned divide) Chia 2 soá khoâng daáu
Cuù phaùp: DIV Destination
YÙ nghóa: Tuyø theo kích thöôùc cuûa Destination maø coù hai tröôøng hôïp chia xaûy ra.
+ Neáu Destination laø 8 bit thì soá bò chia laø soá khoâng daáu 16 bit chöaù trong
AX, keát quaû goàm 2 phaàn, thöông chöùa trong AL vaø soá dö chöùa trong AH.
+ Neáu Destination laø 16 bit thì soá bò chia laø soá khoâng daáu 32 bit chöaù trong
caëp thanh ghi DXAX, keát quaû goàm 2 phaàn, thöông chöùa trong AX vaø soá dö
chöùa trong DX.
Thí duï beân döôùi seõ laøm roõ caùc tình huoáng naøy:
MOV BL, 10
MOV AX, 48
DIV BL
Do thanh ghi BL laø 8 bit neân soá bò chia laø AX, keát quaû: AL = thöông = 4, AH =
soá dö = 8.
Moät thí duï khaùc:
MOV BX, 10H
MOV DX,1H
MOV AX,2H
DIV BX
Do thanh ghi BX laø 16 bit neân soá bò chia laø soá 32 bit chöùa trong DXAX =
00010002H, keát quaû laø AX = thöông = 1000H, DX = soá dö = 2H.
Caùc leänh Logic cô baûn
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
72
- Leänh AND : Thöïc hieän pheùp AND theo töøng bit cuûa 2 toaùn haïng
Cuù phaùp: AND Destination, Source
YÙ nghóa: Destination AND Source ® Destination
Thí duï: MOV AL,23H
AND AL,0FH
Keát quaû: AL = 03H.
- Leänh OR: Thöïc hieän pheùp OR theo töøng bit cuûa 2 toaùn haïng
Cuù phaùp: OR Destination, Source
YÙ nghóa: Destination OR Source ® Destination
- Leänh XOR: Thöïc hieän pheùp XOR theo töøng bit cuûa 2 toaùn haïng
Cuù phaùp: XOR Destination, Source
YÙ nghóa: Destination XOR Source ® Destination
- Leänh NOT: Thöïc hieän ñaûo bit toaùn haïng
Cuù phaùp: AND Destination
YÙ nghóa: Ñaûo bit cuûa Destination ® Destination
- Leänh NEG: Ñaûo daáu cuûa moät toaùn haïng (Buø 2)
Cuù phaùp: NEG Destination
YÙ nghóa: Laáy buø 2 cuûa Destination ® Destination
Thí duï:
MOV AL,1
NEG AL
Keát quaû: AL = - 1 ( = FFH).
Caùc leänh dòch chuyeån:
- Leänh SHL: Dòch traùi logic
Cuù phaùp: SHL Destination, 1
YÙ nghóa: Dòch sang traùi Destination 1 laàn.
Cuù phaùp: SHL Destination, CL
YÙ nghóa: Dòch sang traùi Destination, soá laàn dòch chöùa trong thanh ghi CL
- Leänh SHR: Dòch phaûi logic
Cuù phaùp: SHR Destination, 1
MSB LSB CF
0
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
73
YÙ nghóa: Dòch sang phaûi Destination 1 laàn.
Cuù phaùp: SHR Destination, CL
YÙ nghóa: Dòch sang phaûi Destination, soá laàn dòch chöùa trong thanh ghi CL
- Leänh SAL: Xem leänh SHL
- Leänh SAR: Dòch phaûi soá hoïc
Cuù phaùp: SAR Destination, 1
YÙ nghóa: Dòch phaûi soá hoïc Destination 1 laàn.
Cuù phaùp: SAR Destination, CL
YÙ nghóa: Dòch phaûi soá hoïc Destination, soá laàn dòch chöùa trong thanh ghi CL
Caùc leänh quay voøng:
- Leänh ROL: Quay voøng sang traùi
Cuù phaùp: ROL Destination, 1
YÙ nghóa: Quay voøng sang traùi Destination 1 laàn.
Cuù phaùp: ROL Destination, CL
YÙ nghóa: Quay voøng sang traùi Destination vôùi soá laàn quay chöùa trong thanh
ghi CL
- Leänh ROR: Quay voøng sang phaûi
Cuù phaùp: ROR Destination, 1
YÙ nghóa: Quay voøng sang phaûi Destination 1 laàn.
Cuù phaùp: ROR Destination, CL
YÙ nghóa: Quay voøng sang phaûi Destination, soá laàn quay chöùa trong thanh ghi
CL.
- Leänh RCL: Quay traùi thoâng qua côø nhôù
Cuù phaùp: RCL Destination, 1
MSB LSB CF
MSB LSB CF
MSB LSB CF
0
MSB LSB CF
0
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
74
YÙ nghóa: Quay traùi Destination thoâng qua côø nhôù 1 laàn.
Cuù phaùp: RCL Destination, CL
YÙ nghóa: Quay traùi Destination thoâng qua côø nhôù, soá laàn quay chöùa trong
thanh ghi CL
- Leänh RCR: Quay phaûi thoâng qua côø nhôù
Cuù phaùp: RCR Destination, 1
YÙ nghóa: Quay phaûi Destination thoâng qua côø nhôù 1 laàn.
Cuù phaùp: RCR Destination, CL
YÙ nghóa: Quay phaûi Destination thoâng qua côø nhôù, soá laàn quay chöùa trong
thanh ghi CL.
c. Caùc leänh ñieàu khieån chöông trình
Nhoùm leänh nhaûy:
- Leänh nhaûy khoâng ñieàu kieän JMP
Leänh naøy khieán cho vi xöû lyù thöïc hieän moät leänh môùi taïi ñòa chæ ñöôïc moâ taû trong
doøng leänh, bao goàm caùc daïng leänh sau:
+ JMP NHAN
Leänh môùi baét ñaàu taïi vò trí ñaùnh nhaõn laø NHAN. Caên cöù vaøo khoaûng caùch giöõa vò
trí cuûa NHAN vaø leänh nhaûy maø trình bieân dòch seõ xaùc ñònh xem leänh naøy seõ thuoäc moät
trong ba leänh sau:
· Nhaûy ngaén (Short Jmp): Trong tröôøng hôïp naøy NHAN naèm caùch xa trong
phaïm vi -128 +127 byte so vôùi leänh tieáp theo sau leänh JMP. Ñeå ñònh höôùng
cho chöông trình dòch neân vieát leänh döôùi daïng JMP SHORT NHAN
· Nhaûy gaàn (Near jmp): Trong tröôøng hôïp naøy, NHAN naèm caùch xa trong
phaïm vi -32768 +32767 byte so vôùi leänh tieáp theo naèm sau leänh JMP. Ñeå
höôùng daãn cho chöông trình dòch neân vieát JMP NEAR NHAN
· Nhaûy xa (Far jmp): Trong tröôøng hôïp naøy, NHAN naèm ôû ñoaïn maõ khaùc so vôùi
leänh tieáp theo sau leänh JMP. Ñeå höôùng daãn chöông trình dòch neân vieát leänh
döôùi daïng JMP FAR NHAN vaø nhaõn trong tröôøng hôïp naøy phaûi ñöôïc khai baùo
laø NHAN LABEL FAR.
Caùc tình huoáng naøy coù theå minh hoïa nhö sau:
MSB LSB CF
MSB LSB CF
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
75
Opcode Disp JMP SHORT
NHAN (EBH) 1 byte
Opcode IP low IP high JMP NEAR NHAN
(E9H) 2 byte
Opcode IP low IP high CS low CS high JMP FAR NHAN
(EAH) 4 byte
+ Nhaûy vôùi thanh ghi laøm toaùn haïng (thí duï JMP BX): Trong tröôøng hôïp naøy
thanh ghi ( trong thí duï laø BX) chöùa thaønh phaàn offset (cho IP) cuûa vò trí leänh
ñònh nhaûy ñeán trong ñoaïn CS. Khi thöïc hieän leänh naøy thì thanh ghi (trong ví duï laø
BX)® IP
+ JMP [BX]: Trong tröôøng hôïp naøy DS: BX vaø DS:BX+1 chöùa thaønh phaàn
offset (cho IP) cuûa vò trí leänh ñònh nhaûy ñeán trong ñoaïn CS. Khi thöïc hieän leänh
naøy neân duøng leänh ôû daïng JMP WORD PTR [BX}
+ JMP DWORD PTR [BX]: Trong tröôøng hôïp naøy DS: BX vaø DS:BX+1
chöùa thaønh phaàn offset (cho IP), DS:BX+2 vaø DS:BX+3 chöùa thaønh phaàn
Segment (cho CS) cuûa vò trí leänh ñònh nhaûy ñeán trong ñoaïn CS.
Thí duï beân döôùi nhaèm minh hoaï leänh nhaûy khoâng ñieàu kieän:
MOV AL,8
MOV CL,5
JMP TRU
ADD AL,CL
TRU:
SUB AL,CL
Keát quaû laø AL = 3. CL =5.
- Leänh nhaûy coù ñieàu kieän: Caùc leänh nhaûy coù ñieàu kieän laø caùc leänh nhaûy ngaén,
phaïm vi nhaûy naèm trong khoaûng -128 +127 byte so vôùi leänh tieáp theo sau leänh
nhaûy coù ñieàu kieän. Ñieàu kieän nhaûy tuøy thuoäc vaøo caùc côø: S (côø daáu), Z (côø Zero),
C (côø nhôù), P (côø Parity) vaø côø traøn (Overflow). Caùc leänh naøy thöôøng ñöôïc duøng
sau caùc leänh so saùnh.
Caùc leänh nhaûy coù ñieàu kieän ñöôïc minh hoïa trong baûng sau:
Leänh Ñieàu kieän kieåm tra YÙ nghóa
JA C = 0 vaø Z = 0 Nhaûy neáu lôùn hôn
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
76
JAE C = 0 Nhaûy neáu lôùn hôn hoaëc baèng
JB C = 1 Nhaûy neáu nhoû hôn
JBE C =1 hoaëc Z –1 Nhaûy neáu nhoû hôn hoaëc baèng
JC C =1 Nhaûy neáu côø nhôù (Carry) thieát laäp
JE hoaëc JZ Z = 1 Nhaûy neáu baèng
JG Z =0 vaø S = 0 Nhaûy neáu lôùn hôn
JGE S = 0 Nhaûy neáu lôùn hôn hoaëc baèng
JL S ¹ 0 Nhaûy neáu nhoû hôn
JLE Z =1 hoaëc S =0 Nhaûy neáu nhoû hôn hoaëc baèng
JNC C = 0 Nhaûy neáy côø nhôù (Carry) bò xoaù
JNE hoaëc JNZ Z = 0 Nhaûy neáu khoâng baèng
JNO O = 0 Nhaûy neáu khoâng traøn
JNS S = 0 Nhaûy neáu côø daáu khoâng thieát laäp
JNP P = 0 Nhaûy neáu côø Parity khoâng thieát
laäp
JO O = 1 Nhaûy neáu côû traøn thieát laäp
JP P = 1 Nhaûy neáu côø parity thieát laäp
JS S = 1 Nhaûy neáu côø daáu thieát laäp
JCXZ CX = 0 Nhaûy neáu thanh ghi CX = 0
Löu yù laø caùc leänh JA, JAE, JE, JNE, JB vaø JBE duøng cho caùc soá khoâng daáu. JG,
JGE, JE, JNE vaø JLE duøng cho caùc soá coù daáu.
Thí duï beân döôùi minh hoïa leänh nhaûy coù ñieàu kieän:
MOV CX,AX
CMP AX, BX
JB TONG
SUB CX,BX
JMP THOAT
TONG:
ADD CX,BX
THOAT:
Neáu AX < BX thì CX = AX + BX khoâng thì CX = AX –BX.
- Caùc leänh laëp (Loop):
+ Leänh LOOP: Laëp laïi ñoaïn chöông trình cho ñeán khi CX =0
Cuù phaùp: LOOP NHAN
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
77
YÙ nghóa: CX = CX –1; Neáu CX ¹ 0 thì nhaûy ñeán vò trí ñöôïc ñaùnh nhaõn laø
NHAN löu yù laø NHAN phaûi caùch xa trong khoaûng –128 + 127 so vôùi leänh tieáp
theo sau leänh LOOP.
Thí duï:
MOV CX,10
MOV AL,0
MOV BL,0
LAP:
ADD AL,BL
INC BL
LOOP LAP
Keát quaû: AL = 0 + 1 + + 9 = 45
+ Leänh REP: Laëp laïi leänh vieát sau ñoù ñeán khi CX = 0
Ví duï: REP MOVSB
YÙ nghóa: Laëp laïi leänh MOVSB cho ñeán khi CX = 0.
- Caùc leänh laëp coù ñieàu kieän:
+ Leänh LOOPE: Laëp laïi ñoaïn chöông trình cho ñeán khi CX = 0 hoaëc ZF =
0.
+ Leänh LOOPNE: Laëp laïi ñoaïn chöông trình cho ñeán khi CX = 0 hoaëc ZF =
1.
+ Leänh LOOPZ gioáng LOOPE
+ Leänh LOOPNZ gioáng LOOPNE
- Caùc leänh thao taùc vôùi chöông trình con:
+ Leänh CALL
Coù caùc tröôøng hôïp sau:
· Goïi chöông trình con ôû gaàn (Near Call), töùc goïi chöông trình con trong cuøng
ñoaïn maõ leänh.
Trong tröôøng hôïp naøy CPU thöïc hieän caùc leänh:
PUSH IP
IP = Offset cuûa chöông trình con
Khi gaëp leänh RET ôû cuoái chöông trình con thì thöïc hieän leänh POP
IP
· Goïi chöông trình con ôû xa (Far Call) töùc goïi chöông trình con ôû ñoaïn maõ leänh
khaùc.
Trong tröôøng hôïp naøy:
PUSH CS
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
78
PUSH IP
IP = Offset cuûa chöông trình con; CS = Segment cuûa chöông trình
con
Khi gaëp leänh RET ôû cuoái chöông trình con thì thöïc hieän leänh POP
IP, POP CS.
Khi ñoù chöông trình con phaûi ñöôïc khai baùo laø ten_ctc proc far.
· Goïi chöông trình con vôùi thanh ghi chöùa ñòa chæ:
Thí duï: CALL BX luùc naøy BX ® IP (Gaàn gioáng vôùi vôùi Near Call)
· CALL WORD PTR [BX}: Goïi chöông trình con naèm trong cuøng ñoaïn maõ,
chöông trình con coù ñòa chæ CS:IP thì hai oâ nhôù DS: BX vaø DS:BX+1 chöùa ñòa
chæ IP cuûa chöông trình con coøn trò CS thì khoâng ñoåi.
· JMP DWORD PTR [BX]: Goïi chöông trình con khoâng naèm trong cuøng ñoaïn
maõ, chöông trình con coù ñòa chæ CS:IP vaø trò giaù gaùn cho IP löu ôû hai oâ nhôù
DS: BX vaø DS:BX+1, trò giaù gaùn cho CS löu ôû hai oâ nhôù DS: BX+2 vaø
DS:BX+3.
- Leänh trôû veà töø chöông trình con:
RET hoaëc RET n, (n laø soá nguyeân döông). Leänh RET naøy ñöôïc ñaët ôû cuoái chöông
trình con ñeå CPU laáy laïi ñòa chæ trôû veà töø ngaên xeáp (xem theâm leänh CALL). Ñoái
vôùi leänh RET n thì sau khi laáp ñòa chæ traû veà thì SP = SP + n (nhaûy qua n byte
trong ngaên xeáp).
1.3 Khaùi nieäm veà ngaét :
- Khaùi nieäm:
Caát caùc thanh ghi
Khoâi phuïc caùc thanh ghi
IRET
gaëp ngaét
Chöông trình chính
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
79
- Phaân loaïi: Trong vi xöû lyù 8088/8086 coù theå chia caùc nguyeân nhaân gaây ra ngaét
trong CPU thaønh 3 loaïi:
- Baûng Vector ngaét:
Ñòa chæ Boä nhôù YÙ nghóa
00000H IP-0
00002H CS-0
Vector 0 : Divide - error
00004H IP-1
00006H IP-1
Vector 1: Single – step
003FC
H
IP-255
003FE
H
CS-255
Vector 255 : daønh cho ngöôøi laäp
trình
Thí duï: Chöông trình con goïi ngaét 40 ñöôïc caøi ñaët ôû ñòa chæ 28000H. Vieát ñoaïn chöông
trình caøi ñaët vaøo baûng Vector ngaét ñeå xöû lyù ngaét naøy?
Giaûi: Ñeå xaùc ñònh ñòa chæ trong baûng Vector ngaét ñöôïc duøng bôûi moät ngaét laø nhaân soá
ngaét vôùi 4. Nhaân 40 vôùi 4 chuyeån thaønh soá Hexa laø 000A0H, ñaây laø ñòa chæ baét ñaàu cuûa
Vector ngaét 40 trong baûng Vector ngaét. Ñòa chæ cuûa chöông trình con phuïc vuï ngaét coù
theå tính ra baèng nhieàu caùch khaùc nhau, ñôn giaûn nhaát laø cho CS = 2000H vaø IP = 8000H
(2000H x 16 + 8000H = 28000H)Nhö vaäy, ta caàn phaûi vieát hai giaù trò ñòa chæ naøy vaøo boä
nhôù baét ñaàu ôû ñòa chæ 000A0H. Ñoaïn chöông trình beân döôùi laøm coâng vieäc naøy:
PUSH DS ;Caát DS
XOR AX,AX ; AX =0
MOV DS,AX ;DS = 0
MOV DI,00A0H ;DI = 00A0H
MOV WORD PTR [DI],8000H ;Ñöa 8000H vaøo 2 oâ nhôù DS:DI vaø DS:DI+1
MOV WORD PTR [DI+2], 2000H; Ñöa 2000H vaøo 2 oâ nhôù DS:DI +2 vaø
DS:DI+3
POP DS; Laáy laïi DS
Ñaùp öùng cuûa CPU khi coù yeâu caàu ngaét:
Moät soá ví duï:
+ Haøm AH = 01 cuûa INT 21H: Ñoïc moät kyù töï töø baøn phím, maõ ASCII cuûa
phím nhaán löu tröõ trong thanh ghi AL.
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
80
Thí duï:
MOV AH,01
INT 21H
Khi chaïy chöông trình, heä thoáng seõ chôø ngöôøi söû duïng nhaán 1 phím, thí duï
nhaán phím ‘A’ thì AL = 41H.
+ Haøm AH = 02 cuûa INT 21H: Xuaát moät kyù töï ra maøn hình, maõ ASCII cuûa
kyù töï xuaát löu tröõ trong thanh ghi DL.
Thí duï:
MOV AH,02
MOV DL,42H
INT 21H
Khi chaïy chöông trình thì maøn hình seõ hieån thò kyù töï ‘B’.
+ Haøm AH = 09 cuûa INT 21H: Hieån thò chuoãi kyù töï ra maøn hình, vôùi DS:DX
troû ñeán vò trí ñaàu cuûa chuoãi (töùc DS chöùa Segment cuûa chuoãi vaø DX chöùa
Offset cuûa chuoãi) vaø chuoãi kyù töï keát thuùc baèng kyù töï ‘$’.
+ Haøm AH = 4CH cuûa INT 21H: Keát thuùc chöông trình .exe.
+ INT 20H keát thuùc chöông trình .com.
2. Caáu truùc cuûa chöông trình hôïp ngöõ.
2.1 Caáu truùc cuûa chöông trình .COM
Offset Moâ taû
0000H PSP
0100H JMP: Begin
Döõ lieäu naèm ôû ñaây
Begin:
FFFEH
Maõ leänh tieán töø treân xuoáng
Ngaên xeáp tieán töø döôùi leân
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
81
2.2 Caáu truùc cuûa chöông trình .EXE
- Khoâng bò haïn cheá bôûi 1 ñoaïn 64 KB. Chöông trình EXE chöùa caùc ñoaïn phaân bieät
cho maõ, döõ lieäu, ngaên xeáp vaø caùc ñoaïn naøy coù theå xuaát hieän trong moät traät töï baát
kyø.
- Khi heä thoáng naïp chöông trình .EXE, noù bieát ñöôïc ñòa chæ caùc oâ nhôù chöaù caùc ñòa
chæ ñoaïn caàn phaûi söûa ñoåi laïi cho phuø hôïp, noù vieát laïi caùc giaù trò naøy baèng caùch
coäng giaù trò ñoù vôùi ñòa chæ ñoaïn baét ñaàu ( PSP + 10H). Thao taùc naøy laøm cho vieäc
goïi vaø khôûi ñoäng chöông trình EXE laâu hôn chöôngtrình COM vaø kích thöôùc cuûa
file EXE bao giôø cuõng lôùn hôn kích thöôùc cuûa file COM töông ñöông.
2.3 Caáu truùc cuûa moät doøng leänh hôïp ngöõ:
Teân Maõ leänh Caùc toaùn haïng töông öùng cuûa leänh Chuù thích
Ví duï:
CONG: ADD BX,CX; BX + CX ® BX
2.4 Khai baùo bieán cho chöông trình:
- Caùc quy ñònh veà khai baùo döõ lieäu cho chöông trình.
- Khai baùo bieán kieåu byte
Ten DB trò giaù khôûi ñaàu
Ví duï:
V1 DB 4
V2 DB 12H
- Khai baùo bieán kieåu Word
Ten DW trò giaù khôûi ñaàu
Ví duï:
V1 DW 1234H
V2 DW 12H
- Khai baùo maûng:
Teân kieåuTrò giaù khôûi ñaàu.
Ví duï:
M1 DB 1,2,3,4
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
82
M2 DB 100 Dup (?)
- Khai baùo chuoãi.
Teân DB noäi dung chuoåi
Ví duï:
Chuoi1 DB “Hello!$”
- Haèng coù teân
Teân EQU trò
Ví duï:
CR EQU 0DH
2.5 Khung cuûa moät chöông trình hôïp ngöõ
- Khai baùo quy moâ söû duïng boä nhôù:
- Khai baùo ñoaïn ngaên xeáp:
- Khai baùo ñoaïn döõ lieäu:
- Khai baùo ñoaïn maõ:
- Khung cuûa chöông trình dòch ra .EXE:
- Khung cuûa chöông trình dòch ra .COM:
- Quaù trình taïo vaø dòch chöông trình:
3. Caùc caáu truùc laäp trình cô baûn baèng hôïp ngöõ:
a. Caáu truùc tuaàn töï.
Leänh 1
Leänh 2
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
83
Leänh N
Ví duï: Ñoaïn chöông trình tính AX = 2 x BX
MOV AX,BX
SHL AX,1
b. Caáu truùc IF – THEN.
Ví duï:
Vieát ñoaïn chöông trình tính Neáu BX = CX thì xoùa noäi dung cuûa AX (AX = 0 )
cmp bx,cx
jnz thoat
xor ax,ax
thoat:
c. Caáu truùc IF – THEN – ELSE
Ñieàu kieän?
Thöïc hieän
Y
N
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
84
Ví duï: Vieát ñoaïn chöông trình tính AX = MAX (BX, CX).
cmp bx,cx
jb luu_cx
mov ax,bx
jmp thoat
luu_cx:
mov ax,cx
thoat:
d. Caáu truùc CASE.
Case:bieåu thöùc
Trò giaù 1: Coâng vieäc 1.
Trò giaù 2 Coâng vieäc 2.
Trò giaù n Coâng vieäc n.
End case
Ví duï: Vieát ñoaïn chöông trình thöïc hieän coâng vieäc sau:
Neáu CL < 0 thì AX = -1
Neáu CL = 0 thì AX = 0
Neáu CL > 0 thì AX = 1
Ñoaïn chöông trình nhö sau:
cmp cl,0
Ñieàu kieän?
Y N
Coâng vieäc 1 Coâng vieäc 2
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
85
js nho_0
jz bang
mov ax,1
jmp thoat
nho_0:
mov ax,-1
jmp thoat
bang:
mov ax,0
thoat:
e. Caáu truùc laëp FOR –DO
Thí duï:
Vieát ñoaïn chöông trình hieån thò 2000 kyù töï A ra maøn hình:
mov cx,2000
mov dl,'A'
mov ah,02
in_ra:
int 21h
loop in_ra
Boä ñeám = 0?
Y
N
Khôûi taïo boä ñeám
Coâng vieäc
Giaûm boä ñeám ñi 1
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
86
f. Caáu truùc laëp WHILE – DO
Ví duï: Vieát ñoaïn chöông trình ñeám soá laàn nhaán phím (lö trong thanh ghi CX) cho
ñeán khi nhaán phím enter (maõ ASCII = 13) thì döøng.
Ñoaïn chöông trình thöïc hieän nhö sau:
xor cx,cx
mov ah,01
lap:
int 21h
cmp al,13
jz thoat
inc cx
jmp lap
thoat:
g. Caáu truùc laëp REPEAT – UNTIL
Ñieàu kieän?
Thöïc hieän
Y
N
Ñieàu kieän?
Thöïc hieän
Y
N
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
87
Ví duï: Vieát ñoaïn chöông trình ñoïc phím cho ñeán khi gaëp phím enter (maõ ASCII =
13) thì döøng.
Ñoaïn chöông trình thöïc hieän nhö sau:
mov ah,01
lap:
int 21h
cmp al,13
nz lap
h. Moät soá chöông trình cuï theå.
Ví duï 1: Vieát chöông trình hieån thò 256 kyù töï coù maõ ASCII ra maøn hình, ñeå ñôn giaûn,
duøng int 21h vôùi Ah = 02.
Höôùng daãn:
- Duøng thanh ghi CX chöùa soá laàn laëp.
- Khôûi taïo thanh ghi DL baèng 0, in kyù töï coù maõ ASCII trong thanh ghi DL.
- Sau moãi laàn laëp thì taêng thanh ghi DL leân 1.
Maõ nguoàn cuûa chöông trình naøy nhö sau: (Daïng dòch ra file .exe)
.model small
.stack 100h
.code
main proc near
mov cx,256
xor dl,dl
mov ah,02
lap:
int 21h
inc dl
loop lap
int 21h
mov ah,4ch
int 21h
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
88
main endp
end main
Ví duï 2: Vieát chöông trình nhaäp moät chuoãi kyù töï töø baøn phím, sau ñoù in ra chuoãi
ngöôïc töông öùng, keát thuùc nhaäp baèng phím Enter (maõ ASCII laø 13). Ví duï nhaäp 123 roài
nhaán phím Enter thì maøn hình hieån thò 321.
Höùôùng daãn:
- Duøng ngaên xeáp (Stack).
- Khôûi ñoäng CX (bieán ñeám ) baèng Zero.
- Sau moãi laàn nhaäp kyù töï thì kieåm tra kyù töï ñoù, neáu khaùc 13 thì löu kyù töï ñoù vaøo
Stack, taêng CX (bieán ñeám) leân 1.
- Neáu kyù töï nhaäp laø 13 (phím Enter) thì in caùc giaù trò trong Stack vôùi soá laàn laáy tra
trong thanh ghi CX.
Maõ nguoàn cuûa chöông trình nhö sau: (Daïng dòch ra file .exe)
.model small
.stack 100h
.data
tb1 db "Nhap vao chuoi, ket thuc bang phim Enter:",'$'
tb2 db 13,10,"Chuoi dao cua chuoi vua nhap:",'$'
.code
main proc near
mov ax,@data
mov ds,ax
lea dx,tb1
call write_mss
xor cx,cx
mov ah,01
nhap:
int 21h
cmp al,13
jz kiemtra
inc cx
push ax
jmp nhap
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
89
kiemtra:
cmp cx,0
jz thoat
lea dx,tb2
call write_mss
mov ah,02
in_ra:
pop dx
int 21h
loop in_ra
thoat:
mov ah,4ch
int 21h
main endp
write_mss proc
push ax
mov ah,09
int 21h
pop ax
ret
write_mss endp
end main
Ví duï 3: Vieát chöông trình hieån thò noäi dung thanh ghi BX ra maøn hình daïng Hexa.
Höôùng daãn:
- Vieát ñoïan chöông trình hieån thò trò giaù Hexa 4 bit (töùc coù trò giaù töø 0H ñeán FH).
Baèng caùch kieåm tra neáu name khong khoaûng 0 ñeán 9 thì coäng vôùi 30H khoâng thì
coäng vôùi 37H.
- Duøng ñoïan chöông trình ôû treân hieån thò 4 bit cao trong thanh ghi BX. Laëp laïi boán
laàn (sau moãi laàn in thì phaûi dòch sang traùi 4 bit).
Maõ nguoàn cuûa chöông trình nhö sau: (Daïng dòch ra file .exe)
.model small
.386
.stack 100h
.data
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
90
tb db 13,10,"Gia tri trong thanh ghi bx, dang thap luc phan:",'$'
.code
main proc near
mov ax,@data
mov ds,ax
mov dx, offset tb
mov ah,09
int 21h
mov bx,1234h; Tri gia thu
mov cx,4
mov ah,2
lap:
rol bx,4
mov dl,bl
and dl,0fh
cmp dl,9
ja la_chu
add dl,'0'
jmp xuat
la_chu:
add dl,'A'-10
xuat:
int 21h
loop lap
mov ah,4ch
int 21h
main endp
end main
4. Truyeàn tham soá giöõa caùc chöông trình :
Caùc ví duï beân döôùi trình baøy vieäc truyeàn tham soá giöõa caùc chöông trình. Nhaèm muïc
ñích minh hoïa phöông phaùp truyeàn tham soá neân chöông trình nguoàn ñöôïc thöïc hieän
ôû möùc ñoä ñôn giaûn nhaát maø boû qua moät soá raøng buoäc khoâng caàn thieát.
a. Truyeàn tham soá qua thanh ghi.
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
91
Trong phöông phaùp naøy, tham soá ñöôïc truyeàn ñi giöõa chöông trình chính vaø chöông
trình con ñöôïc löu tröõ trong thanh ghi.
Ví duï beân döôùi trình baøy quaù trình truyeàn tham soá qua thanh ghi:
- Chöông trình chính goïi chöông trình con “nhap” ñeå nhaän trò giaù thaäp phaân töø baøn
phím löu vaøo thanh ghi BX.
- Sau ñoù chöông trình chính goïi chöông trình con “xnp” ñeån hieån thò trò giaù trong
thanh ghi BX daïng nhò phaân.
.model small
.386
.stack 100h
.data
tb0 db "Nhap so thap phan vao thanh ghi bx (tri tu 0 den 65535):",'$'
tb1 db 13,10,"Gia tri trong thanh ghi bx, dang nhi phan:",'$'
.code
main proc near
mov ax,@data
mov ds,ax
call nhap
call xnp
mov ah,4ch
int 21h
main endp
;---------------------------------------------
;Nhap so thap phan 16 bit vao thanh ghi bx
;---------------------------------------------
nhap proc
mov dx,offset tb0
call write_mss
mov si,10
xor bx,bx
lap0:
mov ah,01
int 21h
cmp al,13
jz thoat
cmp al,'0'
jb lap0
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
92
cmp al,'9'
ja lap0
sub al,'0'
xor ah,ah
xchg ax,bx
mul si
add ax,bx
xchg ax,bx
jmp lap0
thoat:
ret
nhap endp
;-----------------------------------------------
;Xuat gia tri trong thanh ghi bx, dang nhi phan
;-----------------------------------------------
xnp proc
pusha
mov dx,offset tb1
call write_mss
mov cx,16
mov ah,02
lap1:
xor dl,dl
rol bx,1
adc dl,'0'
int 21h
loop lap1
popa
ret
xnp endp
;-----------------------------------------------
;Doan chuong trinh xuat chuoi tro boi ds:dx
;-----------------------------------------------
write_mss proc
push ax
mov ah,09
int 21h
pop ax
ret
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
93
write_mss endp
;-----------------------------
end main
b. Truyeàn tham soá qua oâ nhôù, bieán.
Trong phöông phaùp naøy, tham soá laø noäi dung cuûa oâ nhôù ñöôïc duøng ñeå truyeàn ñi
giöõa chöông trình chính vaø chöông trình con.
Trong ví duï beân döôùi, noäi dung cuûa hai oâ nhôù so1 vaø so2 ñöôïc truyeàn ñi cho
chöông trình con coäng. Sau ñoù hieån thò trò giaù naøy ra maøn hình daïng nhò phaân.
.model small
.386
.stack 100h
.data
so1 dw ?
so2 dw ?
.code
main proc near
mov ax,@data
mov ds,ax
mov so1,8
mov so2,10
call cong
mov ah,4ch
int 21h
main endp
cong proc
pusha
mov bx,so1
add bx,so2
mov cx,16
mov ah,02
lap1:
xor dl,dl
rol bx,1
adc dl,'0'
int 21h
loop lap1
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
94
popa
ret
cong endp
;-----------------------------
end main
c. Truyeàn tham soá qua oâ nhôù coù ñòa chæ do thanh ghi chæ ra.
Trong phöông phaùp naøy, caùc thanh ghi seõ chöùa ñòa chæ cuûa tham soá caàn truyeàn ñi giöõa
chöông trình chính vaø chöông trình con.
Ví duï beân döôùi trình baøy quaù trình truyeàn tham soá vôùibaèng caùch coäng hai oâ nhôù sau ñoù hieån thò
ra maøn hình daïng nhò phaân. Trong ñoù, DS:SI troû ñeán soá thöù nhaát, DS:DI troû ñeán soá thöù 2.
.model small
.386
.stack 100h
.data
so1 db 2
so2 db 3
.code
main proc near
mov ax,@data
mov ds,ax
mov si, offset so1
mov di, offset so2
call cong
mov ah,4ch
int 21h
main endp
;-----------------------------------------------
;Xuat gia tri trong thanh ghi bx, dang nhi phan
;-----------------------------------------------
cong proc
pusha
mov bl,[si]
add bl,[di]
mov cx,8
mov ah,02
lap1:
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
95
xor dl,dl
rol bl,1
adc dl,'0'
int 21h
loop lap1
popa
ret
cong endp
;-----------------------------
end main
d. Truyeàn tham soá qua ngaên xeáp.
Trong tröôøng hôïp naøy, caùc tham soá caàn truyeàn ñi ñöôïc löu trong ngaên xeáp.
Ví duï beân döôùi minh hoïa phöông phaùp truyeàn naøy. Chöông trình naøy thöïc hieän pheùp
coäng 2 soá nhaäp töø baøn phím, vôùi söï ngaàm ñònh laø toång cuûa 2 soá < 10 nhaèm ñôn giaûn hoùa
chöông trình. Caàn löu yù laø tröôùc khi thöïc hieän chöông trình con thì CPU seõ thöïc hieän
leänh PUSH IP (ñoái vôùi chöông trình daïng Near).
.model small
.386
.stack 100h
.data
tb1 db "Truyen tham so qua ngan xep",'$'
tb2 db 13,10, "Nhap vao 2 so co tong nho hon 10",'$'
tb3 db 13,10, "Nhap so thu 1:",'$'
tb4 db 13,10, "Nhap so thu 2:",'$'
tb5 db 13,10, "Tong 2 so:",'$'
sum db 0
.code
main proc near
mov ax,@data
mov ds,ax
lea dx,tb1
call write_msg
lea dx,tb2
call write_msg
lea dx,tb3
call write_msg
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
96
mov ah,01
int 21h
push ax
lea dx,tb4
call write_msg
int 21h
push ax
call cong
lea dx,tb5
call write_msg
mov dl,[sum]
mov ah,02
int 21h
mov ah,4ch
int 21h
main endp
;------------------------------------------------------------------------
;Doan chuong trinh mot chuoi vao vung dem cho boi ds:bx, ket thuc nhap
;bang phim enter
;------------------------------------------------------------------------
cong proc
push bp
mov bp,sp
mov ax,[bp+6]
add ax,[bp+4]
sub al,30h
mov [sum],al
pop bp
ret 4
cong endp
;------------------------------------------------------------------------
;Doan chuong trinh hien thi thong bao, ds:dx tro den seg:off cua thong bao
;------------------------------------------------------------------------
write_msg proc
push ax
mov ah,09
int 21h
pop ax
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
97
ret
write_msg endp
end main
5. Caùc baøi taäp toång hôïp
Baøi 1. Hieån thò thoâng tin trong Boot Sector cuûa ñóa meàm (Giaû söû ñóa meàm ñöôïc Format
vôùi windows 9x).
Höôùng daãn:
- Ñoïc Sector 0 ( Head 0, Cylinder 0, Sector 1) treân ñóa meàm.
- Thoâng dòch laïi noäi dung naøy döïa treân caáu truùc cuûa Boot Sector.
Caùc haøm ñoïc, ghi sector:
Int 13h, ah=02h : Ñoïc sector :
Goïi vôùi : ah = 02h
Al = soá sector
Ch = Cylinder
Cl = Sector
Dh = head
Dl = oå ñóa : 00 Ñóa meàm. 80h Ñóa cöùng.
Es:bx = Seg:pff cuûa buffer
Traû veà :
Thaønh coâng : ZF = 0, ah =0, al = soá sector ñoïc.
Khoâng thaønh coâng : ZF =1, ah = maõ loãi.
Baøi 2. Chöông trình sao cheùp file.
Höôùng daãn:
- Xem caùc haøm thao taùc treân file.
- Trình töï ñoïc ghi file nhu7u sau: Môû file (trong tröôøng hôïp ñoïc hoaëc ghi) vaø taïo
file(trong tröôøng hôïp ghi). Neáu thaønh coâng ta ñöôïc File Handle.
- Caên cöù vaøo caùc File Handle thöïc hieän caùc thao taùc ñoïc, ghi file.
- Ñoùng file.
Caùc haøm ñoïc ghi file :
Int 21h. ah=3dh : Môû file
Goïi vôùi :
Ah = 3dh.
Al = cheá ñoä truy xuaát. Ta chæ xeùt 3 bit 0,1, 2 : 000 : read, 001 write, 010 read and write.
Ds:dx segment : offset cuûa ñöôøng daãn, keát thuùc baèng 0.
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
98
Traû veà :
Thaønh coâng : ZF = 0, ax = file handle.
Khoâng thaønh coâng : ZF =1, ax = maõ loãi.
Int 21h. ah=3eh : Ñoùng file.
Goïi vôùi :
Ah = 3eh.
Bx = handle
Traû veà :
Thaønh coâng : ZF = 0.
Khoâng thaønh coâng : ZF =1, ax = maõ loãi.
Int 21h. ah=3ch :Taïo file
Goïi vôùi :
Ah = 3bh.
cx = thuoäc tính file :
0: read only
1: hidden
2: system
3: Volume lable
4: Ñeå daønh.
5: Archive
6 - 15: Ñeå daønh.
Ds:dx segment : offset cuûa ñöôøng daãn, keát thuùc baèng 0.
Traû veà :
Thaønh coâng : ZF = 0, ax = file handle.
Khoâng thaønh coâng : ZF =1, ax = maõ loãi.
Int 21h. ah=3fh :Ñoïc file
Goïi vôùi :
Ah = 3fh.
bx = Handle.
Cx = Soá byte ñoïc.
DS:dx = segment : offset cuûa vuøng ñeäm ñoïc.
Traû veà :
Thaønh coâng : ZF = 0, ax = soá byte truyeàn.
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
99
Khoâng thaønh coâng : ZF =1, ax = maõ loãi.
Int 21h. ah=40h :Ghi file.
Goïi vôùi :
Ah = 40h.
bx = handle:
Ds:dx segment : offset cuûa vuøng ñeäm.
Traû veà :
Thaønh coâng : ZF = 0, ax = soá byte truyeàn.
Khoâng thaønh coâng : ZF =1, ax = maõ loãi.
Baøi 3: Chöông trình chaën ngaét baøn phím (coù thöôøng truù ), khi ñaùnh phím ‘a’ thì ñoåi
thaønh ‘b’, ñaùnh phím ‘A’ thì ñoåi thaønh ‘B’.
Höôùng daãn:
- Cheùp Vector ngaét 16H vaøo Vector ngaét 62H.
- Taïo Vector ngat 16H môùi vôùi chöùc naêng: Goïi laïi vector ngaét 16H cuõ (töùc Vector
ngaét 62H) vaø kieåm tra phím.
- Thöôøng truù ñoaïn chöông trình naøy.
Ghi chuù: Ñeå coù chöông trình nguoàn cuûa caùc ví duï naøy sinh vieân coù theå lieân laïc vôùi giaùo
vieân qua e-mail.
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
100
Chöông 4.
PHAÀN THÖÏC HAØNH
PHAÀN LAÄP TRÌNH HÔÏP NGÖÕ
Phaàn 1
CAÙC BAØI TAÄP CÔ BAÛN
Baøi 1: Söû duïng chöông trình Debug, thöïc hieän caùc coâng vieäc sau:
- Xem, thay ñoåi noäi dung cuûa caùc oâ nhôù.
- Thao taùc treân Sector cuûa ñóa.
- Taïo chöông trình .COM
- Xem, thay ñoåi noäi dung cuûa caùc thanh ghi.
- Chaïy töøng böôùc caùc leänh trong chöông trình
- Caùc chöùc naêng khaùc.
Baøi 2: Vieát chöông trình hieån thò thoâng baùo “Programming In ASM” ra maøn hình, chöông trình
ôû daïng .EXE.
Baøi 3: Vieát chöông trình hieån thò thoâng baùo “Programming In ASM” ra maøn hình, chöông trình
ôû daïng .COM.
Baøi 4. Vieát chöông trình copy 2000 laàn giaù trò 8f20h vaøo vuøng nhôù coù ñòa chæ vaät lyù baét ñaàu laø
b8000h.
Baøi 5. Vieát chöông trình copy 2000 laàn giaù trò 0f20h vaøo vuøng nhôù coù ñòa chæ vaät lyù b8000h.
Baøi 6. Vieát chöông trình ñoåi thuoäc tính cuûa 7 kyù töï taïi haønh 4, coät 4 vôùi thuoäc tính chöõ ñen neàn
traéng.
Baøi 7. Vieát chöông trình nhaäp moät chuoãi vaøo vuøng nhôù coù ñòa chæ ñaàu laø buffer, sau ñoù chuyeån
sang chuoãi hoa töông öùng roài in ra maøn hình. Giaû söû chuoãi daøi toái ña 100 kyù töï.
Baøi 8. Vieát chöông trình nhaäp moät trò giaù töø 1 ñeán 7, sau ñoù in ra maøn hình teân thöù töông öùng
(thu hai, thu ba,, chuû nhaät)
Baøi 9. Vieát chöông trình nhaäp moät trò giaù töø 1 ñeán 2, sau ñoù in ra maøn hình teân thaùng töông öùng
(thang gieng, thang hai, , thang möôøi hai).
Baøi 10.Vieát chöông trình xoùa maøn hình coù duøng ngaét.
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
101
Baøi 11.Vieát chöông trình xoùa maøn hình maø khoâng duøng moät ngaét naøo, keå caû ngaét duøng ñeå keát
thuùc chöông trình.
Baøi 12.Vieát chöông trình nhaäp moät chuoãi vaøo vuøng nhôù coù ñòa chæ ñaàu laø buffer, sau ñoù chuyeån
sang chuoãi thöôøng töông öùng roài in ra maøn hình. Giaû söû chuoãi daøi toái ña 100 kyù töï.
Baøi 13.Vieát chöông trình copy chuoãi 1 coù ñòa chæ ñaàu laø buffer1 vaøo chuoãi 2 coù ñòa chæ ñaàu laø
buff2, bieát raèng chieàu daøi toái ña cuûa chuoãi laø 100 kyù töï, vaø caùc chuoãi keát thuùc baèng kyù töï
‘$;’.
Baøi 14.Vieát chöông trình copy n kyù töï ñaàu tieân cuûa chuoãi 1 coù ñòa chæ ñaàu laø buffer1 vaøo chuoãi
2 coù ñòa chæ ñaàu laø buff2 vôùi trò n nhaäp töø baøn phím daïng thaäp phaân, bieát raèng chieàu daøi
toái ña cuûa chuoãi (keå caû khi gheùp) laø 100 kyù töï vaø caùc chuoãi keát thuùc baèng kyù töï ‘$’.
Baøi 15.Vieát chöông trình nhaäp 1 chuoãi vaøo vuøng nhôù coù ñòa chæ ñaàu laø buffer, sau ñoù ñeám soá
laàn xuaát hieän cuûa kyù töï a coù trong chuoãi, in ra maøn hình daïng thaäp luïc phaân. Giaû söû
chuoãi daøi toái ña 100 kyù töï.
Baøi 16.Vieát chöông trình nhaäp vaøo moät chuoãu roài in ra chuoãi ngöôïc töông öùng, giaû söû chuoãi daøi
toài ña 100 kyù töï vaø khoâng duøng stack.
Baøi 17.Cho hai vuøng nhôù coù ñòa chæ ñaàu laàn löôït laø mem1 vaø mem2, kyù töï keát thuùc chuoãi laø kyù
töï ‘$’ vieát chöông trình hoùan ñoåi noäi dung cuûa hai chuoãi naøy.
Baøi 18.Vieát chöông trình nhaäp 1 chuoãi vaøo vuøng nhôù coù ñòa chæ ñaàu laø buffer, sau ñoù in ra vò trí
xuaát hieän ñaàu tieân cuûa kyù töï a (neáu co)ù trong chuoãi ñeám, in ra maøn hình daïng thaäp luïc
phaân. Giaû söû chuoãi daøi toái ña 100 kyù töï.
Baøi 19.Vieát chöông trình hieån thò noäi dung thanh ghi ax, cs cuûa CPU ra maøn hình daïng thaäp luïc
phaân.
Baøi 20. Bieát ñòa chæ cuûa LPT1 löu ôû 2 oâ nhôù laàn löôït coù ñòa chæ ñaàu laø 408h, 409h. Vieát chöông
trình hieån thò noäi dung cuûa LPT1 ra maøn hình daïng thaäp luïc phaân vaø daøng nhò phaân.
Baøi 21. Vieát chöông trình hieån thò ñòa chæ cô baûn cuûa coång COM1 ra maøn hình daïng
Hexa.
Baøi 22. Vieát chöông trình hieån thò noäi dung thanh ghi BX ra maøn hình daïng nhò phaân.
Baøi 23. Vieát chöông trình hieån thò noäi dung thanh ghi BX ra maøn hình daïng thaäp phaân.
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
102
Baøi 24. Vieát chöông trình hieån thò noäi dung thanh ghi BX ra maøn hình daïng thaäp luïc
phaân.
Baøi 25. Vieát chöông trình nhaäp giaù trò 16 bit vaøo thanh ghi BX daïng nhò phaân.
Baøi 26. Vieát chöông trình nhaäp giaù trò 16 bit vaøo thanh ghi BX daïng thaäp phaân.
Baøi 27. Vieát laïi chöông trình treân nhöng vôùi soá coù daáu.
Baøi 28.Vieát chöông trình nhaäp moät trò giaù 16 bit vaøo maøn hình daïng thaäp luïc phaân, sau ñoù in ra
maøn hình trò thaäp phaân coù daáu töông öùng.
Baøi 29. Vieát chöông trình nhaäp giaù trò 16 bit vaøo thanh ghi BX daïng thaäp luïc phaân.
Baøi 30.Vieát chöông trình chuyeån ñoåi qua laïi giöõa caùc soá heä hai. möôøi vaø möôøi saùu.
Baøi 31.Vieát chöông trình hieån thò noäi dung cuûa taát caû caùc thanh ghi trong CPU ra maøn hình
daïng thaäp luïc phaân.
Baøi 32.Trong caùc CPU sau naøy cuûa Intel coù caùc thanh ghi 32 bit ñöôïc môû roäng töø caùc thanh ghi
16 bit ( ví duï thanh ghi AX seõ coù thanh ghi môû roäng töông öùng laø EAX) vieát chöông
trình hieån thò noäi dung cuûa thanh ghi EBX ra maøn hình daïng thaäp luïc phaân.
Baøi 33.Vieát chöông trình so saùnh hai soá 16 bit nhaäp töø baøn phím, hieån thò keát quaû ra maøn hình.
Baøi 34.Vieát chöông trình coäng, tröø hai soá 16 bit nhaäp töø baøn phím sau ñoù hieån thò keát quaû ra
maøn hình daïng thaäp phaân.
Baøi 35.Vieát chöông trình nhaäp moät soá thaäp phaân N 16 bit töø baøn phím, sau ñoù in ra maøn hình
toång 1 + 2 + ... + N.
Baøi 36.Vieát chöông trình nhaäp moät soá thaäp phaân 16 bit töø baøn phím, sau ñoù in ra maøn hình toång
n!.
Baøi 37.Vieát chöông trình nhaân soá 16 bit nhaäp töø baøn phím sau ñoù hieån thò keát quaû ra maøn hình
daïng thaäp phaân.
Baøi 38.Vieát chöông trình chia hai soá 16 bit nhaäp töø baøn phím sau ñoù hieån thò keát quaû ra maøn
hình daïng thaäp phaân.
Baøi 39. Vieát chöông trình hieån thò noäi dung thanh ghi BX ra maøn hình daïng nhò phaân.
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
103
Baøi 40.Vieát chöông trình tìm soá lôùn nhaát, nhoû nhaát trong ba soá thaäp phaân khoâng daáu 16 bit nhaäp
töø baøn phím.
Baøi 41.Vieát chöông trình ñoåi moät chuoãi kyù töï coù trò giaù töø ‘0’ ñeán ‘9’ ra daïng thaäp phaân. Vôùi
caùc löu yù:
- Xöû lyù loãi trong tröôøng hôïp soá lôùn hôn 16 bit (soá coù daáu).
- Xöû lyù trong tình huoáng coù daáu tröø vaø khoâng coù daáu tröø phía tröôùc.
Phaàn 2. CAÙC BAØI TAÄP NAÂNG CAO
Baøi 1. Vieát chöông trình taïo file coù teân nhaäp töø baøn phím, coù noäi dung laø “Toi ñi hoc”.
Baøi 2. Vieát chöông trình xoaù file coù coù teân nhaäp töø baøn phím.
Baøi 3. Vieát chöông trình ñoïc file coù teân nhaäp töø baøn phím, sau ñoù hieån thò ra maøn hình.
Baøi 4. Vieát chöông trình dôøi 7 kyù töï taïi vò trí haøng 5 coät 5 sang vò trí haøng 7 coät 7 treân maøn
hình.
Baøi 5. Vieát chöông trình nhaäp vaøo moät vò trí toïa ñoä goàm hai tham soá haøng vaø coät, sau ñoù
chuyeån Cursor ñeán vò trí naøy.
Baøi 6. Vieát chöông trình ñoåi noäi dung cuûa maøn hình vôùi caùc chuõ thöôøng thaønh chöõ hoa.
Baøi 7. Vieát chöông trình cho moät chöõ rôi töø doøng ñaàu ñeán doøng cuoái.
Baøi 8. Vieát chöông trình ñoïc sector C: 0, H: 1, S: 2, cuûa ñóa meàm. Hieån thò 8 byte ñaàu tieân
daïng maõ Ascii.
Baøi 9. Vieát chöông trình ñoïc sector C: 0, H: 0, S: 1, cuûa ñóa meàm. Löu vaøo file coù teân laø
bott_sec.dat cuûa oå D.
Baøi 10.Vieát chöông trình xoùa sector C: 0, H: 0, S: 1, cuûa ñóa meàm veà caùc giaù trò 00h. Chuù yù
raèng luùc naøy döõ lieäu treân ñóa bò maát.
Baøi 11.Vieát chöông trình ñoïc boot_sec.dat cuûa oå D (ñaõ laøm ôû caâu treân) ghi vaøo sector sector C:
0, H: 0, S: 1, cuûa ñóa meàm.
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
104
Baøi 12.Vieát chöông trình moâ phoûng leänh dir cuûa Dos.
Baøi 13.Vieát chöông trình nhaäp vaøo teân cuûa moät file, sau ñoù kieåm tra File naøy coù toàn taïi treân ñóa
khoâng.
Baøi 14.Vieát chöông trình nhaäp vaøo teân cuûa moät file treân ñóa meàm, sau ñoù kieåm tra File naøy coù
toàn taïi treân ñóa khoâng, neáu coù thì hieån thò caùc Cluster maø file naøy chieám.
Baøi 15.Vieát chöông trình kieåm tra xem oå ñóa C treân maùy tính hieän taïi (hoaëc moät ñóa cöùng khaùc)
ñang duøng heä thoáng file naøo? (ví duï FAT 12, FAT 16, FAT 32, NTFS)
Baøi 16.Vieát chöông trình thöôøng truù hieån thò thôøi gian cuûa maùy tính ra maøn hình.
Baøi 17.Vieát chöông trình giaûi maõ leänh MOV.
Baøi 18.Vieát chöông trình thöïc hieän pheùp coäng, tröø cho hai soá 32 bit nhaäp töø baøn phím vaø in ra
keát quaû nhöng chæ duøng caùc thanh ghi 16 bit.
Baøi 19.Vieát chöông trình thöïc hieän pheùp nhaân, chia cho hai soá 32 bit nhaäp töø baøn phím vaø in ra
keát quaû nhöng chæ duøng caùc thanh ghi 16 bit.
Baøi 20.Vieát chöông trình tìm USCLN cuûa hai soá thaäp phaân khoâng daáu 16 bit nhaäp töø baøn phím.
Baøi 21.Vieát chöông trình so saùnh hai chuoãi coù noäi dung nhaäp töø baøn phím. Giaû söû chuoãi daøi toái
ña 100 kyù töï.
Baøi 22.Vieát chöông trình gioáng nhö phaàn kieåm tra password cuûa BIOS, vôùi PASSWORD ñöôïc
ñònh nghóa tröôùc trong chöông trình.
Baøi 23.Vieát chöông trình hieån thò noäi dung 256 byte cuûa moät vuøng nhôù baát kyø vôùi ñòa chæ ñaàu
coù daïng segment: offset ñöôïc nhaäp töø baøn phím. Vuøng beân traùi hieån thò daïng Hexa vaø
vuøng beân phaûi laø daïng maõ ASCII.
Baøi 24.Vieát chöông trình ñoåi moät chuoãi kyù töï coù trò giaù töø ‘0’ ñeán ‘9’ ra daïng thaäp phaân. Vôùi
caùc löu yù:
- Xöû lyù loãi trong tröôøng hôïp soá lôùn hôn 32 bit (soá coù daáu).
- Xöû lyù trong tình huoáng coù daáu tröø vaø khoâng coù daáu tröø phía tröôùc.
Baøi 25.Vieát chöông trình moâ phoûng leänh type, vaø leänh copy con cuûa Dos.
Baøi 26.Vieát chöông trình hieån thò Entry ñaàu tieân trong baûng artition ñaàu tieân treân ñóa cöùng.
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
105
Baøi 27.Vieát chöông trình lieät keâ taát caû caùc thieát bò PCI coù treân maùy tính.
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
106
PHAÀN CAÁU TRUÙC MAÙY TÍNH
Baøi 1 CAÁU TRUÙC MAINBOARD VAØ THAO TAÙC LAÉP RAÙP MAÙY
TÍNH
Muïc ñích: Sinh vieân naém ñöôïc nguyeân taét hoaït ñoäng xaùc ñònh ñöôïc vai troø,
chöùc naêng vaø nhaän daïng caùc linh kieän treân caùc Mainboard khaùc nhau. Caáu
hình ñöôïc moät Main board khi coù User Manual. Thöïc hieän caùc kyõ naêng laép
raùp maùy tính, gaén theâm thieát bò.
Noäi dung: Khaûo saùt caùc thaønh phaàn treân Mainboard bao goàm:
· ROM BIOS: Xaùc ñònh vò trí, maõ cuûa Bios. Naém ñöôïc vai troø cuûa Bios,
thöïc hieän caùc Jumper lieân quan ñeán Bios.
· RAM CMOS: Nhö treân.
· Boä nhôù heä thoáng: (DRAM-Dynamic RAM ) xaùc ñònh vò trí cuûa Dram xaùc
ñònh loaïi khe caém laø DIMM hay SIMM, loaïi 30,72 hay 168 chaân dung
löôïng cuûa moãi thanh RAM, maõ cuûa moäi thanh RAM, Toác ñoä truy xuaát
cuûa RAM.
· Boä nhôù CACHE ngoaïi ( External Cache): Xaùc ñònh vò trí cuûa CACHE
ngoaïi, maõ cuûa Cache, dung löôïng cuûa Cache.
· CPU: Quan saùt CPU, daïng chaân, ñieän aùp cung caáp cho CPU, toác ñoä CPU,
haõng cheá taïo CPU.
· Caùc Jumper hay Switch: Xaùc ñònh caùc Jumper treân Main board vai troø
cuûa caùc Jumper trong vieät thieát laäp caáu hình cuûa maùy tính: Toác ñoä CPU,
ñieän aùp CPU, loaïi CPU, Reser Cmos, Reset Switch, Speaker...Minh hoïa
baèng User manual.
· Thaïch anh: Vai troø cuûa thaïch anh, xaùc ñònh caùc thaïch anh dao ñoäng ñoïc
thoâng soá cuûa thaïch anh.
· Kieán truùc BUS: khaûo saùt caùc loaïi khe caém môû roäng(ISA,EISA,MCA,VL
bus, PCI). Moái lieân heä vôùi System Bus.
· Nguoàn: xaùc ñònh nguoàn treân Main Board laø AT hay ATX. So saùnh söï
khaùc nhau vaø gioáng nhau veà nguyeân taét hoaït ñoäng cuûa 2 loaïi nguoàn naøy.
· Caùch ñoïc moät User manual cuûa moät Main board.
Lieân heä vôùi thöïc tieãn caùc loaïi Mainboard, CPU, RAM.
· Xaùc ñònh caùc Cable döõ lieäu nguoàn, quy öôùc veà caùch ñaáu daây cho
HDD,FDD.
· Thieát laäp Master, Slave cho caùc ñóa cöùng quy ñònh veà A,B cuûa ñóa meàm.
Lieân heä vôùi caùc thieát laäp ID cho chuaån SCSI.
· Caùch ñaáu daây cho nguoàn, ñieän theá cuûa nguoàn.
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
107
· Caùc thao taùc vaø quy öôùc gaén CPU, quaït vaøo Main board.
· Thöïc hieän thao taùc laép raùp maùy tính.
· Xaùc ñònh caùc thoâng baùo loãi thöôøng gaëp trong quaù trình thaùo laép maùy tính
nhö loãi ñóa meàm, ñóa cöùng, Ram, Cmos, Mainboard,Card...
Baøi 2 THIEÁT LAÄP BIOS VAØ KIEÅM TRA CAÁU HÌNH MAÙY
TÍNH BAÈNG PHAÀN MEÀM
Muïc ñích: Naém ñöôïc caùc thao taùc trong vieäc thay ñoåi caáu hình heä thoáng cô sôû vaø caùc
tham soá phaàn cöùng thoâng qua chöông trình Setup cuûa BIOS. Kieåm tra caáu hình cuûa
maùy tính baèng caùc chöông trình phaàn meàm.
Noäi dung:
Thöïc hieân caùc thao taùc treân caùc Menu coù saün cuûa chöông trình tieän ích bao goàm:
· Standard CMOS SETUP: Xem vaø thay ñoåi ngaøy thaùng, thôøi gian, caùc thoâng soá cuûa
ñóa cöùng, ñóa meàm, ( Giaûi thích caáu truùc cuûa ñóa) cho pheùp hay khoâng cho pheùp caùc
oå ñóa hoaït ñoäng. Thieát laäp cheá ñoä maøn hình, cheá ñoä treo maùy khi gaëp loãi, sô ñoà toå
chöùc boä nhôù.
· Bios Feature Setup: Thöïc hieän taát caû caùc thao taùc vaø naém baét ñöôïc yù nghóa cuûa töøng
tuøy choïn trong caùc muïc. (Trong phaàn naøy ñeà caëp sô löôït ñeán toå chöùc cuûa ñóa cöùng
khi thöïc hieän cheá ñoä virus warning thöïc chaát cuûa quaù trình khi virus thaâm nhaäp vaøo
Boot Sector hay Partiotion Table, ñeà caëp ñeán cheá ñoä kieåm tra Parity, cô cheá thöïc söï
khi môû ñöôøng A20 treân CPU).
· Power managerment setup: Thöïc hieän caùc thao taùc thay ñoåi caùc thoâng soá caáu hình
vaø tuøy choïn trong muïc naøy ñeå thaáy ñöôïc caùc cheá ñoä HDD standby mode, Doze
mode, Standby mode.. vaø caùc kích hoaït. Thaáy ñöôïc quaù trình heä thoáng chuyeån töø
cheá doä naøy sang cheá ñoä khaùc.
· Load setup defaut vaø load bios defaul: Thöïc hieän quaù trình naïp caùc giaù trò maëc ñònh
cuûa heä thoáng xem söï thay ñoåi caáu hình töông öùng cuûa heä thoáng.
· Password setting: Thöïc hieän thieát laëp Password, xoaù vaø thay ñoåi Password.
· IDE HDD Autodetection: Thöïc hieän thao taùc tìm oå cöùng töï ñoäng so saùnh vôùi cheá ñoä
nhaïp baèng tay
· Save & exit setup: Thoaùt vaø löu.
· Exit without saving:Thoaùt vaø khoâng löu.
· Giôùi thieäu theâm moät soá chöùc naêng cao caáp treân caùc maùy tính môùi khaùc nhau nhö:
Chip feature setup, PNP /PCI Configuration, HDD low level format, Intergrated
peripherals, Supervisor Password...
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
108
Duøng caùc chöông trình kieåm tra maùy nhö PCCheck 2002, DR Hardware, Sis Sandra...
nhaèm phuïc vuï caùc yeâu caàu sau:
· Vi xöû lyù ? Toác ñoä? Ñoàng xöû lyù?
· Boä nhôù bao nhieâu? Boä nhôù quy öôùc (Base memory) boä nhôù môû roäng? Sô ñoà toå chöùc
cuûa boä nhôù.
· Cache noäi (Internal Cache)? Cache ngoaïi (External Cache)?
· Ngaøy taïo BIOS, loaïi BIOS
· Caùc thieát bò ngoaïi vi: Ñóa cöùng dung löôïng? Head, Cylinder, Sector, Ñóa meàm
dung löôïng? Sao Card? Card maøn hình bao nhieâu Mram? Chuaån gì, cheá ñoä söû
duïng?
· Ñòa chæ cuûa caùc coång vaøo ra cuûa COM1,COM2,LPT
Test vi xöû lyù, ñoàng xöû lyù, RAM, Mainboard, HDD,FDD, Keyboard, Display Adapter,
Card maïng Ghi laïi keát quaû.
Baøi 3
QUAÙ TRÌNH KHÔÛI ÑOÄNG MAÙY TÍNH
Muïc ñích: Naém ñöôïc töøng böôùc hoaït ñoäng cuûa quaù trình khôûi ñoäng cuûa maùy tính. Töø
ñoù bieát ñöôïc maùy tính gaëp söï coá ôû böôùc naøo ñeå khaéc phuïc cuõng nhö ngöôøi duøng coù theå
can thieäp vaøo maùy tính ôû giai ñoaïn naøo.
Noäi dung: Thöïc hieän vieäc kieåm tra quaù trình khôûi ñoäng cuûa maùy tính
· Giai ñoaïn CPU ñoïc leänh vaø chuyeån quyeàn ñieàu khieån cho BIOS
· Giai ñoaïn khôûi taïo thieát bò, caùc vector ngaét cuûa BIOS.
· Thöû nghieäm vaø kieåm tra caùc maõ loãi.
· Giai ñoaïn ROM SCAN, quaù trình kieåm tra moät ROM hôïp leä khi naøo BIOS trao
quyeàn ñieàu khieån cho ROM.
· Giai ñoaïn ñoïc ñóa. Thöïc hieän caùc taäp tin khôûi ñoäng IO.SYS vaø MSDOS.SYS. Quaù
trình khôûi taïo baûng vector ngaét cuûa DOS.
· Quaù trình naïp Config.sys, Command.com vaø Autoexec.bat. Caùc thao taùc boû qua
hay thöïc hieän töøng böôùc caùc leänh trong hai File naøy.
Thöïc hieän moät soá leänh caáu hình trong Config.sys vaø Autoexec.bat chuû yeáu laø caùc leänh
lieân quan ñeán quaûn lyù boä nhôù vaø toác ñoä truy xuaát cuûa maùy tính.
· Khaûo saùt hoaït ñoäng cuûa MBR vaø Boot Sector trong quaù trình khôûi ñoäng.
Baøi 4 KHAÛO SAÙT -PHAÂN CHIA VAØ ÑÒNH DAÏNG ÑÓA CÖÙNG - CAØI ÑAËT
THIEÁT BÒ VAØ PHAÀN MEÀM
Tröôøng ÑH DL KTCN Baøi giaûng moân Caáu truùc maùy tính vaø hôïp ngöõ
109
Muïc ñích: Naém ñöôïc thao taùc phaân chia vaø cô cheá phaân chia ñóa cöùng cuõng nhö ñònh daïng
ñóa.
Noäi dung:Thöïc hieän thao taùc:
· Chia ñóa baèng chuông trình Fdisk theo caùc yeâu caàu khaùc nhau ( Phaàn DOS, Non
DOS, chia thaønh 1 hay nhieàu volumes )
· Ñònh daïng caùc Volume vôùi caùc heä ñieàu haønh vaø caùc tuyø choïn khaùc nhau.
· Duøng caùc chöông trình heä thoáng (nhö NU - chöông trình Diskedit) ñeå xem caùc
thoâng tin vöøa ñònh daïng (Baûng Partition Table, Boot sector) Thaáy ñöôïc thöïc teá yù
nghóa caùc tröôøng System, Boot, Starting Location, Ending Location, Relative
Sector, Number of Sector. Tính toaùn laïi caùc Entry trong baûng Partition trong caùc
truôøng hôïp phaân chia khaùc nhau keå caûc trong phaàn Extend.
· Thöïc hieän caøi ñaëc troïn veïn moät maùy tính vaø caùc phaàn meàm öùng duïng, caùc phaàn
cöùng hieän coù treân maùy (nhö card sound...) caøi nhieàu heä ñieàu haønh.
Baøi5 TOÅ CHÖÙC LOGIC CUÛA ÑÓA
Muïc ñích: Naém ñöôïc cô cheá toå chöùc LOGIC cuûa ñóa cöùng vaø ñóa meàm heä ñieàu haønh
phoå bieán nhaát laø DOS vaø Windows.
Noäi dung:
· Khaûo saùt hoaït ñoäng, phaân tích, tính toaùn toå chöùc logic cuûa ñóa nhö MBR, Boot
Sector, Root Directory, FAT 12, FAT 16, FAT32 baèng caùc phaàn meàm heä thoáng.
Baøi 6 KHAÉC PHUÏC MOÄT SOÁ LOÃI CÔ BAÛN
Muïc ñích: Nhaän bieát ñöôïc caùc loãi cô baûn thöôøng gaëp ôû maùy tính nhaèm giuùp sinh vieân
coù ñöôïc kinh nghieäm trong vieäc baûo trì vaø söõa chöõa maùy tính.
Noäi dung:
· Thöïc hieän moät soá thao taùc nhaèm taïo ra loãi treân maùy tính ñeå thaáy ñöôïc bieåu hieän cuûa
maùy tính khi gaëp loãi (Loûng chaân cuûa Ram,Card, Ram hö, Card hö, caùc thao taùc
khaùc treân ñóa meàm ñóa cöùng). Kieåm tra Virus caùc thao taùc queùt Virus, caùc tröôøng
hôïp maùy tính khoâng nhaän ñöôïc HDD,FDD, khoâng khôûi ñoäng töø HDD...
· Thöïc hieän thao taùc khoâi phuïc laïi baûng Partition Table vaø phaàn maõ ñònh daïng trong
tröôøng hôïp chia ñóa cöùng thaønh 1,2,3ñóa Logic khaùc nhau trong tröôøng hôïp Virus
xoaù maát Matter Boot Record vaø maùy khoâng nhaän ñöôïc ñóa cöùng.
Các file đính kèm theo tài liệu này:
- v_bai_giang_kien_truc_may_tinh_va_hop_ngu_1961_2021090.pdf