Một số kỹ thuật lập trình hợp ngữ 8051
Số trang: 6
Loại file: pdf
Dung lượng: 311.78 KB
Lượt xem: 18
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Hợp ngữ (assembly language) là ngôn ngữ của máy tính có vị trí ở giữangôn ngữ máy và ngôn ngữ cấp cao. Các ngôn ngữ cấp cao như Pascal, C sử dụngcác từ và các phát biểu dễ hiểu hơn. Ngôn ngữ máy (machine language) là ngônngữ ở dạng số nhị phân của máy tính. Một chương trình viết bằng ngôn ngữ máy làmột chuỗi các byte nhị phân biểu diễn các lệnh mà máy tính thực thi được. Hợp ngữ thay thế các mã nhị phân của ngôn ngữ máy bằng các mã gợi nhớgiúp ta dễ nhớ và...
Nội dung trích xuất từ tài liệu:
Một số kỹ thuật lập trình hợp ngữ 8051ĐHBK Tp HCM – BMĐTMôn học: Vi xử lýGVPT: Hồ Trung Mỹ Một số kỹ thuật lập trình hợp ngữ 80511. Hãy trình bày các cách làm cho a) Cờ Carry bằng 1 b) Cờ Carry bằng 0Bài giải (BG). Cách tốt nhất là cách có đánh dấu *. a) Cờ Carry bằng 1 Hợp ngữ Mã máy (hex) Số chu kỳ máy (MC) Cách 1 (*) SETB C D3 1 Cách 2 SETB CY D2 D7 2 Cách 3 CLR C C3 1 CPL C B3 1 b) Cờ Carry bằng 0 Hợp ngữ Mã máy (hex) Số chu kỳ máy (MC) Cách 1 (*) CLR C C3 1 Cách 2 CLR CY C2 D7 2 Cách 3 SETB C D3 1 CPL C B3 1 Chú ý: Ngoài ra các lệnh cộng/trừ/xoay bit cũng làm thay đổi giá trị của cờ Carry!2. Hãy trình bày các cách xóa thanh ghi A và cho biết cách nào tốt nhấtBG. Hợp ngữ Mã máy (hex) Số chu kỳ máy (MC) Cách 1 (*) CLR A E4 1 Cách 2 ANL A,#0 54 00 2 Cách 3 MOV A,#0 74 00 2 Cách 4 XRL A,0E0h XRL A,ACC 65 E0 1 Cách 5 XRL 0E0h,A XRL ACC,A 62 E0 13. Hoán đổi nội dung của a) 4 bit cao với 4 bit thấp của thanh ghi A b) Thanh ghi R1 và R2 ở bank 0 c) 2 byte trong RAM nội (TD: ở 30h và 32h)BG. Cách 1 (*) Cách 2 Cách 3 a) Hai nửa byte của A SWAP A RL A RR A RL A RR A RL A RR A RL A RR A b) Thanh ghi R1và R2 XCH A,R1 PUSH 1 MOV A,R1 (ở bank 0) XCH A,R2 PUSH 2 MOV 1,2 XCH A,R1 POP 1 MOV R2,A POP 2 c) 2 byte trong RAM nội XCH A,30h PUSH 30h MOV A,30h (TD: ở 30h và 32h) XCH A,32h PUSH 32h MOV 30h,32h XCH A,30h POP 30h MOV 32h,A POP 32h4. So sánh thanh ghi A với B và kết quả tác động đến phép gán cho thanh ghi R7 Mã giả Chương trình hợp ngữ #1 Chương trình hợp ngữ #2 if A = B then CJNE A,B, ANEB XRL A, B R7 1 MOV R7, #1 JNZ ANEB else SJMP CONT MOV R7,#1 R7 2 ANEB: MOV R7, #2 SJMP CONT: CONT: ANEB: MOV R7,#2 CONT: VXL_Một số kỹ thuật lập trình hợp ngữ 8051 – trang 1/6 if A > B then CJNE A, B, ANEB R7 1 ALEB: ; khi A B JC ALEB MOV R7,#1 CONT: if A < B then CJNE A, B, ANEB R7 1 AEQB: MOV R7,#2 ; khi A = B else SJMP CONT if A = B then ANEB: ; khi A B R7 2 JC ALTB else AGTB: ; xử lý khi A > B R7 3 MOV R7,#3 SJMP CONT ALTB: ; xử lý khi A < B MOV R7,#1 CON ...
Nội dung trích xuất từ tài liệu:
Một số kỹ thuật lập trình hợp ngữ 8051ĐHBK Tp HCM – BMĐTMôn học: Vi xử lýGVPT: Hồ Trung Mỹ Một số kỹ thuật lập trình hợp ngữ 80511. Hãy trình bày các cách làm cho a) Cờ Carry bằng 1 b) Cờ Carry bằng 0Bài giải (BG). Cách tốt nhất là cách có đánh dấu *. a) Cờ Carry bằng 1 Hợp ngữ Mã máy (hex) Số chu kỳ máy (MC) Cách 1 (*) SETB C D3 1 Cách 2 SETB CY D2 D7 2 Cách 3 CLR C C3 1 CPL C B3 1 b) Cờ Carry bằng 0 Hợp ngữ Mã máy (hex) Số chu kỳ máy (MC) Cách 1 (*) CLR C C3 1 Cách 2 CLR CY C2 D7 2 Cách 3 SETB C D3 1 CPL C B3 1 Chú ý: Ngoài ra các lệnh cộng/trừ/xoay bit cũng làm thay đổi giá trị của cờ Carry!2. Hãy trình bày các cách xóa thanh ghi A và cho biết cách nào tốt nhấtBG. Hợp ngữ Mã máy (hex) Số chu kỳ máy (MC) Cách 1 (*) CLR A E4 1 Cách 2 ANL A,#0 54 00 2 Cách 3 MOV A,#0 74 00 2 Cách 4 XRL A,0E0h XRL A,ACC 65 E0 1 Cách 5 XRL 0E0h,A XRL ACC,A 62 E0 13. Hoán đổi nội dung của a) 4 bit cao với 4 bit thấp của thanh ghi A b) Thanh ghi R1 và R2 ở bank 0 c) 2 byte trong RAM nội (TD: ở 30h và 32h)BG. Cách 1 (*) Cách 2 Cách 3 a) Hai nửa byte của A SWAP A RL A RR A RL A RR A RL A RR A RL A RR A b) Thanh ghi R1và R2 XCH A,R1 PUSH 1 MOV A,R1 (ở bank 0) XCH A,R2 PUSH 2 MOV 1,2 XCH A,R1 POP 1 MOV R2,A POP 2 c) 2 byte trong RAM nội XCH A,30h PUSH 30h MOV A,30h (TD: ở 30h và 32h) XCH A,32h PUSH 32h MOV 30h,32h XCH A,30h POP 30h MOV 32h,A POP 32h4. So sánh thanh ghi A với B và kết quả tác động đến phép gán cho thanh ghi R7 Mã giả Chương trình hợp ngữ #1 Chương trình hợp ngữ #2 if A = B then CJNE A,B, ANEB XRL A, B R7 1 MOV R7, #1 JNZ ANEB else SJMP CONT MOV R7,#1 R7 2 ANEB: MOV R7, #2 SJMP CONT: CONT: ANEB: MOV R7,#2 CONT: VXL_Một số kỹ thuật lập trình hợp ngữ 8051 – trang 1/6 if A > B then CJNE A, B, ANEB R7 1 ALEB: ; khi A B JC ALEB MOV R7,#1 CONT: if A < B then CJNE A, B, ANEB R7 1 AEQB: MOV R7,#2 ; khi A = B else SJMP CONT if A = B then ANEB: ; khi A B R7 2 JC ALTB else AGTB: ; xử lý khi A > B R7 3 MOV R7,#3 SJMP CONT ALTB: ; xử lý khi A < B MOV R7,#1 CON ...
Tìm kiếm theo từ khóa liên quan:
Đề cương vi xử lí Điện tử ứng dụng Mạch điện ứng dụng Lập trình hợp ngữ 8051 Vi điều khiểnGợi ý tài liệu liên quan:
-
Giáo trình Vi điều khiển (Nghề: Cơ điện tử - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Ninh Thuận
127 trang 279 0 0 -
ĐỒ ÁN TỐT NGHIỆP: THIẾT KẾ HỆ THỐNG CUNG CẤP ĐIỆN CHO NHÀ MÁY SẢN XUẤT GẠCH MEN SHIJAR
63 trang 231 0 0 -
Báo cáo môn học vi xử lý: Khai thác phần mềm Proteus trong mô phỏng điều khiển
33 trang 182 0 0 -
ĐỒ ÁN: THIẾT KẾ HỆ THỐNG CUNG CẤP ĐIỆN CHO NHÀ MÁY CƠ KHÍ TRUNG QUY MÔ SỐ 2
91 trang 161 0 0 -
Giáo trình Vi điều khiển (Nghề: Điện công nghiệp - Cao đẳng) - Trường Cao đẳng Cơ giới (2022)
144 trang 155 0 0 -
Luận văn: THIẾT KẾ CUNG CẤP ĐIỆN KHU DÂN CƯ
57 trang 153 1 0 -
Đề cương chi tiết học phần Vi điều khiển
15 trang 140 0 0 -
27 trang 131 0 0
-
Ứng dụng vi điều khiển PIC 16F877A trong thí nghiệm vật lí phổ thông
12 trang 120 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