Bài giảng Kiến trúc máy tính: Chương 2.2 - ThS. Phạm Thanh Bình
Số trang: 80
Loại file: ppt
Dung lượng: 209.50 KB
Lượt xem: 17
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 Kiến trúc máy tính do ThS. Phạm Thanh Bình biên soạn, trong chương 2.2 của bài giảng trình bày nội dung ngôn ngữ của máy tính cụ thể là giới thiệu về các lệnh Assembly cơ bản,.... Để biết rõ hơn về nội dung chi tiết, mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Kiến trúc máy tính: Chương 2.2 - ThS. Phạm Thanh Bình KIẾN TRÚC MÁY TÍNH Giảng viên: Ths Phạm Thanh Bình Bộ môn Kỹ thuật máy tính & mạng http://vn.myblog.yahoo.com/CNTTwru http://ktmt.wru.googlepages.com Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 1 Bài 2.6 – Các lệnh Assembly cơ bản Cấu trúc chương trình Một số lệnh thường dùng Nhập/xuất dữ liệu Cách chạy chương trình Assembly Các lệnh nhảy, cấu trúc rẽ nhánh và lặp Các lệnh logic, dịch, và quay Ngăn xếp và thủ tục Bộ môn Kỹ thuật máy tính & m địa chỉ Mảng và các chế độ ạng – Khoa CNTT Kiến trúc máy tính 2 2 2.6.1 Cấu trúc chương trình TITLE VI DU 1 .MODEL SMALL .STACK 100H .DATA A DB 4 B DB 6 C DB ? .CODE MAIN PROC MOV AX, @DATA MOV DS, AX MOV AL, A ADD AL, B MOV C, AL MOV AX, 4C00H INT 21H MAIN ENDP Bộ môn Kỹ thuật máy tính & mạng – END MAIN Khoa CNTT Kiến trúc máy tính 2 3 Giải thích: Phần tên Tên chương trình được viết sau từ khoá TITLE ở đầu chương trình. Tên có thể chứa dấu cách và các kí tự đặc biệt khác. Thông thường phần tên sẽ cho ta biết mục đích, nhiệm vụ hoặc nội dung tóm tắt của chương trình. Ví dụ: TITLE VI DU 1 Phần khai báo Trong hợp ngữ có nhiều nội dung cần phải khái Bộ môn Kỹư kiểu bộ nhớ, ngăn xếp, biến, hằng... báo nh thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 4 Khai báo kiểu bộ nhớ Kiểu bộ nhớ được viết sau từ .MODEL. Kiểu bộ nhớ sẽ quy định kích thước của đoạn mã và dữ liệu trong chương trình Trong ví dụ trên, kiểu bộ nhớ là SMALL, nghĩa là kiểu bộ nhớ nhỏ, mã lệnh sẽ nằm trong 1 đoạn nhớ, dữ liệu nằm trong 1 đoạn nhớ. Ngoài kiểu SMALL còn có nhiều kiểu bộ nhớ khác Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 5 Một số kiểu bộ nhớ MEDIUM Mã lệnh chiếm nhiều hơn 1 đoạn Dữ liệu trong 1 đoạn COMPACT Mã lệnh trong 1 đoạn Dữ liệu chiếm nhiều hơn 1 đoạn LARGE Mã lệnh chiếm nhiều hơn 1 đoạn Dữ liệu chiếm nhiều hơn 1 đoạn Không có mảng nào lớn hơn 64 KB HUGE Mã lệnh chiếm nhiều hơn 1 đoạn Dữ liệu chiếm nhiều hơn 1 đoạn Các mảng có thể lớn hơn 64 KB Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 6 Khai báo kích thước ngăn xếp Kích thước ngăn xếp được viết sau từ .STACK Ví dụ: .STACK 100H Khi đó kích thước vùng bộ nhớ dùng làm ngăn xếp là 100H Bytes Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 7 Khai báo dữ liệu Khai báo dữ liệu được viết sau từ .DATA. Các biến của chương trình sẽ được khai báo ở phần này. Ví dụ 1: A DB 4 Trong đó: A là tên biến, DB là kiểu dữ liệu (biến kiểu DB sẽ có kích thước 1 byte), 4 là giá trị ban đầu của biến. Ví dụ 2: B DW ? Trong ví dụ này, biến B sẽ có kiểu là DW (1 Word) và không có giá trị khởi tạo. Khai báo hằng: Ví dụ: H EQU 2Bh Bộ môn Kỹ thuật máy tính & mạng – Hằng H sẽ nhận giá trị bằng 2Bh Khoa CNTT Kiến trúc máy tính 2 8 Quy tắc đặt tên (Biến, hằng, nhãn, thủ tục): Tên có chiều dài tối đa 31 kí tự. Có thể chứa chữ cái, chữ số và các kí tự đặc biệt (? . @ _ $ %). Không được bắt đầu bằng số. Nếu dùng dấu chấm thì nó phải đứng đầu tiên. Tên không được chứa dấu cách. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 9 Phần mã lệnh Phần này bao gồm các thủ tục được viết sau từ .CODE. Trong số các thủ tục này phải chọn một thủ tục làm chương trình chính, tên của thủ tục đó được viết sau từ END ở cuối chương trình. Tên chương trình chính thường đặt là MAIN, cũng có thể chọn một tên khác. Cấu trúc một thủ tục: PROC Lệnh 1 Lệnh 2 Lệnh 3 ... ENDP Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 10 Cấu trúc chung của phần mã lệnh: .CODE PROC Lệnh 1 Lệnh 2 Lệnh 3 ... ENDP ...Các thủ tục khác END Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 11 2.6.2 Một số lệnh thường dùng Cấu trúc câu lệnh Assembly Lệnh MOV (Move) Lệnh XCHG (Exchange) Lệnh ADD và SUB (Subtract) Lệnh INC (Increment) và DEC (Decrement) Lệnh NEG (Negartive) Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 12 Cấu trúc câu lệnh Assembly Một câu lệnh hợp ngữ gồm 3 phần: Tên lệnh, các toán hạng, phần chú thích. Nếu có nhiều toán hạng thì chúng được phân cách với nhau bằng dấu phảy (,). [, ...] [;Lời chú thích] Ví du: MOV DS, AX ;Chuyển nội dung của thanh ghi AX vào thanh ghi Bộ môn Kỹ thuật máy tính & mạng – DS Khoa CNTT Kiến trúc máy tính 2 13 Lệnh MOV (Move) Lệnh này được sử dụng để ch ...
Nội dung trích xuất từ tài liệu:
Bài giảng Kiến trúc máy tính: Chương 2.2 - ThS. Phạm Thanh Bình KIẾN TRÚC MÁY TÍNH Giảng viên: Ths Phạm Thanh Bình Bộ môn Kỹ thuật máy tính & mạng http://vn.myblog.yahoo.com/CNTTwru http://ktmt.wru.googlepages.com Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 1 Bài 2.6 – Các lệnh Assembly cơ bản Cấu trúc chương trình Một số lệnh thường dùng Nhập/xuất dữ liệu Cách chạy chương trình Assembly Các lệnh nhảy, cấu trúc rẽ nhánh và lặp Các lệnh logic, dịch, và quay Ngăn xếp và thủ tục Bộ môn Kỹ thuật máy tính & m địa chỉ Mảng và các chế độ ạng – Khoa CNTT Kiến trúc máy tính 2 2 2.6.1 Cấu trúc chương trình TITLE VI DU 1 .MODEL SMALL .STACK 100H .DATA A DB 4 B DB 6 C DB ? .CODE MAIN PROC MOV AX, @DATA MOV DS, AX MOV AL, A ADD AL, B MOV C, AL MOV AX, 4C00H INT 21H MAIN ENDP Bộ môn Kỹ thuật máy tính & mạng – END MAIN Khoa CNTT Kiến trúc máy tính 2 3 Giải thích: Phần tên Tên chương trình được viết sau từ khoá TITLE ở đầu chương trình. Tên có thể chứa dấu cách và các kí tự đặc biệt khác. Thông thường phần tên sẽ cho ta biết mục đích, nhiệm vụ hoặc nội dung tóm tắt của chương trình. Ví dụ: TITLE VI DU 1 Phần khai báo Trong hợp ngữ có nhiều nội dung cần phải khái Bộ môn Kỹư kiểu bộ nhớ, ngăn xếp, biến, hằng... báo nh thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 4 Khai báo kiểu bộ nhớ Kiểu bộ nhớ được viết sau từ .MODEL. Kiểu bộ nhớ sẽ quy định kích thước của đoạn mã và dữ liệu trong chương trình Trong ví dụ trên, kiểu bộ nhớ là SMALL, nghĩa là kiểu bộ nhớ nhỏ, mã lệnh sẽ nằm trong 1 đoạn nhớ, dữ liệu nằm trong 1 đoạn nhớ. Ngoài kiểu SMALL còn có nhiều kiểu bộ nhớ khác Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 5 Một số kiểu bộ nhớ MEDIUM Mã lệnh chiếm nhiều hơn 1 đoạn Dữ liệu trong 1 đoạn COMPACT Mã lệnh trong 1 đoạn Dữ liệu chiếm nhiều hơn 1 đoạn LARGE Mã lệnh chiếm nhiều hơn 1 đoạn Dữ liệu chiếm nhiều hơn 1 đoạn Không có mảng nào lớn hơn 64 KB HUGE Mã lệnh chiếm nhiều hơn 1 đoạn Dữ liệu chiếm nhiều hơn 1 đoạn Các mảng có thể lớn hơn 64 KB Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 6 Khai báo kích thước ngăn xếp Kích thước ngăn xếp được viết sau từ .STACK Ví dụ: .STACK 100H Khi đó kích thước vùng bộ nhớ dùng làm ngăn xếp là 100H Bytes Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 7 Khai báo dữ liệu Khai báo dữ liệu được viết sau từ .DATA. Các biến của chương trình sẽ được khai báo ở phần này. Ví dụ 1: A DB 4 Trong đó: A là tên biến, DB là kiểu dữ liệu (biến kiểu DB sẽ có kích thước 1 byte), 4 là giá trị ban đầu của biến. Ví dụ 2: B DW ? Trong ví dụ này, biến B sẽ có kiểu là DW (1 Word) và không có giá trị khởi tạo. Khai báo hằng: Ví dụ: H EQU 2Bh Bộ môn Kỹ thuật máy tính & mạng – Hằng H sẽ nhận giá trị bằng 2Bh Khoa CNTT Kiến trúc máy tính 2 8 Quy tắc đặt tên (Biến, hằng, nhãn, thủ tục): Tên có chiều dài tối đa 31 kí tự. Có thể chứa chữ cái, chữ số và các kí tự đặc biệt (? . @ _ $ %). Không được bắt đầu bằng số. Nếu dùng dấu chấm thì nó phải đứng đầu tiên. Tên không được chứa dấu cách. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 9 Phần mã lệnh Phần này bao gồm các thủ tục được viết sau từ .CODE. Trong số các thủ tục này phải chọn một thủ tục làm chương trình chính, tên của thủ tục đó được viết sau từ END ở cuối chương trình. Tên chương trình chính thường đặt là MAIN, cũng có thể chọn một tên khác. Cấu trúc một thủ tục: PROC Lệnh 1 Lệnh 2 Lệnh 3 ... ENDP Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 10 Cấu trúc chung của phần mã lệnh: .CODE PROC Lệnh 1 Lệnh 2 Lệnh 3 ... ENDP ...Các thủ tục khác END Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 11 2.6.2 Một số lệnh thường dùng Cấu trúc câu lệnh Assembly Lệnh MOV (Move) Lệnh XCHG (Exchange) Lệnh ADD và SUB (Subtract) Lệnh INC (Increment) và DEC (Decrement) Lệnh NEG (Negartive) Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 12 Cấu trúc câu lệnh Assembly Một câu lệnh hợp ngữ gồm 3 phần: Tên lệnh, các toán hạng, phần chú thích. Nếu có nhiều toán hạng thì chúng được phân cách với nhau bằng dấu phảy (,). [, ...] [;Lời chú thích] Ví du: MOV DS, AX ;Chuyển nội dung của thanh ghi AX vào thanh ghi Bộ môn Kỹ thuật máy tính & mạng – DS Khoa CNTT Kiến trúc máy tính 2 13 Lệnh MOV (Move) Lệnh này được sử dụng để ch ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Kiến trúc máy tính Ngôn ngữ của máy tính Các lệnh Assembly Cấu trúc chương trình trong máy tính Kiểu bộ nhớ Cấu trúc câu lệnh AssemblyGợi ý tài liệu liên quan:
-
Lecture Computer Architecture - Chapter 1: Technology and Performance evaluation
34 trang 167 0 0 -
Giáo trình kiến trúc máy tính - ĐH Cần Thơ
95 trang 87 1 0 -
Bài giảng Kiến trúc máy tính: Chương 7 - ThS. Nguyễn Thị Phương Thảo
49 trang 76 0 0 -
Bài giảng Kiến trúc máy tính: Chương 0 - ĐH Công Nghiệp
7 trang 62 0 0 -
Bài giảng Kiến trúc máy tính: Chương 1 - Trường Đại học Công nghiệp TP.HCM
74 trang 62 0 0 -
Bài giảng Kiến trúc máy tính: Chương 1 - ThS. Nguyễn Thị Phương Thảo
20 trang 51 0 0 -
Bài giảng Kiến trúc máy tính và hệ điều hành: Bài 10 - Nguyễn Hồng Sơn
28 trang 50 0 0 -
Bài giảng Kiến trúc máy tính: Chương 3 - ThS. Nguyễn Thị Phương Thảo
68 trang 50 0 0 -
Bài giảng Kiến trúc máy tính - Chương 3: Phép toán số học trên máy tính (tt)
32 trang 45 1 0 -
Lecture Computer architecture - Lecture 12: Memory
27 trang 44 0 0