Итак, нам нужно научиться менять элемент массива. Для этого можно использовать операцию получения индекса в массиве. Изменим немного предыдущий пример.
MODEL SMALL STACK 256 DATASEG Data1 DB 10h DUP (38h) CODESEG Start: mov ax,@data ; установка в ds адpеса mov ds,ax ; сегмента данных mov dx,offset Data1 ; указатель на массив символов mov Data1[15],'$' ; поместить элемент в массив mov dx,offset Data1 mov ah,09h int 21h Exit: mov ah,04Ch ; функция DOS выхода из программы mov al,0h ; код возврата int 21h ; Вызов DOS остановка программы End Start
По адресу Data1 со смещением 9h помещаем символ окончания строки и это строку выводим. Смотрим результат.
Обратите внимание на то, что символов 15 так как в 15 позицию поместился символ окончания строки.
В отладчике Вы можете увидеть новую команду byte ptr, то есть указатель на байт по адресу куда будет занесены данные. И еще элементов у нас 16, а последний по смещению 15, так как первый по смещению 0. Сразу понятно, почему при работе с массивом во многих языках первый индекс 0. Это просто смещение от начала данных.