lOMoARcPSD| 61554479
Cú pháp: INT Số hiệu ngắt
Số hiệu ngắt: 8 bit (00h – FFh) 00000000 ~ 11111111 (00 ~ FFh)
INT 21h là ngắt dùng để giao tiếp với bàn phímmàn hình
INT 21h
Hàm 1: Dùng để nhập 1 kí tự vào từ bàn phím. Nếu kí tự đó là kí tự bàn phím (không
phải kí tự điều khiển) thì kí tự sau khi nhập sẽ được cất trong thanh ghi AL.
Cú pháp:
MOV AH, 1 ; khởi tạo hàm 1 để chuẩn bị nhập 1 ký tự
INT 21H ; Ngắt để nhập 1 kí tự vào từ bàn phím
Hàm 2: Dùng để hiển thị 1 kí tự ra màn hình. Kí tự muốn được hiển thị thì mã ASCII của
kí tự đó phải được cất trong thanh ghi DL.
Cú pháp:
MOV AH, 2 ; khởi tạo hàm 2 để chuẩn bị hiển thị ký tự ra màn hình
MOV DL, MÃ ASCII CỦATỰ ; cất mã ASCII của ký tự vào DL
INT 21H ; Ngắt để hiển thị kí tự ra màn hình
Chú ý: MOV DL, MÃ ASCII CỦA KÍ TỰ
Cách 1: Hiển thị kí tự vừa nhập (phải chuyển mã ASCII của kí tự từ AL sang DL)
MOV DL, MÃ ASCII CỦATỰ  MOV DL, AL
Cách 2: Hiển thị kí tự mong muốn (phải biết mã ASCII của kí tự đó)
Ví dụ: Hiển thị kí tự A (A hoa)
MOV DL, MÃ ASCII CỦATỰ  MOV DL, ‘A or MOV DL, 41h Do
ASCII của kí tự A hoa = 41h (mã ASCII của A – Z : 41h – 5Ah; mã ASCII
của a – z: 61h – 7Ah; mã ASCII của 0 – 9: 30h – 39h)
Lưu ý: Chuyển mã ASCII từ ký tự hoa về ký tự thường và ngược lại Chuyển
từ HOA về THƯỜNG: ADD AL, 20h ; AL = AL + 20h
Chuyển từ THƯỜNG sang HOA: SUB AL, 20h ; AL = AL – 20h
Hàm 4CH: Thoát về DOS Cú pháp:
MOV AH, 4CH
INT 21H ; Ngắt thoát về DOS
Hàm 9: Hiển thị 1 chuỗi ký tự ra màn hình. Địa chi hiệu
dụng (địa chỉ độ lệch) của chuỗi cần hiển thị phải được cất
trong thanh ghi DX qua lệnh LEA (Load Effective
Address).
Chuỗi cần hiển thị thì phải được khai báo:
TÊN CHUỖI KIỂU CỦA CHUỖI ‘NỘI DUNG’, ‘$’
Cú pháp:
MOV AH, 9 ; khởi tạo hàm 9 chuẩn bị hiển thị ký tự
lOMoARcPSD| 61554479
LEA DX, TÊN CỦA CHUỖI
INT 21H ; Ngắt để hiển thị CHUỖI ra màn hình
Ví dụ: Khai báo chuỗi kí tự cần hiển thị
DB: Define Byte – Định nghĩa theo kiểu 1 byte
DW: Define Word – Định nghĩa theo kiểu 2 byte (8086: 1 word = 2 byte)
DD: Define Double Word – Định nghĩa theo kiểu 4 byte
Chaomung DB ‘Welcome cac ban da den vơi Viet Nam’, ‘$’
MOV AH, 9
LEA DX, chaomung
INT 21H ; Ngắt để hiển thị chuỗi chaomung
Giới thiệu về hai kí tự đặc biệt:
Carriage return - Wikipedia
CR: Carriage return – mã ASCII là 0Dh (13) – Về đầu dòng
LF: Line Feed – mã ASCII là 0Ah (10) – Xuống dòng
Tổ hợp 2 CR LF người ta hay viết gọn CRLF tương đương phím ENTER dụ:
yêu cầu hiển thị tự hoặc chuỗi xong thì về đầu dòng tiếp theo khi đó ta viết đoạn code sau:
Khai báo chuỗi CRLF DB 0AH, 0DH, ‘$’
MOV AH, 9
LEA DX, CRLF
INT 21H ; Ngắt để xuống dòng về đầu dòng
Bài tập:
Viết chương trình ASM (hợp ngữ) biên dịch theo kiểu EXE thực hiện những công việc sau:
1. Nhập 1 ký tự vào từ bàn phím
2. Hiển thị dòng thông báo “Hiển thị ký tự ra màn hình”
3. Đi hiển thị ký tự đó ra màn hình
4. Hiển thị dòng thông báo “Bạn đã hoàn thành công việc”
5. Thoát về DOS
.model small
.stack 100
.data
Chuoi1 DB ‘hien thi ki tu ra man hinh’, 0Ah, 0Dh, $
Chuoi2 DB ‘ban da hoan thanh cong viec’, 0Ah, 0Dh, $
.code
MAIN PROC
; khởi tạo thanh ghi đoạn DS
Mov AX, @data
lOMoARcPSD| 61554479
Mov DS, AX
; nhập 1 ký tự vào từ bàn phím
Mov AH, 1
INT 21h
; hiển thị chuỗi 1 Mov
AH, 9
LEA DX, Chuoi1
INT 21h
; hiển thị ký tự ra màn hình
Mov AH, 2
Mov DL, AL
INT 21h
; hiển thị chuỗi 2
Mov AH, 9
LEA DX, Chuoi2
INT 21h
; Thoát về DOS
Mov AH, 4Ch
INT 21h
MAIN ENDP
END MAIN
Nhắc lại các lệnh liên quan đến cấu trúc điều khiển!
1. CMP: Compare – so sánh
Cú pháp CMP ĐÍCH, NGUỒN ; So sánh toán hạng đích với nguồn
2. Các câu lệnh NHẢY
a. Lệnh nhảy không điều kiện
Cú pháp JMP Nhãn lệnh
TH1: Nhảy lên phía trên
Nhãn lệnh: -----
-----
-----
JMP Nhãn lệnh
TH2: Nhảy xuống phía dưới
JMP Nhãn lệnh
-----
-----
-----
Nhãn lệnh: -----
-----
-----
lOMoARcPSD| 61554479
b. Lệnh nhảy có điều kiện
Nhảy với số có dấu:
JG : Jump if Greater > (nhảy nếu lớn hơn) JL
: Jump if Less < (nhảy nếu nhỏ hơn)
JE : Jump if Equal = (nhảy nếu bằng)
JGE (JNL) : Jump if Greater or Equal > = (nhảy nếu lớn hơn hoặc bằng)
JLE (JNG) : Jump if Less or Equal > = (nhảy nếu bé hơn hoặc bằng)
Nhảy với số không dấu:
JA : Jump if Above > (nhảy nếu lớn hơn)
JB : Jump if Below < (nhảy nếu nhỏ hơn)
JE : Jump if Equal = (nhảy nếu bằng)
JAE (JNB) : Jump if Above or Equal > = (nhảy nếu lớn hơn hoặc bằng) JBE
(JNA) : Jump if Below or Equal > = (nhảy nếu bé hơn hoặc bằng)
Nhảy với các cờ phép toán:
CF, PF, AF, ZF, SF, OF : 6 cờ phép toán
JC : Jump if CF = 1 Nhảy nếu cờ C = 1
JNC : Jump if CF = 0 Nhảy nếu cờ C = 0
JP : Jump if PF = 1 Nhảy nếu cờ P = 1 JNP
: Jump if PF = 0 Nhảy nếu cờ P = 0
JA : Jump if AF = 1 Nhảy nếu cờ A = 1 JNA
: Jump if AF = 0 Nhảy nếu cờ A = 0
JZ : Jump if ZF = 1 Nhảy nếu cờ Z = 1
JNZ : Jump if ZF = 0 Nhảy nếu cờ Z = 0
JS : Jump if SF = 1 Nhảy nếu cờ S = 1
JNS : Jump if SF = 0 Nhảy nếu cờ S = 0
JO : Jump if OF = 1 Nhảy nếu cờ O = 1
JNO : Jump if OF = 0 Nhảy nếu cờ O = 0
Chú ý: Bao giờ câu lệnh nhảy có điều kiện cũng đi ngay sau câu lệnh so sánh
Nếu gặp điều kiện đúng thì MỚI nhảy tới nhãn lệnh
Nếu gặp điều kiện sai thì THỰC HIỆN ngay lệnh tiếp theo
Cấu trúc điều khiển:
1. Cấu trúc điều kiện: If then ; If then else
VD1: giả sử AX đang chứa 1 số nào đó! Hãy chuyển giá trị tuyệt đối của AX vào BX Phân
tích:
AX đang chứa 1 số nào đó (Số đó có thể âm hoặc dương sử dụng lệnh nhảy với số có
dấu).
Xét trường hợp: AX >= 0 thì |AX| = AX (trị tuyệt đối của AX = AX)
Xét trường hợp: AX < 0 thì |AX| = - AX (trị tuyệt đối của AX = -AX: NEG AX)
lOMoARcPSD| 61554479
CMP AX, 0 ; So sánh nội dung thanh ghi AX với 0
JGE ChuyenBX ; Nếu AX >= 0 thì nhảy tới nhãn lệnh ChuyenBX để cất nội dung AX vào BX NEG
AX ; Đảo dấu của AX = - AX
ChuyenBX: MOV BX, AX ; Cất giá trị tuyệt đối của AX vào BX
`
VD2: Giả sử AL và BL đang chứa 2 ký tự khác nhau! Hãy hiển thị ký tự nhỏ hơn Phân
tích:
So sánh AL và BL (Mã ASCII của ký tự là số không dấu). Ta sẽ sử dụng nhảy theo kiểu
số không dấu
Giả sử AL < BL chuyển AL sang DL để hiển thị bằng hàm 2 của ngắt 21h
Giả sử BL < AL chuyển BL sang DL để hiển thị bằng hàm 2 của ngắt 21h
MOV AH, 2 ; khởi tạo hàm 2
CMP AL, BL ; So sánh AL và BL
JB HTA ; Nếu AL < BL thì HT AL
MOV DL, BL ; Hiển thị BL
JMP HT ; Ngắt để hiển thị
HTA: MOV DL, AL ; Hiển thị AL
HT: INT 21h ; Ngắt
2. Cấu trúc lựa chọn Xem slide PART 3 có ví dụ
3. Cấu trúc lặp
Lặp với số lần lặp biết trước:
Thanh ghi CX phải chứa số lần lặp. Sau mỗi lệnh LOOP thì thanh ghi CX tự động giảm
đi 1. Cho đến khi thanh ghi CX = 0 thì thoát ra khỏi vòng lặp
1 dòng ký tự $ trên màn hình: Màn hình tiêu chuẩn là 25 hàng và 80 cột
Do đó nếu hiển thị 1 dòng ký tự có nghĩa là 1 ký tự được hiển thị 80 lần
MOV CX, 80 ; khởi tạo lặp 80 lần
MOV AH, 2 ; khởi tạo hàm 2 để chuẩn bị hiển thị
MOV DL, ‘$’ ; Chuyển mã ASCII của $ vào DL
HT: INT 21h ; Ngắt để hiển thị LOOP
HT ; hiển thị 80 lần
RA:
-----
Lặp với số lần lặp không biết trước
+ Repeat Until: Lặp ít nhất 1 lần rồi mới kiểm tra điều kiện
+ While Do: Kiếm tra điều kiện trước rồi mới đi thực hiện công việc
Các ví dụ các em xem ở PART 3
XOR AX, AX ; AX = AX XOR AX (2 thằng giống nhau thì kết quả = 0)
INC : INCREASE TĂNG: I = I + 1; I = I ++
lOMoARcPSD| 61554479
Đọc từ bàn phím cho đến khi gặp ký tự CR thì thôi
MOV AH, 1
nhaplai: INT 21h ; ký tự vừa nhập cất trong thanh ghi AL
CMP AL, ‘CR’
JNE nhap lai ; AL <> CR thì nhập lại còn nếu AL = kí tự CR thì thoát
THOAT:
BTVN:
1. Học thuộc các thanh ghi (tên, nội dung, mục đích sử dụng)
2. Các chế độ địa chỉ (địa chỉ đoạn, độ lệch, logic, vật lý, v.,v)
3. Tập lệnh (hoàn thành theo mẫu thày đã gửi tuần sau nộp)
4. Học thuộc bài hôm nay: Các cấu trúc điều khiển, các lệnh so sánh, lệnh nhảy, các lệnh với
ngắt 21h
5. Tuần sau sẽ ôn tập làm thử đề thi giữa kỳ các năm và giải đáp các câu hỏi
6. Thi giữa kỳ: thi trắc nghiệm chung cho cả khóa đại trà (có thể thêm 1 vài câu tự luận)

Preview text:

lOMoAR cPSD| 61554479 
Cú pháp: INT Số hiệu ngắt
Số hiệu ngắt: 8 bit (00h – FFh) 00000000 ~ 11111111 (00 ~ FFh)
INT 21h là ngắt dùng để giao tiếp với bàn phímmàn hình • INT 21h •
Hàm 1: Dùng để nhập 1 kí tự vào từ bàn phím. Nếu kí tự đó là kí tự bàn phím (không
phải kí tự điều khiển) thì kí tự sau khi nhập sẽ được cất trong thanh ghi AL. Cú pháp:
MOV AH, 1 ; khởi tạo hàm 1 để chuẩn bị nhập 1 ký tự
INT 21H ; Ngắt để nhập 1 kí tự vào từ bàn phím
Hàm 2: Dùng để hiển thị 1 kí tự ra màn hình. Kí tự muốn được hiển thị thì mã ASCII của
kí tự đó phải được cất trong thanh ghi DL. Cú pháp:
MOV AH, 2 ; khởi tạo hàm 2 để chuẩn bị hiển thị ký tự ra màn hình
MOV DL, MÃ ASCII CỦA KÍ TỰ ; cất mã ASCII của ký tự vào DL
INT 21H ; Ngắt để hiển thị kí tự ra màn hình
Chú ý: MOV DL, MÃ ASCII CỦA KÍ TỰ
Cách 1: Hiển thị kí tự vừa nhập (phải chuyển mã ASCII của kí tự từ AL sang DL)
MOV DL, MÃ ASCII CỦA KÍ TỰ  MOV DL, AL
Cách 2: Hiển thị kí tự mong muốn (phải biết mã ASCII của kí tự đó)
Ví dụ: Hiển thị kí tự A (A hoa)
MOV DL, MÃ ASCII CỦA KÍ TỰ  MOV DL, ‘A’ or MOV DL, 41h Do
mã ASCII của kí tự A hoa = 41h (mã ASCII của A – Z : 41h – 5Ah; mã ASCII
của a – z: 61h – 7Ah; mã ASCII của 0 – 9: 30h – 39h)
Lưu ý: Chuyển mã ASCII từ ký tự hoa về ký tự thường và ngược lại Chuyển
từ HOA về THƯỜNG: ADD AL, 20h ; AL = AL + 20h
Chuyển từ THƯỜNG sang HOA: SUB AL, 20h ; AL = AL – 20h
Hàm 4CH: Thoát về DOS Cú pháp: MOV AH, 4CH
INT 21H ; Ngắt thoát về DOS
Hàm 9: Hiển thị 1 chuỗi ký tự ra màn hình. Địa chi hiệu
dụng (địa chỉ độ lệch) của chuỗi cần hiển thị phải được cất
trong thanh ghi DX qua lệnh LEA (Load Effective Address).
Chuỗi cần hiển thị thì phải được khai báo:
TÊN CHUỖI KIỂU CỦA CHUỖI ‘NỘI DUNG’, ‘$’ Cú pháp:
MOV AH, 9 ; khởi tạo hàm 9 chuẩn bị hiển thị ký tự lOMoAR cPSD| 61554479
LEA DX, TÊN CỦA CHUỖI
INT 21H ; Ngắt để hiển thị CHUỖI ra màn hình
Ví dụ: Khai báo chuỗi kí tự cần hiển thị
DB: Define Byte – Định nghĩa theo kiểu 1 byte
DW: Define Word – Định nghĩa theo kiểu 2 byte (8086: 1 word = 2 byte)
DD: Define Double Word – Định nghĩa theo kiểu 4 byte
Chaomung DB ‘Welcome cac ban da den vơi Viet Nam’, ‘$’ MOV AH, 9 LEA DX, chaomung
INT 21H ; Ngắt để hiển thị chuỗi chaomung
Giới thiệu về hai kí tự đặc biệt: Carriage return - Wikipedia
CR: Carriage return – mã ASCII là 0Dh (13) – Về đầu dòng
LF: Line Feed – mã ASCII là 0Ah (10) – Xuống dòng
Tổ hợp 2 mã CR và LF người ta hay viết gọn là CRLF tương đương phím ENTER Ví dụ:
yêu cầu hiển thị kí tự hoặc chuỗi xong thì về đầu dòng tiếp theo khi đó ta viết đoạn code sau:

Khai báo chuỗi CRLF DB 0AH, 0DH, ‘$’ MOV AH, 9 LEA DX, CRLF
INT 21H ; Ngắt để xuống dòng về đầu dòng Bài tập:
Viết chương trình ASM (hợp ngữ) biên dịch theo kiểu EXE thực hiện những công việc sau:
1. Nhập 1 ký tự vào từ bàn phím
2. Hiển thị dòng thông báo “Hiển thị ký tự ra màn hình”
3. Đi hiển thị ký tự đó ra màn hình
4. Hiển thị dòng thông báo “Bạn đã hoàn thành công việc” 5. Thoát về DOS .model small .stack 100 .data
Chuoi1 DB ‘hien thi ki tu ra man hinh’, 0Ah, 0Dh, $
Chuoi2 DB ‘ban da hoan thanh cong viec’, 0Ah, 0Dh, $ .code MAIN PROC
; khởi tạo thanh ghi đoạn DS Mov AX, @data lOMoAR cPSD| 61554479 Mov DS, AX
; nhập 1 ký tự vào từ bàn phím Mov AH, 1 INT 21h
; hiển thị chuỗi 1 Mov AH, 9 LEA DX, Chuoi1 INT 21h
; hiển thị ký tự ra màn hình Mov AH, 2 Mov DL, AL INT 21h
; hiển thị chuỗi 2 Mov AH, 9 LEA DX, Chuoi2 INT 21h ; Thoát về DOS Mov AH, 4Ch INT 21h MAIN ENDP END MAIN
Nhắc lại các lệnh liên quan đến cấu trúc điều khiển! 1. CMP: Compare – so sánh
Cú pháp CMP ĐÍCH, NGUỒN ; So sánh toán hạng đích với nguồn 2. Các câu lệnh NHẢY
a. Lệnh nhảy không điều kiện Cú pháp JMP Nhãn lệnh TH1: Nhảy lên phía trên Nhãn lệnh: ----- ----- ----- JMP Nhãn lệnh
TH2: Nhảy xuống phía dưới JMP Nhãn lệnh ----- ----- ----- Nhãn lệnh: ----- ----- ----- lOMoAR cPSD| 61554479
b. Lệnh nhảy có điều kiện • Nhảy với số có dấu:
JG : Jump if Greater > (nhảy nếu lớn hơn) JL
: Jump if Less < (nhảy nếu nhỏ hơn)
JE : Jump if Equal = (nhảy nếu bằng)
JGE (JNL) : Jump if Greater or Equal > = (nhảy nếu lớn hơn hoặc bằng)
JLE (JNG) : Jump if Less or Equal > = (nhảy nếu bé hơn hoặc bằng) •
Nhảy với số không dấu:
JA : Jump if Above > (nhảy nếu lớn hơn)
JB : Jump if Below < (nhảy nếu nhỏ hơn)
JE : Jump if Equal = (nhảy nếu bằng)
JAE (JNB) : Jump if Above or Equal > = (nhảy nếu lớn hơn hoặc bằng) JBE
(JNA) : Jump if Below or Equal > = (nhảy nếu bé hơn hoặc bằng) •
Nhảy với các cờ phép toán:
CF, PF, AF, ZF, SF, OF : 6 cờ phép toán
JC : Jump if CF = 1 Nhảy nếu cờ C = 1
JNC : Jump if CF = 0 Nhảy nếu cờ C = 0
JP : Jump if PF = 1 Nhảy nếu cờ P = 1 JNP
: Jump if PF = 0 Nhảy nếu cờ P = 0
JA : Jump if AF = 1 Nhảy nếu cờ A = 1 JNA
: Jump if AF = 0 Nhảy nếu cờ A = 0
JZ : Jump if ZF = 1 Nhảy nếu cờ Z = 1
JNZ : Jump if ZF = 0 Nhảy nếu cờ Z = 0
JS : Jump if SF = 1 Nhảy nếu cờ S = 1
JNS : Jump if SF = 0 Nhảy nếu cờ S = 0
JO : Jump if OF = 1 Nhảy nếu cờ O = 1
JNO : Jump if OF = 0 Nhảy nếu cờ O = 0
Chú ý: Bao giờ câu lệnh nhảy có điều kiện cũng đi ngay sau câu lệnh so sánh •
Nếu gặp điều kiện đúng thì MỚI nhảy tới nhãn lệnh
Nếu gặp điều kiện sai thì THỰC HIỆN ngay lệnh tiếp theo
Cấu trúc điều khiển:
1. Cấu trúc điều kiện: If then ; If then else
VD1: giả sử AX đang chứa 1 số nào đó! Hãy chuyển giá trị tuyệt đối của AX vào BX Phân tích: •
AX đang chứa 1 số nào đó (Số đó có thể âm hoặc dương  sử dụng lệnh nhảy với số có dấu). •
Xét trường hợp: AX >= 0 thì |AX| = AX (trị tuyệt đối của AX = AX) •
Xét trường hợp: AX < 0 thì |AX| = - AX (trị tuyệt đối của AX = -AX: NEG AX) lOMoAR cPSD| 61554479
CMP AX, 0 ; So sánh nội dung thanh ghi AX với 0
JGE ChuyenBX ; Nếu AX >= 0 thì nhảy tới nhãn lệnh ChuyenBX để cất nội dung AX vào BX NEG
AX ; Đảo dấu của AX = - AX
ChuyenBX: MOV BX, AX ; Cất giá trị tuyệt đối của AX vào BX `
VD2: Giả sử AL và BL đang chứa 2 ký tự khác nhau! Hãy hiển thị ký tự nhỏ hơn Phân tích: •
So sánh AL và BL (Mã ASCII của ký tự là số không dấu). Ta sẽ sử dụng nhảy theo kiểu số không dấu •
Giả sử AL < BL  chuyển AL sang DL để hiển thị bằng hàm 2 của ngắt 21h •
Giả sử BL < AL  chuyển BL sang DL để hiển thị bằng hàm 2 của ngắt 21h
MOV AH, 2 ; khởi tạo hàm 2
CMP AL, BL ; So sánh AL và BL
JB HTA ; Nếu AL < BL thì HT AL MOV DL, BL ; Hiển thị BL
JMP HT ; Ngắt để hiển thị
HTA: MOV DL, AL ; Hiển thị AL HT: INT 21h ; Ngắt
2. Cấu trúc lựa chọn Xem slide PART 3 có ví dụ 3. Cấu trúc lặp
Lặp với số lần lặp biết trước:
Thanh ghi CX phải chứa số lần lặp. Sau mỗi lệnh LOOP thì thanh ghi CX tự động giảm
đi 1. Cho đến khi thanh ghi CX = 0 thì thoát ra khỏi vòng lặp
1 dòng ký tự $ trên màn hình: Màn hình tiêu chuẩn là 25 hàng và 80 cột
Do đó nếu hiển thị 1 dòng ký tự có nghĩa là 1 ký tự được hiển thị 80 lần
MOV CX, 80 ; khởi tạo lặp 80 lần
MOV AH, 2 ; khởi tạo hàm 2 để chuẩn bị hiển thị
MOV DL, ‘$’ ; Chuyển mã ASCII của $ vào DL
HT: INT 21h ; Ngắt để hiển thị LOOP HT ; hiển thị 80 lần RA: ----- •
Lặp với số lần lặp không biết trước
+ Repeat Until: Lặp ít nhất 1 lần rồi mới kiểm tra điều kiện
+ While Do: Kiếm tra điều kiện trước rồi mới đi thực hiện công việc
Các ví dụ các em xem ở PART 3
XOR AX, AX ; AX = AX XOR AX (2 thằng giống nhau thì kết quả = 0)
INC : INCREASE TĂNG: I = I + 1; I = I ++ lOMoAR cPSD| 61554479
Đọc từ bàn phím cho đến khi gặp ký tự CR thì thôi MOV AH, 1
nhaplai: INT 21h ; ký tự vừa nhập cất trong thanh ghi AL CMP AL, ‘CR’
JNE nhap lai ; AL <> CR thì nhập lại còn nếu AL = kí tự CR thì thoát THOAT: BTVN:
1. Học thuộc các thanh ghi (tên, nội dung, mục đích sử dụng)
2. Các chế độ địa chỉ (địa chỉ đoạn, độ lệch, logic, vật lý, v.,v)
3. Tập lệnh (hoàn thành theo mẫu thày đã gửi tuần sau nộp)
4. Học thuộc bài hôm nay: Các cấu trúc điều khiển, các lệnh so sánh, lệnh nhảy, các lệnh với ngắt 21h
5. Tuần sau sẽ ôn tập làm thử đề thi giữa kỳ các năm và giải đáp các câu hỏi
6. Thi giữa kỳ: thi trắc nghiệm chung cho cả khóa đại trà (có thể thêm 1 vài câu tự luận)