Bài giảng Kiến trúc máy tính: Chương 2.4 - ThS. Phạm Thanh Bình
Số trang: 47
Loại file: ppt
Dung lượng: 191.50 KB
Lượt xem: 19
Lượt tải: 0
Xem trước 5 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.4 của bài giảng trình bày nội dung về ngôn ngữ của máy tính cụ thể là cách khai báo mảng một chiều, các phần tử của mảng một chiều, các chế độ địa chỉ, các lệnh thao tác với chuỗi,.. Để 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.4 - 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 2.6.8 Mảng và các chế độ địa chỉ Khai báo mảng một chiều Các phần tử của mảng một chiều Các chế độ địa chỉ Các lệnh thao tác với chuỗi Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 2 Khai báo mảng một chiều Mảng một chiều gồm một chuỗi liên tiếp các byte hay word trong bộ nhớ. Ở Chương 2 ta đã từng sử dụng khai báo: .DATA ChuoiKT DB ‘KHOA CONG NGHE THONG TIN$’ Thực chất khai báo này sẽ chiếm một vùng 25 ô nhớ trong đoạn dữ liệu và đặt vào đó các kí tự tương ứng: Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 3 ‘K’ ‘H’ ‘O’ ‘A’ ‘ ’ ‘C’ … Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 4 Cách khai báo như trên tương đương với cách khai báo sau đây: .DATA ChuoiKT DB ‘K’, ‘H’, ‘O’, ‘A’, ‘CONG’, ‘NGHE’, ‘THONG TIN$’ Và cũng tương đương với: .DATA ChuoiKT DB 4Bh, 48h, 4Fh, 41h, ‘CONG’, ‘NGHE’, ‘THONG TIN$’ Các khai báo đó được gọi là khai báo liệt kê, tức là sẽ tạo ra trong bộ nhớ một mảng có số lượng phần Bộử xác đị thuật máy tính & mởi tạo luôn giá trị cho từng t môn Kỹ nh, đồng thời kh ạng – Khoa CNTT phần tử Kiến trúc máy tính 2 5 Các phương pháp khai báo tổng quát Khai báo mảng Byte: Mảng Byte là mảng mà mỗi phần tử có kích thước 1 byte. Cách 1: DB Ví dụ: A DB 10h, 12h, 30, 40 Khai báo trên tạo ra mảng A có 4 phần tử, mỗi phần tử chiếm 1 byte nhớ Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 6 Cách 2: DB DUP (Giá trị khởi tạo) Ví dụ 1: A DB 50 DUP (0) Khai báo trên tạo ra mảng A có 50 phần tử, giá trị ban đầu của các phần tử bằng 0. Ví dụ 2: B DB 100 DUP (?) Khai báo trên tạo ra mảng B có 100 phần tử, không khởi tạo giá trị ban đầu cho các phần tử 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 mảng Word: Mảng Word là mảng mà mỗi phần tử có kích thước 1 word. Cách 1: DW Cách 2: DW DUP (Giá trị khởi tạo) Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 8 Ví dụ 1: A DW 10h, 12h, 30, 40 Khai báo trên tạo ra mảng A có 4 phần tử, mỗi phần tử dài 16 bít. Ví dụ 2: B DW 50 DUP (?) Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 9 Các phần tử của mảng một chiều Tên mảng chính là một biến ứng với phần tử đầu tiên của mảng. Các phần tử tiếp theo có thể được xác định bằng cách lấy địa chỉ phần tử đứng trước cộng với kích thước của nó. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 10 Ví dụ 1: M DB 10, 20, 30, 40 Các phần tử của mảng có thể kí hiệu như sau (chú ý: kích thước của mỗi phần tử trong mảng này là 1 byte): Kí hiệu Giá trị Phần tử 1 M 10 Phần tử 2 M + 1 20 Phần tử 3 M + 2 30 Phần tử 4 M + 3 40 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 11 Ví dụ 2: N DW 1, 6, 20, 10, 15 Các phần tử của mảng có thể kí hiệu như sau (chú ý: kích thước của mỗi phần tử trong mảng này là 2 byte): Kí hiệu Giá trị Phần tử 1 N 1 Phần tử 2 N + 2 6 Phần tử 3 N + 4 20 Phần tử 4 N + 6 10 Phần tử 5 N + 8 15 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 12 Ví dụ 3: Cho mảng A gồm 12 phần tử, các phần tử có kiểu là Byte. Hãy đổi chỗ phần tử đầu tiên và phần tử cuối cùng của mảng cho nhau. Giải: Phần tử đầu tiên là: A Phần tử cuối cùng là: A + 11 MOV AL, A MOV BL, A + 11 MOV A, BL MOV A+11, AL Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 13 Các chế độ địa chỉ Việc truy nhập trực tiếp tới các phần tử của mảng thông qua cách viết: + gây rất nhiều bất tiện trong lập trình. Một phương pháp khác, mềm dẻo hơn, là sử dụng các thanh ghi để chứa hoặc chứa địa chỉ của từng phần tử. Bằng việc thay đổi nội dung các thanh ghi → có thể truy nhập vào các phần tử khác nhau của mảng. Các thanh ghi có thể được sử dụng là BX, BP, SI, DI Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 14 Dùng thanh ghi chứa địa chỉ của phần tử: Giả sử thanh ghi SI đang chứa địa chỉ offset của một ô nhớ nào đó, cách viết: [SI] ...
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.4 - 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 2.6.8 Mảng và các chế độ địa chỉ Khai báo mảng một chiều Các phần tử của mảng một chiều Các chế độ địa chỉ Các lệnh thao tác với chuỗi Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 2 Khai báo mảng một chiều Mảng một chiều gồm một chuỗi liên tiếp các byte hay word trong bộ nhớ. Ở Chương 2 ta đã từng sử dụng khai báo: .DATA ChuoiKT DB ‘KHOA CONG NGHE THONG TIN$’ Thực chất khai báo này sẽ chiếm một vùng 25 ô nhớ trong đoạn dữ liệu và đặt vào đó các kí tự tương ứng: Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 3 ‘K’ ‘H’ ‘O’ ‘A’ ‘ ’ ‘C’ … Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 4 Cách khai báo như trên tương đương với cách khai báo sau đây: .DATA ChuoiKT DB ‘K’, ‘H’, ‘O’, ‘A’, ‘CONG’, ‘NGHE’, ‘THONG TIN$’ Và cũng tương đương với: .DATA ChuoiKT DB 4Bh, 48h, 4Fh, 41h, ‘CONG’, ‘NGHE’, ‘THONG TIN$’ Các khai báo đó được gọi là khai báo liệt kê, tức là sẽ tạo ra trong bộ nhớ một mảng có số lượng phần Bộử xác đị thuật máy tính & mởi tạo luôn giá trị cho từng t môn Kỹ nh, đồng thời kh ạng – Khoa CNTT phần tử Kiến trúc máy tính 2 5 Các phương pháp khai báo tổng quát Khai báo mảng Byte: Mảng Byte là mảng mà mỗi phần tử có kích thước 1 byte. Cách 1: DB Ví dụ: A DB 10h, 12h, 30, 40 Khai báo trên tạo ra mảng A có 4 phần tử, mỗi phần tử chiếm 1 byte nhớ Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 6 Cách 2: DB DUP (Giá trị khởi tạo) Ví dụ 1: A DB 50 DUP (0) Khai báo trên tạo ra mảng A có 50 phần tử, giá trị ban đầu của các phần tử bằng 0. Ví dụ 2: B DB 100 DUP (?) Khai báo trên tạo ra mảng B có 100 phần tử, không khởi tạo giá trị ban đầu cho các phần tử 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 mảng Word: Mảng Word là mảng mà mỗi phần tử có kích thước 1 word. Cách 1: DW Cách 2: DW DUP (Giá trị khởi tạo) Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 8 Ví dụ 1: A DW 10h, 12h, 30, 40 Khai báo trên tạo ra mảng A có 4 phần tử, mỗi phần tử dài 16 bít. Ví dụ 2: B DW 50 DUP (?) Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 9 Các phần tử của mảng một chiều Tên mảng chính là một biến ứng với phần tử đầu tiên của mảng. Các phần tử tiếp theo có thể được xác định bằng cách lấy địa chỉ phần tử đứng trước cộng với kích thước của nó. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 10 Ví dụ 1: M DB 10, 20, 30, 40 Các phần tử của mảng có thể kí hiệu như sau (chú ý: kích thước của mỗi phần tử trong mảng này là 1 byte): Kí hiệu Giá trị Phần tử 1 M 10 Phần tử 2 M + 1 20 Phần tử 3 M + 2 30 Phần tử 4 M + 3 40 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 11 Ví dụ 2: N DW 1, 6, 20, 10, 15 Các phần tử của mảng có thể kí hiệu như sau (chú ý: kích thước của mỗi phần tử trong mảng này là 2 byte): Kí hiệu Giá trị Phần tử 1 N 1 Phần tử 2 N + 2 6 Phần tử 3 N + 4 20 Phần tử 4 N + 6 10 Phần tử 5 N + 8 15 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 12 Ví dụ 3: Cho mảng A gồm 12 phần tử, các phần tử có kiểu là Byte. Hãy đổi chỗ phần tử đầu tiên và phần tử cuối cùng của mảng cho nhau. Giải: Phần tử đầu tiên là: A Phần tử cuối cùng là: A + 11 MOV AL, A MOV BL, A + 11 MOV A, BL MOV A+11, AL Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 13 Các chế độ địa chỉ Việc truy nhập trực tiếp tới các phần tử của mảng thông qua cách viết: + gây rất nhiều bất tiện trong lập trình. Một phương pháp khác, mềm dẻo hơn, là sử dụng các thanh ghi để chứa hoặc chứa địa chỉ của từng phần tử. Bằng việc thay đổi nội dung các thanh ghi → có thể truy nhập vào các phần tử khác nhau của mảng. Các thanh ghi có thể được sử dụng là BX, BP, SI, DI Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 14 Dùng thanh ghi chứa địa chỉ của phần tử: Giả sử thanh ghi SI đang chứa địa chỉ offset của một ô nhớ nào đó, cách viết: [SI] ...
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 Khai báo mảng một chiều Phần tử của mảng một chiều Chuyển dữ liệu từ chuỗiGợ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