Задать значение элементов в массиве - Assembler
Формулировка задачи:
Задание : "Задать значение элементов в массиве".
Программа,вроде..простая. Но т.к. я дуб. Я не понял даже условия.Не понял, что от меня требуется.
В ассемблере,типо. Когда инициализируешь( если так можно выразиться) массив
(я ведь создал сейчас его?)
это не значения элементов, это лишь адрес, что-то вроде выделенной памяти? Я прочитал пару статей и выдержек из учебника, но ничерта не понял.
mas dw 0, 1
Решение задачи: «Задать значение элементов в массиве»
textual
Листинг программы
int main()
{
const int n = 6;
int A[n];
{
_asm {
mov[A], 1 //непосредственная адрессация
mov[A + 4], 2
mov[A + 8], 3
mov[A + 12], 4
mov[A + 16], 5
mov[A + 20], 6
mov ebx, [A]
mov a, ebx //регистровая адресация
mov eax, a //в регистр eax прямая адресация переменной a
mov[A], eax
mov eax, 2//регистровая
mov[A + 4], eax
mov eax, [A + 8]//косвенная регистровая
mov ebx, eax
mov[A + 8], ebx
mov[ebx + 1], [A + 12] // косвенная со смещением
mov[eax + 1], [ebx + 1]
mov[A + 12], [ebx + 1]
mov[ebx + 1], [A + 12] //косвенная регистровая со смещением
mov[eax + 1], [ebx+1]
mov[A+12],[ebx+1]
mov esi,eax //косвенная регистровая со смещением
mov[ebx+esi+1],[A+16]
mov[A+16],[ebx+esi+1]