IV. GIỚI THIỆU TOÀN BỘ CHƯƠNG TRÌNH HOẠT ĐỘNG TRÊN ROM NGOẠI VI:
IV.1 GIỚI THIỆU CÁCH THỨC KHAI BÁO BIẾN VÀ CÁCH THỨC TỔ CHỨC DỮ LIỆU CHO CHƯƠNG TRÌNH TRÊN ROM NGOẠI VI:
IV.1.1 Cách thức khai báo hằng và các biến cho chương trình: .Z80
BEGINEQU 0500H ; Khai báo @ của nhãn BEGIN
GOC EQU 8000H ; Khai báo @ đầu của vùng nhớ RAM MANG EQU 1FFFH ; Khai báo độ dài của vùng nhớ RAM GIATRI EQU 00H ; Định nghĩa giá trị để xóa RAM STACK EQU 9FFFH ; Khai báo @ cho thanh ghi SP
INTRP EQU 38H ; Định nghĩa @ cho chương trình ngắt TABLE EQU 5000H ; Định nghĩa @ bắt đầu của bảng Code QUET EQU 7500H ; Định nghĩa @ bắt đầu của vùng dữ liệu quét CTRL1EQU 4EH ; Giá trị của thanh ghi từ chế độ của 8251
CTRL2EQU 56H ; Giá trị thanh ghi từ điều khiển cho 8253 COMM EQU 27H ; Giá trị cho thanh ghi từ lệnh của 8251 COUNT EQU 48H ; Giá trị được nạp cho bộ đếm của 8253 VAO EQU 9006H ; Định nghĩa @ bắt đầu vào chuỗi STRING OUTSTR EQU 9000H ; Định nghĩa @ bắt đầu xuất chuỗi kí tự ENDS EQU 9F00H ; Định nghĩa @ bắt đầu cho biến EOF XUAT EQU 9F20H ; Định nghĩa @ bắt đầu cho biến SCREEN QUAY EQU 9F10H ; Định nghĩa @ bắt đầu cho biến BACKUP
ORG ENDS ; Khai báo biến EOF có độ dài 2 Bytes
EOF: DEFS 2
ORG XUAT ; Khai báo biến SCREEN có độ dài 2 Bytes
SCREEN: DEFS 2
ORG QUAY ; Khai báo biến BACKUP có độ dài 2 Bytes
BACKUP: DEFS 2
ORG VAO ; Khai báo biến INSTR có độ dài F00 Bytes
INSTR: DEFS 0F00H
Khi ghi dữ liệu trên ROM nhiều khi ta muốn có những đoạn chương trình cũng như có những vùng dữ liệu nằm rãi rác trên ROM vì vậy ta phải tổ chức vùng @ sao cho phù hợp với yêu cầu.Phần khai báo @ cho chương trình được thực hiện thông qua lệnh ORG của
Assembler Z80 ( Xem phần chương trình ngắt bên dưới ) ở đây chúng tôi chỉ xin giới thiệu đến một đoạn chương trình về cách thức khai báo dữ liệu trên vùng nhớ của ROM.
Ví dụ cho việc khai báo dữ liệu trên ROM:
ORG 7500H ; Định @ ban đầu cho vùng dữ liệu cần khai báo QUET:DEFB01H ; Ghi dữ liệu 01H vào ô nhớ 7500H
DEFB 00H ; Ghi dữ liệu 00H vào ô nhớ 7501H DEFB 02H ; Ghi dữ liệu 02H vào ô nhớ 7502H DEFB 00H ; Ghi dữ liệu 00H vào ô nhớ 7503H
. . . .