– 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