Assembly là một ngôn ngữ lập trình cấp thấp gần với ngôn ngữ máy, chương trình sau khi viết bằng assembly cần được chuyển đổi qua mã lệnh (hay còn gọi là mã máy) của vi điều khiển, quá trình chuyển đổi được thực hiện bằng chương trình dịch Assembler. Các mã lệnh sau đó được nạp vào Rom của vi điều khiển để thực hiện chương trình. Chương trình dịch Assembler được dùng phổ biến hiện nay là chương trình Macro Assembler sử dụng trên Dos. Để soạn thảo chương trình có thể sử dụng Notepal hoặc bất cứ. | Chương 6 TÔNG QUAN VỀ NGÔN NGỮ ASSEMBLY Assembly là một ngôn ngữ lập trình cấp thấp gần với ngôn ngữ máy chương trình sau khi viết bằng assembly cần được chuyển đổi qua mã lệnh hay còn gọi là mã máy của vi điều khiển quá trình chuyển đổi được thực hiện bằng chương trình dịch Assembler. Các mã lệnh sau đó được nạp vào Rom của vi điều khiển để thực hiện chương trình. Chương trình dịch Assembler được dùng phổ biến hiện nay là chương trình Macro Assembler sử dụng trên Dos. Để soạn thảo chương trình có thể sử dụng Notepal hoặc bất cứ chương trình soạn thảo có sử dụng bộ kí tự chuẩn ASCII và lưu tên đuôi như sau . Ngoài ra có thể sử dụng các phần mềm hỗ trợ soạn thảo dành riêng cho vi điều khiển đã tích hợp sẵn chương trình dịch Assembler. MỘT SÒ QUI ƯỚC KHI LẬP TRÌNH VỚI HỢP NGỮ ASSEMBlEr giới thiệu các câu lệnh viết bằng hợp ngữ các câu lệnh cần được bao quát tất cả các trường hợp do đó có một số qui ước khi thiết lập cú pháp các lệnh như sau Tên qui ước Tên qui ước đại diện cho Ví dụ Lệnh sử dụng tên qui ước Ví dụ khi sử dụng Rn Các thanh ghi ở các Bank thanh ghi Khi sử dụng thay n bằng các số từ 0 đến 7 R0 R1 R2 R3 R4 R5 R6 R7 Mov A Rn Mov A R2 data Dữ liệu 8 bit khi sử dụng data có thể viết dưới dạng số nhị phân Vd 00110011b số thập lục phân Vd 0A6H số thập phân Vd 21 Mov A data Mov A 20H direct Ô nhớ có địa chỉ là direct direct được thay bằng địa chỉ từ 00H đến FFH khi viết chương trình. Mov A direct Mov A 30H @Ri Ô nhớ có địa chỉ gián tiếp đây là địa chỉ của một ô nhớ địa chỉ này được xác định gián tiếp bằng giá trị của thanh ghi R0 hoặc R1 chỉ được sử dụng hai thanh ghi R0 hoặc R1 để lưu giá trị này Mov A @Ri Mov A @R1 data là giá trị cần thiết lập trong một ô nhớ data được ghi trong chương trình assembly với qui định về cách viết số như ở bên dưới các số này sau đó được trình biên dịch chuyển thành các số nhị phân tương ứng. Ví dụ khi ghi 95H đây là giá trị được thiết lập trong từng bit của ô nhớ. các bit của ô nhớ có giá trị là 10010101 . .