Danh mục

Bài giảng Vi xử lý: Chương 3.4 - Bùi Minh Thành

Số trang: 75      Loại file: pdf      Dung lượng: 1,005.23 KB      Lượt xem: 14      Lượt tải: 0    
10.10.2023

Hỗ trợ phí lưu trữ khi tải xuống: 40,000 VND Tải xuống file đầy đủ (75 trang) 0
Xem trước 8 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng "Vi xử lý - Chương 3.4: Tập lệnh 8051" giới thiệu tới người đọc các nội dung: Các lệnh số học, các lC, các lệnh chuyển dữ liệu, các lệnh với biến Boole, các lệnh rẽ nhánh chương trình, các ví dụ. Hi vọng đây sẽ là một tài liệu tham khảo hữu ích dành cho các bạn sinh viên Công nghệ thông tin và những ai quan tâm đến kỹ thuật vi xử lý dùng làm tài liệu học tập và nghiên cứu.
Nội dung trích xuất từ tài liệu:
Bài giảng Vi xử lý: Chương 3.4 - Bùi Minh ThànhHiệu đính từ slide của thầy Hồ Trung MỹBộ môn Điện tử - DH BK TPHCM CHƯƠNG 3 HỌ VI ĐIỀU KHIỂN 8051 13.4 Tập lệnh 8051 2 Nội dung3.4.1 Các lệnh số học3.4.2 Các lệnh luận lý3.4.3 Các lệnh chuyển dữ liệu3.4.4 Các lệnh với biến Boole3.4.5 Các lệnh rẽ nhánh chương trình3.4.6 Một số thí dụ 3Ý nghĩa các ký hiệu viết tắt trong tập lệnh 4Các lệnh ảnh hưởng đến thanh ghi trạng thái PSW (CY, OV, AC) 5 1. Tóm tắt các lệnh số học(giả sử 8051 với thạch anh 12 MHz) 6 Detecting Overflow• No overflow when adding a positive and a negative number• No overflow when signs are the same for subtraction• Overflow occurs when the value affects the sign: – overflow when adding two positives yields a negative – or, adding two negatives gives a positive – or, subtract a negative from a positive and get a negative – or, subtract a positive from a negative and get a positive• Consider the operations A + B, and A – B – Can overflow occur if B is 0 ? – Can overflow occur if A is 0 ? 7 Overflow Detection• Overflow: the result is too large (or too small) to represent properly – Example: - 8 < = 4-bit binary number Các lệnh ADDadd a, byte ; a a + byteaddc a, byte ; a a + byte + CCác lệnh này ảnh hưởng 3 bit trong PSW:C = 1 nếu kết quả cộng > FFAC = 1 nếu có nhớ tại bit 3OV = 1 nếu có nhớ từ bit 7 mà không từ bit 6 hoặc ngược lại. 9 Lệnh ADD và SUBBADDA, Source ;A=A+SOURCE ADDA,#6 ;A=A+6 ADDA,R6 ;A=A+R6 ADD A,6 ;A=A+[6] or A=A+R6 ADD A,0F3H ;A=A+[0F3H]SUBB A, Source ;A=A-SOURCE-C SUBB A,#6 ;A=A-6-(CY) SUBB A,R6 ;A=A-R6-(CY) 10 SubtractSUBB A, byte subtract with borrowExample:SUBB A, #0x4F ;A A – 4F – CNotice thatThere is no subtraction WITHOUT borrow.Therefore, if a subtraction without borrow is desired,it is necessary to clear the C flag.Example:Clr cSUBB A, #0x4F ;A A – 4F 11 Thí dụ với ADDmov a, #3FH • Cho biết các giá trịadd a, #0D3H của các cờ C, AC và OV sau khi lệnh thứ 0011 1111 hai được thực thi? 1101 0011 0001 0010 C = 1 AC = 1 OV = 0 12 Cộng có dấu và tràn (OV) 0111 1111 (positive 127) 2’s complement: 0111 0011 (positive 115)0000 0000 00 0 1111 0010 (overflow cannot represent 242 in 8… bits 2’s complement)0111 1111 7F 127 1000 1111 (negative 113)1000 0000 80 -128 1101 0011 (negative 45)… 0110 0010 (overflow)1111 1111 FF -1 0011 1111 (positive) 1101 0011 (negative) 0001 0010 (never overflows) 13 Decimal AdjustDA a ; decimal adjust aUsed to facilitate BCD addition.Adds “6” to either high or low nibble after an additionto create a valid BCD number.Example: mov a, #23h mov b, #29h add a, b ; a 23h + 29h = 4Ch (wanted 52) DA a ; a a + 6 = 52 14 Thí dụ: Cộng 2 số BCD (mỗi số có 4 ký số)MOV A, 43H ; num1 ở các ô nhớ 40, 41HADD A, 41H ; num2 ở các ô nhớ 42, 43HDA A ; kết quả đặt ở các ô nhớ 40, 41HMOV 41H, A CMOV A, 42H 1234 40H, 41HADDC A, 40H + 5678 42H, 43HDA A -------------MOV 40H,A (AC) 112 6912 15 Tính Z = X + YThí dụ: Tính Z = X + Y với Z, X, Y là số 1 byte trong RAM nội. Giả sử X được cất ở 40H, Y ở 41H, và Z ở 42H.Cách 1: MOV A, 40h ADD A, 41h MOV 42h, ACách 2: X EQU 40h Y EQU 41h Z EQU 42h MOV ...

Tài liệu được xem nhiều: