читать из ячеек матрицы, которые существуют в другом сегменте в сборке - PullRequest
0 голосов
/ 13 июня 2019

допустим, у меня есть сегмент в es и смещение адреса матрицы в bx (другими словами => es: bx = (long int ** matrix)), как я могу получить число в матрице [0 ] [0] например

Я использую . Модель большая

Я пытался сделать это:

mov eax,dword ptr es:bx[0][0] 

и это:

mov bx,dword ptr es:bx[0] 

mov eax, dword ptr es:bx[0]

1 Ответ

0 голосов
/ 13 июня 2019

Это решает проблему

 mov bx,word ptr [bp+10]  ; bx = offset matrix
 mov es,word ptr [bp+12]  ; es = segment matrix
 add bx,row               ; get to the right row
 mov si,word ptr es:bx[0] ; si = offset of matrix[row]
 mov es,word ptr es:bx[2] ; es = segment of matrix[row]
 add si,col               ; to get to the right cell
 add eax,dword ptr [es:si] 

row = номер строки * 4
col = номер столбца * 4

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...