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
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:
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:...
Nội dung trích xuất từ tài liệu:
KIẾN TRÚC MÁY TÍNH - MẢNG VÀ CÁC CHẾ ĐỘ ĐỊA CHỈ
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/CNTT-wru
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 tử xác
định, đồng thời khởi tạo luôn giá trị cho từng 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 - 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]
sẽ trả về nội dung của ô nhớ đó.
Nếu sử dụng các thanh ghi BX, DI và SI để
chứa địa chỉ offset thì địa chỉ segment sẽ
được chứa trong DS. Còn nếu sử dụng
thanh ghi BP thì SS sẽ chứa segment
Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 - 15
Ví dụ:
Cho mảng sau:
A DB 10, 12, 3, 4, 9, 5, 7, 6
Hãy tính tổng các phần tử của mảng (cất
tổng vào AL).
Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 2 - 16
Giải:
Ta sẽ sử dụng thanh ghi SI lần lượt trỏ tới từng phần tử của
mản ...
KIẾN TRÚC MÁY TÍNH - MẢNG VÀ CÁC CHẾ ĐỘ ĐỊA CHỈ
Số trang: 47
Loại file: pdf
Dung lượng: 1.67 MB
Lượt xem: 31
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:
Tìm kiếm theo từ khóa liên quan:
bài giảng môn kiến trúc máy tính hệ thống nhập xuất truyền nhân tín hiệu tài liệu về kiến trúc máy tính tổng quan về bộ nhớ chế độ địa chỉ mảng một chiềuTài liệu có liên quan:
-
KIẾN TRÚC MÁY TÍNH -NGÔN NGỮ CỦA MÁY TÍNH
61 trang 61 0 0 -
49 trang 44 0 0
-
Bài giảng Tin học đại cương: Bài 8 - Phạm Xuân Cường
17 trang 36 0 0 -
51 trang 35 0 0
-
43 trang 34 0 0
-
Bài giảng Tin đại cương: Bài 8 - Vũ Thương Huyền
26 trang 34 0 0 -
Kiến trúc máy tính & hợp ngữ - Chương 4.2
110 trang 33 0 0 -
Bài giảng Lập trình C căn bản: Chương 6 - Phạm Thế Bảo
68 trang 32 0 0 -
Bài giảng Phương pháp lập trình - Chương 4: Mảng
9 trang 30 0 0 -
Kiến trúc máy tính & hợp ngữ - Chương 6
92 trang 29 0 0