Bài tập 1
Viết chương trình thực hiện các phép tính số học. Mục đích-yêu cầu: Làm quen với các lệnh tính toán số học. Hiểu cách định vị địa chỉ bộ nhớ. Hiểu cách đưa dữ liệu vào thanh ghi. Thực tập cộng giá trị trong 2 thanh ...
Viết chương trình thực hiện các phép tính số học.
Mục đích-yêu cầu:
- Làm quen với các lệnh tính toán số học.
- Hiểu cách định vị địa chỉ bộ nhớ.
- Hiểu cách đưa dữ liệu vào thanh ghi.
- Thực tập cộng giá trị trong 2 thanh ghi.
Kiến thức nền :
Chương trình là tập hợp của các lệnh được sắp xếp theo một trình tự cụ thể nhằm giúp vi điều khiển, vi xử lý thực hiện các công việc cụ thể nào đó. Các lệnh trong chương trình được lấy từ tập lệnh (Instruction Set) của họ vi điều khiển, vi xử lý đang sử dụng. Tập lệnh là tập hợp của các lệnh được cung cấp bởi nhà sản xuất vi điều khiển, vi xử lý.
Ví dụ:
Lệnh MOV AL,m : chuyển m vào thanh ghi AL.
Vi xử lý, vi điều khiển sẽ tuần tự thực hiện các lệnh để thực hiện các công việc cụ thể mà chương trình yêu cầu giúp hệ thống làm việc theo một chương trình được định trước.
Lệnh CLO:
Lệnh CLO là lệnh chỉ dùng một lần trong toàn bộ chương trình. CLO đóng tất cả các cửa sổ không cần thiết trong lúc chương trình đang chạy. Lệnh này làm cho dễ dàng hơn để viết các chương trình thể hiện tốt. Sử dụng CLO cũng tránh việc đóng các cửa sổ hướng dẫn.
Lệnh MOV:
Lệnh MOV là từ viết tắt của Move. Trong ví dụ này các số được chép vào thanh ghi mà ở đó các phép tính số học có thể thực hiện được. Lệnh MOV chép dữ liệu từ ô nhớ này sang ô nhớ khác, mà dữ liệu trong ô nhớ không bị mất.
Các thanh ghi:
Các thanh ghi là nơi 8 bit nhị phân được lưu giữ tạm thời. Ðơn vị xử lý trung tâm trong chương trình mô phỏng này có 4 thanh ghi mục đích gọi là AL, BL, CL và DL trong các CPU sau này, các thanh ghi có thể đến 16, 32 hay 64 bit... Các thanh ghi cùng tên sẽ có cùng chức năng nhưng trong cùng một lúc thanh ghi 64 bit sẽ xử lý được nhiều dữ liệu hơn thanh ghi 8 bit vì thế tốc độ của CPU có thanh ghi 64 bit xử lý nhanh hơn CPU có thanh ghi 8 bit.
Các thanh ghi có dung lượng lớn có thể chứa số nguyên lớn. Việc này sẽ đơn giản hóa các thao tác lập trình. Ba thanh ghi khác là SP, IP và SR sẽ được mô tả ở bài sau.
Số Hex:
Trong lệnh MOV AL,2 với 2 là số Hex. Hệ thống số Hex được sử dụng trong việc lập trình cấp thấp vì như vậy quá trình chuyển đổi giữa số nhị phân và số Hex thuận lợi hơn . Ðể lập trình được tốt, bạn cần nắm vững hệ thống số Hex và số nhị phân.
Các lệnh số học :
Lệnh ADD được sử dụng để cộng 2 thanh ghi với nhau. Một cách cộng khác của lệnh cộng là được dùng để cộng 1 số vào 1 thanh ghi. Bạn có thể xem hướng dẫn qua các lệnh ADD, SUB, MUL và DIV bằng việc chọn lấy lệnh và nhấn F1.
Lệnh END:
Lệnh END là lệnh cuối cùng trong chương trình. Bất kỳ lệnh nào sau lệnh End sẽ được bỏ qua.
Chương trình:
; Chương trình cộng 2 số Hex -----------------------------------------
CLO
MOV AL,2
MOV BL,2
ADD AL, BL
END ; kết thúc chương trình.
;-------------------------------------------------------------------------
Xem phim Nhấn nút Play để xem.
Tải file phim từ đây
Bài tập củng cố: 1.1/ Viết chương trình sử dụng lệnh SUB. 1.2/ Viết chương trình sử dụng lệnh MUL. 1.3/ Viết chương trình chia 2 số sử dụng lệnh DIV. 1.4/ Viết chương trình chia cho 0 .