Lệnh xử lý chuỗi

Một phần của tài liệu Tài liệu GIÁO TRÌNH LẬP TRÌNH HỆ THỐNG docx (Trang 84 - 85)

Khái niệm chuỗi trong máy tính không giới hạn ở chuỗi ký tự, mà là khái niệm mãng gồm nhiều phần tử, kiểu dữ liệu của phần tử là byte hay word. Các phần tử có thể chứa ký tự hay số liệu. Do đó, các lệnh thao tác trên chuỗi cho phép thao tác trên các mãng hay bất kỳ vùng đệm dữ liệu nào.

Chuỗi lưu trữ trong bộ nhớ có địa chỉ đầu và địa chỉ cuối chính là địa chỉ của phần tửđầu tiên và phần tử cuối trong chuỗi. Như vậy, thông số của 1 chuỗi trong bộ

nhớ bao gồm: Địa chỉđầu, địa chỉ cuối, số phần tử của chuỗi phải thỏa mãn công thức sau:

(Số byte của phần tử x số phần tử) = ĐC cuối - ĐC đầu + 1

Trong đó: (Số byte của phần tử x số phần tử) = Số byte của chuỗi

Hình 7.1 mô tả chuỗi gồm 14 phần tử, mỗi phần tử là 1 byte được lưu trữ trong bộ nhớ bắt đầu tại địa chỉ 12h. Đầu chuỗi ↓ 14 phần tử (14 byte nhớ) Cuối chuỗ↓i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 12h 13h 14h 15h 16h 17h 18h 19h 1Ah 1Bh 1Ch 1Dh 1Eh 1Fh Hình 7.1: Chuỗi trong bộ nhớ

Intel-8086 cung cấp nhiều lệnh xử lý chuỗi để thực hiện các thao tác như: chuyển chuỗi, so sánh chuỗi, dò tìm trong chuỗi …. Khi sử dụng những lệnh này thì việc viết chương trình sẽ ngắn hơn và thi hành nhanh hơn là sử dụng các lệnh MOV, CMP … trong các thao tác chuỗi. Các lệnh xử lý chuỗi gồm 3 nhóm trong bảng 7.1.

Các lệnh xử lý chuỗi không có toán hạng trên dòng lệnh, nên việc sử dụng các toán hạng mặc nhiên phải tuân thủ qui định của từng lệnh.

LỆNH Ý NGHĨA

Nhóm di chuyn chui

MOVSB MOVSW

Di chuyển chuỗi từng byte (Move String Byte) Di chuyển chuỗi từng word (Move String Word) LODSB

LODSW

Nạp chuỗi từng byte (Load String Byte) Nạp chuỗi từng word (Load String Word) STOSB

STOSW Ghi chuGhi chuỗỗi ti từừng byte (Store String Byte) ng word (Store String Word)

Nhóm so sánh chui

CMPSB

CMPSW So sánh chuSo sánh chuỗỗi ti từừng byte (Compare String Byte) ng word (Compare String Word)

Nhóm dò tìm giá tr trong chui

SCASB

SCASW Do tìm trong chuDo tìm trong chuỗỗi ti từừng byte (Scan String Byte) ng word (Scan String Word)

Bảng 7.1: Lệnh xử lý chuỗi

Một phần của tài liệu Tài liệu GIÁO TRÌNH LẬP TRÌNH HỆ THỐNG docx (Trang 84 - 85)