Vi xử lý máy vi tính - Chương 4
Số trang: 48
Loại file: doc
Dung lượng: 234.50 KB
Lượt xem: 23
Lượt tải: 0
Xem trước 6 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Trong chương trước ta đã giới thiệu khá tỉ mỉ tập lệnh của bộ vi xử lý 8086/88. Trong chương này ta sẽ giới thiệu cách lập trình dùng hợp ngữ trên các máy IBM PC hoặc tương thích với IBM PC (từ nay được gọi chung là IBM PC), vì đó là môi trường phổ thông và tiện lợi nhất để tạo ra và thử nghiệm các chương trình viết bằng hợp ngữ. Nói như vậy là vì a) về phần cứng, máy IBM PC có cấu trúc khá tiêu biểu của một hệ vi xử lý, b) về...
Nội dung trích xuất từ tài liệu:
Vi xử lý máy vi tính - Chương 4 CHƯƠNG 4 LẬP TRÌNH BẰNG HỢP NGỮ VỚI 8088 Mở đầu Trong chương trước ta đã giới thiệu khá tỉ mỉ tập lệnh của bộ vi xử lý8086/88. Trong chương này ta sẽ giới thiệu cách lập trình dùng hợp ngữ trên cácmáy IBM PC hoặc tương thích với IBM PC (từ nay được gọi chung là IBM PC), vìđó là môi trường phổ thông và tiện lợi nhất để tạo ra và thử nghiệm các chươngtrình viết bằng hợp ngữ. Nói như vậy là vì a) về phần cứng, máy IBM PC có c ấutrúc khá tiêu biểu của một hệ vi xử lý, b) về phần mềm, ta có thể tận dụng cácchương trình soạn thảo văn bản hoặc rất nhiều chức năng sẵn có khác của máyIBM PC cho các chương trình của ta thông qua các dịch vụ (các chương trình conphục vụ ngắt) của các ngắt của DOS (Disk Operating System, hệ điều hành) vàcủa BIOS (Basic Inpus Output System, hệ thống vào ra cơ sở). Tuy nhiên, một hệthống vi xử lý cụ thể có thể có kết cấu khác một máy vi tính IBM PC, do đó khilập trình cho các hệ thống giả định kiểu như vậy, sẽ có những chương trình mà takhông thể đem thử nghiệm trên máy IBM PC được. Các chương trình này sẽ đượcđánh dấu cẩn thận bằng dấu /// để ta không đem chúng cho chạy thử trên IBM PCnhằm tránh các hậu quả đáng tiếc có thể xảy ra. Ta sẽ sử dụng chương trình dịchhợp ngữ MASM 5.0 (Macro assemler phiên bản 5.0) của Microsoft với cách đ ịnhnghĩa đoạn đơn giản và chế độ bộ nhớ nhỏ. Điều này hoàn toàn đủ để đáp ứngcác yêu cầu nảy sinh khi ta thực hiện các chương trình đơn giản ban đầu. Ta cũngcó thể dùng chương trình dịch hợp ngữ TASM 4.0 (Turbo assembler phiên bản 4.0)của Borland International để thử nghiệm các chương trình hợp ngữ.1. Giới thiệu chung của chương trình hợp ngữ1.1. Cú pháp của chương trình hợp ngữ Trước khi trình bày cách lập trình bằng hợp ngữ ta phải tìm hiểu qua cúpháp của ngôn ngữ này, bởi vì như ta đã biết, để làm việc được với bất kỳ mộtngôn ngữ lập trình nào ta cũng cần nắm được cú pháp của nó. Chương trình dướidạng hợp ngữ mà ta viết ra, nếu đúng về cú pháp, sẽ được chương trình dịch hợpngữ MASM dịch ra mã máy, từ chương trình mã máy này ta có thể tạo ra cácchương trình chạy (thực hiện) được ngay bằng cách dịch tiếp ra các tệp có đuôiEXE hoặc COM. Do vậy khi viết một chương trình hợp ngữ ta phải tuân thủnhững quy tắc cú pháp nhất định để chương trình MASM có thể hiểu và dịchđược nó. Một chương trình hợp ngữ bao gồm các dòng lệnh, một dòng lệnh có thể làmột lệnh thật dưới dạng ký hiệu (symbolic), mà đôi khi còn được gọi là dạng gợinhớ (mnemonic) của bộ vi xử lý, hoặc một hướng dẫn cho chương trình dịch(assembler directive). Lệnh gợi nhớ sẽ được dịch ra mã máy còn hướng dẫn chochương trình dịch thì không được dịch, vì nó chỉ có tác dụng chỉ dẫn riêng thựchiện công việc. Ta có thể viết các dòng lệnh này bằng chữ hoa hoặc chữ thường Trang 97và chúng sẽ được coi là tương đương vì đối với dòng lệnh chương trình dịchkhông phân biệt kiểu chữ. Một dòng lệnh của chương trình hợp ngữ có thể có những trường sau(không nhất thiết phải có đủ hết tất cả các trường): Mã lệnh Các toán dạng Chú giải Tên Một ví dụ dòng lệnh gợi nhớ: TIEP : MOV AH, {BX} {SI} ; nạp vào AH nội dung ô ; nhớ có địa chỉ DS : (BX+SI) Trong ví dụ trên, tại trường tên ta có nhãn TIEP, tại trường mã lệnh ta cólệnh MOV, tại trường toán hạng ta có các thanh ghi AH, BX và SI và phần chúgiải gồm có các dòng ; nạp vào AH nội dung ô ; nhớ có địa chỉ DS : (BX+SI) Một ví dụ khác là các dòng lệnh với các hướng dẫn cho chương trình dịch: MAIN PROC và MAIN ENDP Trong ví dụ này, ở trường tên ta có tên thủ tục là MAIN, ở trường mã lệnhta có các lệnh giả PROC và ENDP. Đây là các lệnh giả dùng đ ể bắt đ ầu và kếtthúc một thủ tục có tên là MAIN. • Trường tên Trường tên chứa các nhãn, tên biến hoặc tên thủ tục. Các tên và nhãn này sẽđược chương trình dịch gán bằng các địa chỉ cụ thể của ô nhớ. Tên và nhẵn có thểcó độ dài 1..31 ký tự, không được chứa dấu cách và không được bắt đầu bằng số.Các ký tự đặc biệt khác có thể dùng trong tên là ?.@_$%. Nếu dấu chấm (.) đượcdùng thì nó phải được đặt ở vị trí đầu tiên của tên. Nói chung ta c ứ đ ặt các tênbình thường và có ý nghĩa là sẽ ít khi bị sai. Một nhãn thường kết thúc bằng dấuhai chấm (:). • Trường mã lệnh Trong trường mã lệnh nói chung sẽ có các lệnh thật hoặc lệnh giả. Đối với các lệnh thật thì trường này chứa các mã lệnh gợi nhớ. Mã lệnhnày sẽ được chương trình dịch dịch ra mã máy. Đối với các hướng dẫn chương trình dịch thì trường này chứa các lệnh giảvà sẽ không được dịch ra mã máy. ...
Nội dung trích xuất từ tài liệu:
Vi xử lý máy vi tính - Chương 4 CHƯƠNG 4 LẬP TRÌNH BẰNG HỢP NGỮ VỚI 8088 Mở đầu Trong chương trước ta đã giới thiệu khá tỉ mỉ tập lệnh của bộ vi xử lý8086/88. Trong chương này ta sẽ giới thiệu cách lập trình dùng hợp ngữ trên cácmáy IBM PC hoặc tương thích với IBM PC (từ nay được gọi chung là IBM PC), vìđó là môi trường phổ thông và tiện lợi nhất để tạo ra và thử nghiệm các chươngtrình viết bằng hợp ngữ. Nói như vậy là vì a) về phần cứng, máy IBM PC có c ấutrúc khá tiêu biểu của một hệ vi xử lý, b) về phần mềm, ta có thể tận dụng cácchương trình soạn thảo văn bản hoặc rất nhiều chức năng sẵn có khác của máyIBM PC cho các chương trình của ta thông qua các dịch vụ (các chương trình conphục vụ ngắt) của các ngắt của DOS (Disk Operating System, hệ điều hành) vàcủa BIOS (Basic Inpus Output System, hệ thống vào ra cơ sở). Tuy nhiên, một hệthống vi xử lý cụ thể có thể có kết cấu khác một máy vi tính IBM PC, do đó khilập trình cho các hệ thống giả định kiểu như vậy, sẽ có những chương trình mà takhông thể đem thử nghiệm trên máy IBM PC được. Các chương trình này sẽ đượcđánh dấu cẩn thận bằng dấu /// để ta không đem chúng cho chạy thử trên IBM PCnhằm tránh các hậu quả đáng tiếc có thể xảy ra. Ta sẽ sử dụng chương trình dịchhợp ngữ MASM 5.0 (Macro assemler phiên bản 5.0) của Microsoft với cách đ ịnhnghĩa đoạn đơn giản và chế độ bộ nhớ nhỏ. Điều này hoàn toàn đủ để đáp ứngcác yêu cầu nảy sinh khi ta thực hiện các chương trình đơn giản ban đầu. Ta cũngcó thể dùng chương trình dịch hợp ngữ TASM 4.0 (Turbo assembler phiên bản 4.0)của Borland International để thử nghiệm các chương trình hợp ngữ.1. Giới thiệu chung của chương trình hợp ngữ1.1. Cú pháp của chương trình hợp ngữ Trước khi trình bày cách lập trình bằng hợp ngữ ta phải tìm hiểu qua cúpháp của ngôn ngữ này, bởi vì như ta đã biết, để làm việc được với bất kỳ mộtngôn ngữ lập trình nào ta cũng cần nắm được cú pháp của nó. Chương trình dướidạng hợp ngữ mà ta viết ra, nếu đúng về cú pháp, sẽ được chương trình dịch hợpngữ MASM dịch ra mã máy, từ chương trình mã máy này ta có thể tạo ra cácchương trình chạy (thực hiện) được ngay bằng cách dịch tiếp ra các tệp có đuôiEXE hoặc COM. Do vậy khi viết một chương trình hợp ngữ ta phải tuân thủnhững quy tắc cú pháp nhất định để chương trình MASM có thể hiểu và dịchđược nó. Một chương trình hợp ngữ bao gồm các dòng lệnh, một dòng lệnh có thể làmột lệnh thật dưới dạng ký hiệu (symbolic), mà đôi khi còn được gọi là dạng gợinhớ (mnemonic) của bộ vi xử lý, hoặc một hướng dẫn cho chương trình dịch(assembler directive). Lệnh gợi nhớ sẽ được dịch ra mã máy còn hướng dẫn chochương trình dịch thì không được dịch, vì nó chỉ có tác dụng chỉ dẫn riêng thựchiện công việc. Ta có thể viết các dòng lệnh này bằng chữ hoa hoặc chữ thường Trang 97và chúng sẽ được coi là tương đương vì đối với dòng lệnh chương trình dịchkhông phân biệt kiểu chữ. Một dòng lệnh của chương trình hợp ngữ có thể có những trường sau(không nhất thiết phải có đủ hết tất cả các trường): Mã lệnh Các toán dạng Chú giải Tên Một ví dụ dòng lệnh gợi nhớ: TIEP : MOV AH, {BX} {SI} ; nạp vào AH nội dung ô ; nhớ có địa chỉ DS : (BX+SI) Trong ví dụ trên, tại trường tên ta có nhãn TIEP, tại trường mã lệnh ta cólệnh MOV, tại trường toán hạng ta có các thanh ghi AH, BX và SI và phần chúgiải gồm có các dòng ; nạp vào AH nội dung ô ; nhớ có địa chỉ DS : (BX+SI) Một ví dụ khác là các dòng lệnh với các hướng dẫn cho chương trình dịch: MAIN PROC và MAIN ENDP Trong ví dụ này, ở trường tên ta có tên thủ tục là MAIN, ở trường mã lệnhta có các lệnh giả PROC và ENDP. Đây là các lệnh giả dùng đ ể bắt đ ầu và kếtthúc một thủ tục có tên là MAIN. • Trường tên Trường tên chứa các nhãn, tên biến hoặc tên thủ tục. Các tên và nhãn này sẽđược chương trình dịch gán bằng các địa chỉ cụ thể của ô nhớ. Tên và nhẵn có thểcó độ dài 1..31 ký tự, không được chứa dấu cách và không được bắt đầu bằng số.Các ký tự đặc biệt khác có thể dùng trong tên là ?.@_$%. Nếu dấu chấm (.) đượcdùng thì nó phải được đặt ở vị trí đầu tiên của tên. Nói chung ta c ứ đ ặt các tênbình thường và có ý nghĩa là sẽ ít khi bị sai. Một nhãn thường kết thúc bằng dấuhai chấm (:). • Trường mã lệnh Trong trường mã lệnh nói chung sẽ có các lệnh thật hoặc lệnh giả. Đối với các lệnh thật thì trường này chứa các mã lệnh gợi nhớ. Mã lệnhnày sẽ được chương trình dịch dịch ra mã máy. Đối với các hướng dẫn chương trình dịch thì trường này chứa các lệnh giảvà sẽ không được dịch ra mã máy. ...
Tìm kiếm theo từ khóa liên quan:
lập trình bằng hợp ngữ mã hóa thông tin kỹ thuật vi xử lý vi xử lý intel hệ thống vi xử lýTài liệu liên quan:
-
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 185 0 0 -
Giáo án Tin học lớp 10 (Trọn bộ cả năm)
152 trang 182 0 0 -
Giáo trình Máy thu hình (Nghề Điện tử dân dụng - Trình độ: Trung cấp) - Trường Cao đẳng nghề Cần Thơ
79 trang 168 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áo cáo thực tập ngành: Máy điện, khí cụ điện, truyền động điện, kỹ thuật vi xử lý
95 trang 113 0 0 -
Giáo trình An toàn mạng (Nghề: Quản trị mạng - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Cần Thơ
117 trang 86 1 0 -
Báo cáo đồ án 2: Đo nhiệt độ, độ ẩm khí ga
31 trang 61 0 0 -
15 trang 45 1 0
-
Bài giảng Kiến trúc của hệ vi xử lý
256 trang 44 0 0 -
Bài giảng ý thuyết kỹ thuật vi xử lý
11 trang 43 0 0