Шаг 39 - Доступ к элементу массива

Итак, нам нужно научиться менять элемент массива. Для этого можно использовать операцию получения индекса в массиве. Изменим немного предыдущий пример.

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 помещаем символ окончания строки и это строку выводим. Смотрим результат.

39_1.gif (1037 b)

Обратите внимание на то, что символов 15 так как в 15 позицию поместился символ окончания строки.

39_2.gif (5102 b)

В отладчике Вы можете увидеть новую команду byte ptr, то есть указатель на байт по адресу куда будет занесены данные. И еще элементов у нас 16, а последний по смещению 15, так как первый по смещению 0. Сразу понятно, почему при работе с массивом во многих языках первый индекс 0. Это просто смещение от начала данных.


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 02.01.2002