Bài tập 8

Chương trình điều khiển đèn giao thông sử dụng bảng dữ liệu.

Mục đích-yêu cầu:

  • Giúp sinh viên hiểu về bảng dữ liệu và cách sử dụng bảng trong viết chương trình.

Kiến thức nền:

1/ Lệnh DB 84 :

DB là chữ viết tắt của Define Byte. Lệnh này khai báo số 84H được cất trong RAM tại địa chỉ [02]. Ðịa chỉ [00] và [01] dành cho mã máy của lệnh JMP Start. 84H đổi sang số nhị phân là 1000 0100. Số 0 và 1 này có thể dùng để bật sáng đèn đỏ bên trái và đèn xanh bên phải trong bài thí nghiệm. 

2/ MOV BL,02:

Chuyển 02 vào thanh ghi BL. [02] là địa chỉ RAM bắt đầu của bảng dữ liệu. BL được sử dụng như là một con trỏ để chỉ đến bảng dữ liệu.

3/ MOV AL,[BL]:

[BL] chỉ đến bảng dữ liệu. Lệnh này chuyển một giá trị từ bảng dữ liệu vào thanh ghi AL. 

4/ Lệnh OUT 01:

Dùng để gởi nội dung của thanh ghi AL tới port 01. Port 01 được kết nối với đèn giao thông. 

5/ CMP AL,58:

58 là địa chỉ truy xuất cuối cùng của bảng dữ liệu. Nếu AL chứa 58, nó cần để reset BL chỉ lại về đầu bảng và sẵn sàng để lập lại trình tự. Nếu AL = 58, cờ "Z" trong CPU sẽ được thiết lập.

6/ Lệnh JZ Start:

Dùng để nhảy về lại nhãn start nếu cờ "Z" trong CPU được set. 

7/ Lệnh INC BL:

Tăng BL lên 1 để BL chỉ tới địa chỉ kế tiếp trong bảng dữ liệu.

 

Chương trình

;Chương trình điều khiển đèn giao thông -----------------------------------------

JMP     Start            ; nhảy đến nhãn Start bỏ qua bảng dữ liệu

DB       84             ;bảng dữ liệu bắt đầu

DB       C8             ;các dữ liệu này điều khiển đèn ;giao thông

DB       31             ;trình tự này được đơn giản hóa

DB        51

Start:

MOV     BL,02          ;02 là địa chỉ bắt đầu của bảng dữ ;liệu

Rep:

MOV     AL,[BL]         ;chuyển dữ liệu từ bảng đến AL

OUT          01         ;xuất từ thanh ghi AL đến port 1

CMP         AL,58       ;so sánh địa chỉ cuối trong bảng ;dữ liệu

JZ             Start      ;nếu có thì nhảy đến nhãn start

                                     ;nếu không thì BL chỉ đến mục kế tiếp

INC       BL 

JMP   Rep                ;nhảy về lại nhãn Rep

END                          ;kết thúc chương trình

;--------------------------------------------------------------------------------------

Bài tập 08. Nhấn nút Play để xem.

Tải file phim về ở đây