tailieunhanh - Giáo trình vi điều khiển 8051 P6

Các lệnh số học và các chương trình Các số không dấu được định nghĩa như những dữ liệu mà tất cả mọi bít của chúng đều được dùng để biểu diễn dữ liệu và khó có bit dành cho số âm hoặc dương | CHƯƠNG 6 Các lệnh số học và các chuơng trình Phép cộng và trừ không dấu. Các số không dấu được định nghĩa như những dữ liệu mà tất cả mọi bit của chúng đều được dùng để biểu diễn dữ liệu và khó có bit dành cho dấu âm hoặc dương. Điều này có nghĩa là toán hạng có thể nằm giữa 00 và FFH 0 đến 255 hệ thập phân đối với dữ liệu 8 bit. Phép cộng các số không dấu. Trong 8051 để cộng các số với nhau thì thanh ghi tổng A phải được dùng đến. Dạng lệnh ADD là ADD A nguồn A A nguồn Lệnh ADD được dùng để cộng hai toán hạng. Toán hạng đích luôn là thanh ghi A trong khi đó toán hạng nguồn có thể là một thanh ghi dữ liệu trực tiếp hoặc là ở trong bộ nhớ. Hãy nhớ rằng các phép toán số học từ bộ nhớ đến bộ nhớ không bao giờ được phép trong hợp ngữ. Lệnh này có thể thay đổi một trong các bit AF CF hoặc PF của thanh ghi cờ phụ thuộc vào các toán hạng liên quan. Tác động của lệnh ADD lên cờ tràn sẽ được trình bày ở mục vì nó chủ yếu được sử dụng trong các phép toán với số có dấu. Xét ví dụ dưới đây Ví dụ Hãy biểu diễn xem cá lệnh dưới đây tác động đến thanh ghi cờ như thế nào MOV A 0F5H A F5H MOV A 0BH A F5 0B 00 Lời giải F5H 1111 0101 0BH 0000 1011 100H 0000 0000 Sau phép cộng thanh ghi A đích chứa 00 và các cờ sẽ như sau CY 1 vì có phép nhớ từ D7 PF 1 vì số các số 1 là 0 một số chẵn cờ PF được đặt lên 1. AC 1 vì có phép nhớ từ D3 sang D4 Phép cộng các byte riêng rẽ. ở chương 2 đã trình bày một phép cộng 5 byte dữ liệu. Tổng số đã được cất theo chú ý nhỏ hơn FFH là giá trị cực đại một thanh ghi 8 bit có thể được giữ. Để tính tổng số của một số bất kỳ các toán hạng thì cờ nhớ phải được kiểm tra sau mỗi lần cộng một toán hạng. Ví dụ dùng R7 để tích luỹ số lần nhớ mỗi khi các toán hạng được cộng vào A. Ví dụ Giả sử các ngăn nhớ 40 - 44 của RAM có giá trị sau 40 7D 41 EB 42 C5 43 5B và 44 30 . Hãy viết một chương trình tính tổng của các giá trị trên. Cuối chương trình giá trị thanh ghi A chứa byte thấp và R7 chứa byte cao các giá trị trên được cho ở .

TỪ KHÓA LIÊN QUAN