– NHẬP MÔN HỢP NGỮ DSEG SEGMEMT ; TẠO ĐOẠN DSEG CHUOI DW “WEL...
Bài 1 – Nhập môn hợp ngữ
DSEG
SEGMEMT ; Tạo đoạn DSEG
chuoi
DW “Wellcome to Assembly$” ; 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
BX, SSEG ;
Khởi động địa chỉ đoạn dữ liệu
MOV
DS,
BX
MOV
AH,
09h
;
AH
← 09h
LEA
DH, 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
3.3. Viết các chương trình đơn giản:
3.3.1. [SUM1.ASM] Viết chương trình dạng EXE để tính kết quả biểu thức sau, lưu
trữ kết quả trong AX:
10 + 8086 - 100h + 350 + 0FAh
Lưu ý: - Chỉ khai báo 1 đoạn lệnh để viết chương trình.
a.
Dịch sửa lỗi (nếu có lỗi) và chạy chương trình.
b.
Dùng Emu8086 để chạy chương trình trên và kiểm tra kết quả lưu trong AX.
3.3.2. [SUM2.ASM] Viết chương trình dạng EXE để tính kết quả biểu thức có dạng
tổng quát như sau:
KQUA = A + B – C + D + E
Trong
đó: KQUA, A, B, C, D, E là các biến 2 byte khai báo trong đoạn dữ liệu.
Lưu ý: - Chương trình gồm 2 đoạn:
Đoạn lệnh và Đoạn dữ liệu dùng để chứa các
Biến.
a.
Gán giá trị các biến A = 1000, B = 10, C = 1Fh, D = 30h, E = 300Ah. Dịch và
chạy chương trình.
b.
Dùng Emu8086 để kiểm tra kết quả của câu a.
c.
Áp dụng SUM2.ASM để tính biểu thức đã cho ở câu 3.3.1. Dùng Emu8086 để
kiểm tra kết quả.
4. BÀI TẬP ĐỀ NGHỊ:
4.1. Dùng Emu8086 để khảo sát các lệnh khác trong tập lệnh của Intel-8086.
4.2. Tự tìm hiểu thêm những chức năng khác của Emu8086