PHẦN II
HỢP NGỮ
Chương5
TỔNG QUAN VỀ HỢP NGỮ
Nộidung
•Giớithiệuvềhợpngữ
•Lậptrìnhvớihợpngữ
•Vídụmẫu
•Bàitập
I.Giớithiệu
• Hợpngữ -Assembly
• Trìnhdịchhợpngữ -Assembler
• So sánhngônngữ máyvàhợpngữ
Ngônngữ máy Hợpngữ
5601:0100
5601:0102
5601:0105
B4.02
80.C2.30
50
MOVAH, 2
ADDDL,30
PUSHAX
Hợpngữ
• Ngônngữ lậptrìnhcấpthấp, dùngdạnggợi
nhớ củatậplệnh
mnemonic [operand1 [,operand2]
• Các đặc điểm:
– Thựcthinhanh
– Kích thước nhỏ
– Xử lýtrựctiếphệthống
-Từgợinhớ xác định
hành độngcủacâulệnh
-Tratrongtậplệnh
-Cáctoánhạng, ngăn
cáchbởidấu,
-Chúthích
Chươngtrìnhhợpngữ
• Baogồmcácphátbiểuhợpngữ
(assembly language instruction)
• Lệnhhợpngữ
– >lệnhnhị phân/mãmáy
• Chỉ dẫnbiêndịch(assembler directive)
– >không cólệnh nhị phân tương ứng
– >Tuântheocúphápcủaassembler
Tổ chứcbộnhớ
• Địachỉ ô nhớ
• Các đơnvị
Tổ chứcthanhghi
• CPU16bit vàCPU 32bit
ThanhghicủaCPU 8086
• Gồm14 thanhghi, mỗithanhghi16 bit
• Chialàm5 nhóm:
– Nhómthanhghi đoạn
– Nhómthanhghi đadụng
– Nhómthanhghicon trỏ vàchỉ mục
– Thanhghicon trỏ lệnh
– Thanhghicờhiệu
Nhóm1: cácthanhghi đoạn
• Segment registers
• Chứa địachỉđoạn(segment)
AX
AHAL
Nhóm3: Cácthanhghicon trỏ vàchỉ
mục
• Gồm4 thanhghi
– SI (Source Indexed register)
– DI (Destination Indexed register)
– SP (Stack Pointer register)
– BP (Base Pointer register)
Nhóm4: Thanhghicon trỏ chươngtrình
• IP (Instruction Pointer register)
• Lệnhkếtiếpsẽthựchiện ởđịachỉ:
CS:IP
Nhóm5: Thanhghicờhiệu
• Flag register
• Gồmcáccờhiệu
CF: Carry Flag
AF: Auxiliary Flag
ZF: Zero Flag
OF: Overflow Flag
SF: Signed Flag
PF: Parity Flag
DF: Direction Flag
TF: Trap Flag
IF: InteruptEnable Flag
Tổ chứcngắt
• Ngắtcứng: (hard interupt)
IRQ0: timerIRQ4: COM1
IRQ1: keyboardIRQ5: Hard disk
IRQ2: chomáyATIRQ6: Floppy disk
–ngườilậptrìnhsẽgọithôngqua lờigọingắt:
INT số_hiệu_ngắt