– NHẬP MÔN HỢP NGỮ - TRONG ĐÓ CÓ NHỮNG LỆNH MÀ SINH VIÊN CHƯA HỌ...
Bài 1 – Nhập môn hợp ngữ
- Trong đó có những lệnh mà sinh viên chưa học
đến,
điều này không
cần quan tâm, điều cần quan tâm trong bài thực hành này là Cấu trúc
chương trình hợp ngữ.
- Đặt tên file chương trình nguồn là HELLO.ASM
DSEG
SEGMENT
;
Tạo đoạn DSEG
chuoi DB
“Hello World!$”
; Khai báo biến chuỗi
DSEG
ENDS
CSEG
SEGMENT
;
Tạo đoạn CSEG
ASSUME
CS:
CSEG,
DS: DSEG ; CSEG là đoạn lệnh, DSEG là dữ liệu
begin: MOV AX, DSEG ; Khởi động địa chỉ đoạn dữ liệu
MOV
DS,
AX
MOV
AH,
09h
;
AH
← 09h
LEA
DX,
chuoi
;
DX
← địa chỉ offset biến chuoi
INT
21h
;
gọi ngắt 21h
MOV
AH,
01h
;
AH
← 01h
MOV AH, 4Ch
; Thoát chương trình
INT
21h
CSEG
ENDS
END
begin
a.
Hợp dịch chương trình HELLO.ASM và kiểm tra xem file HELLO.OBJ đã
được tạo ra chưa.
b.
Liên kết chương trình HELLO, kiểm tra xem file HELLO.EXE đã được tạo ra
chưa
c.
Chạy chương trình HELLO.EXE, quan sát trên màn hình, chương trình trên làm
gì?
d.
Thay đổi “Hello World!$” thành “Wellcome to Assembly$”. Làm lại các bước
a, b và c. Chương trình trên làm gì?
3.2.2. [HELLO2.ASM] Sửa file HELLO.ASM ở trên sao cho giống hệt như chương
trình sau và đặt tên lại là HELLO2.ASM (chỉ khác ở những chổ in nghiêng) - Lưu ý:
Chương trình sẽ có vài lỗi
a.
Dịch chương trình HELLO2.ASM, ghi lại các thông tin về lỗi: Số lỗi, những lỗi
gì, trên dòng nào?
b.
Kiểm tra xem file HELLO2.OBJ được tạo ra không? Tại sao?
c.
Sửa từng lỗi một từ dòng trên xuống, rồi lập lại câu a cho đến khi nào hết lỗi.
d.
Liên kết chương trình HELLO2. Kiểm tra xem có file HELLO2.EXE không?
e.
Chạy chương trình HELLO2.EXE, so sánh kết quả với 3.1.1.d