Mạng moơt chieău

Một phần của tài liệu Giáo trình hợp ngữ (Trang 89 - 90)

DIV BX OVERFLOW

7.1Mạng moơt chieău

Toán tử giạ INCLUDE

7.1Mạng moơt chieău

Mạng moơt chieău là moơt danh sách các phaăn tử cùng lối và có traơt tự . Có traơt tự có nghĩa là có phaăn tử thứ nhât , phaăn tử thứ hai , phaăn tử thứ ba ... Trong toán hĩc , nêu A là moơt mạng thì các phaăn tử cụa mạng được định nghĩa làA[1}, A[2] , A[3} ... Hình vẽ là dưới đađy là mạng A có 6 phaăn tử .

Index 1 A[1] 2 A[2] 3 A[3] 4 A[4] 5 A[5] 6 A[6]

Trong chương 1 chúng ta đã dùng toán tử giạ DB và DW đeơ khai báo mạng byte và mạng từ . Ví dú , moơt chuoơi 5 ký tự có teđn là MSG

MSG DB ‘abcde’

hoaịc moơt mạng từ W goăm 6 sô nguyeđn mà giá trị ban đađù cụa chúng là 10,20,30,40.50 và 60

W DW 10,20,30,40,50,60

Địa chư cụa biên mạng gĩi là địa chư cơ sở cụa mạng ( base address of the array) . Trong mạng W thì địa chư cơ sở là 10 .Nêu địa chư offset cụa W là 0200h thì trong boơ nhớ mạng 6 phaăn tử nói tređn sẽ như sau :

Offset address Symbolic address Decimal content

0200h W 10 0202h W+2h 20 0204h W+4h 30 0206h W+6h 40 0208h W+8h 50 020Ah W+Ah 60

Chương 7 : Mạng và các chê đoơ địa chư 81

Toán tử DUP ( Duplicate)

Có theơ định nghĩa moơt mạng mà các phaăn tử cụa nó có cùng moơt giá trị ban đaău baỉng phép DUP như sau :

repeat_count DUP ( value)

laịp lái moơt sô ( VALUE) n laăn ( n = repeat_count) Ví dú :

GAMMA DW 100 DUP (0) ; táo moơt mạng 100 từ mà giá trị ban đađù là 0 .

DELTA DB 212 DUP (?) ; táo moơt mạng 212 byte giá trị chưa xác định

DUP có theơ loăng nhau , ví dú :

LINE DB 5,4,3 DUP (2, 3 DUP (0) ,1) tương đương với :

LINE DB 5,4,2,0,0,0,1,2,0,0,0,1,2,0,0,0,1

Vị trí các phaăn tử cụa moơt mạng

Địa chư cụa moơt phaăn tử cụa mạng có theơ được xác định baỉng cách coơng moơt haỉng sô với địa chư cơ sở . Giạ sử A là moơt mạng và S chư ra sô byte cụa moơt phaăn tử cụa mạng ( S=1 đôi với mạng byte và S=2 đôi với mạng từ ) . Vị trí cụa các phaăn tử cụa mạng A có theơ tính như sau :

Position Location 1 A 2 A+1xS 3 A+2xS . . . . . . N A+(N-1)xS

Ví dú : Trao đoơi phaăn tử thứ 10 và thứ 25 cụa mạng từ W . Phaăn tử thứ 10 là W[10] có địa chư là W+9x2=W+18

Phaăn tử thứ 25 là W[25] có địa chư là W+24x2=W+48 Vì vaơy có theơ trao đoơi chúng như sau :

MOV AX,W+18 ; AX = W[10] XCHG W+48,AX ; AX= W[25] MOV W+18, AX ; complete exchange

Một phần của tài liệu Giáo trình hợp ngữ (Trang 89 - 90)