Mạng 2chieău

Một phần của tài liệu đề cương bài giảng về hợp ngữ (Trang 100 - 102)

DIV BX OVERFLOW

find the positio nk of the largest element among A[1] A[i] Swap A[i] and A[k] ( uses procedure SWAP )

7.4 Mạng 2chieău

Mạng 2 chieău là moơt mạng cụa moơt mạng , nghĩa là moơt mạng 1 chieău mà các phaăn tử cụa nó là moơt mạng 1 chieău khác . Có theơ hình dung mạng 2 chieău như moơt ma traơn chữ nhaơt . Ví dú mạng B goăm có 3 hàng và 4 coơt ( mạng 3x4) như sau :

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

ROW \ COLUMN 1 2 3 4

1 B[1,1] B[1,2] B[1,3] B[1,4] 2 B[2,1] B[2,2] B[2,3] B[2,4] 2 B[2,1] B[2,2] B[2,3] B[2,4] 3 B[3,1] B[3,2] B[3,3] B[3,4]

Bởi vì boơ nhớ là 1 chieău vì vaơy các phaăn tử cụa mạng 2 chieău phại được lưu trữ tređn boơ nhớ theo kieơu laăn lượt . Có 2 cách được dùng :

• Cách 1 là lưu trữ theo thứ tự dòng : tređn mạng lưu trữ các phaăn tử cụa dòng 1 roăi đên các phaăn tử cụa dòng 2 ...

• Cách 2 là lưu trữ theo thứ tự coơt : tređn mạng lưu trữ các phaăn tử cụa coơt 1 roăi đên các phaăn tử cụa coơt 2...

Giạ sử mạng B chứa 10,20,30,40 tređn dòng 1 chứa 50,60,70,80 tređn dòng 2 chưá 90,100,110,120 tređn dòng 3 Theo traơt tự hàng chúng được lưu trữ như sau :

B DW 10,20,30,40 DW 50,60,70,80 DW 50,60,70,80 DW 90,100,110,120

Theo traơt tự coơt chúng được lưu trữ như sau : B DW 10,50,90

DW 20,60,100 DW 30,70,110 DW 40,80,120

Haău hêt các ngođn ngữ câp cao bieđn dịch mạng 2chieău theo traơt tự dòng . Trong ASM , chúng ta có theơ dùng moơt trong 2 cách :

Nêu các thành phaăn cụa moơt hàng được xử lý laăn lượt thì cách lưu trữ theo traơt tự hàng được dùng . Ngược lái thì dùng cách lưu trữ theo traơt tự coơt .

Xác định moơt phaăn tử tređn mạng 2 chieău :

Giạ sử raỉng mạng A goăm MxN phaăn tử lưu trữ theo traơt tự dòng . Goị S là đoơ lớn cụa moơt phaăn tử : S=1 nêu phaăn tử là byte , S=2 nêu phaăn tử là từ . Đeơ tìm phaăn tử thứ A[i,j] thì caăn tìm : hàng i và tìm phaăn tử thứ j tređn hàng này . Như vaơy phại tiên hành qua 2 bước :

Bước 1: Hàng 1 baĩt đaău tái vị trí A . Vì moêi hàng có N phaăn tử , do đó Hàng 2 baĩt đaău tái A+ NxS .

Hàng 3 baĩt đaău tái A+2xNxS .

Hàng thứ i baĩt đaău tái A+(i-1)xSxN .

Bước 2: Phaăn tử thứ j tređn moơt hàng cách vị trí đaău hàng (j-1)xS byte Từ 2 bước tređn suy ra raỉng trong mạng 2 chieău NxM phaăn tử mà chúng được lưu trữ theo traơt tự hàng thì phaăn tử A[i,j] có địa chư được xác định như sau :

Chương 7 : Mạng và các chê đoơ địa chư 93 Tương tự nêu lưu trữ theo traơt tự coơt thì phaăn tử A[i,j] có địa chư như sau :

A+(i-1)+(j--)xM)xS (2)

Ví dú : Giạ sử A là mạng MxN phaăn tử kieơu từ ( S=2) được lưu trữ theo kieơu traơt tự hàng . Hỏi :

Hàng i baĩt đaău tái địa chư nào ? Coơt j baĩt đaău tái điá chư nào ?

Hai phaăn tử tređn moơt côt cách nhau bao nhieđu bytes Giại :

Hàng i baĩt đaău tái A[i,1] theo cođng thức (1) thì nó có địa chư là : A+(i-1)xNx2 Coơt j baĩt đaău tái A[1,j ] theo cođng thức (1) thì nó có địa chư : A+(j-1)x2 Vì có N coơt neđn 2 phaăn tử tređn cùng moơt coơt cách nhau 2xN byte .

Một phần của tài liệu đề cương bài giảng về hợp ngữ (Trang 100 - 102)