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
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 ...
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ìm kiếm theo từ khóa liên quan:
Bài giảng Vi xử lý Vi xử lý Tập lệnh 8051 Lệnh chuyển dữ liệu Lệnh số học Lệnh luận lýTài liệu liên quan:
-
Đề cương chi tiết học phần Vi xử lý
12 trang 297 0 0 -
Báo cáo môn Vi xử lý - TÌM HIỂU VỀ CÁC BỘ VI XỬ LÝ XEON CỦA INTEL
85 trang 154 0 0 -
Báo cáo bài tập lớn môn Kỹ thuật vi xử lý: Thiết kế mạch quang báo - ĐH Bách khoa Hà Nội
31 trang 133 0 0 -
Bài tập lớn Vi xử lý: Thiết kế môn học Đèn LED đơn ghép thành đèn quảng cáo
15 trang 117 0 0 -
Bài tập lớn môn Vi xử lý, vi điều khiển: Thiết kế bộ điều khiển tốc độ của động cơ điện một chiều
27 trang 117 0 0 -
Giáo trình Vi xử lý: Phần 1 - Phạm Quang Trí
122 trang 85 0 0 -
Giáo trình Hệ vi điều khiển: Phần 1
129 trang 73 0 0 -
Đề tài : ĐIỀU KHIỂN CHUYỂN ĐỘNG RÔBÔT BẰNG ĐỘNG CƠ BƯỚC
23 trang 68 0 0 -
Điều khiển số (Digital Control Systems) - ĐH Bách Khoa Hà Nội
110 trang 57 0 0 -
Bài Giảng Kỹ Thuật Số - CÁC HỌ VI MẠCH SỐ
7 trang 56 0 0