Странный массив

Тема в разделе "WASM.BEGINNERS", создана пользователем rubic_, 19 авг 2007.

  1. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    В книге наткнулся на пример, где меня смутила превая трока...
    Разве массив здесь обределяется правильно, я думал нужно использовать dup (?)
    типа: array dw 10000 dup(?)
    а здесь это разве не обычное слово со значением 10000

    ---------------
    ;Сегмент данных
    array dw 10000
    ;Сегмент команд
    mov BX,offset array ;Базовый адрес массива в
    ;базовом регистре
    mov SI, 0 ;Начальное значение индекса
    ;элемента в массиве
    mov АХ, 0 ;Первое число-заполнитель
    mov CX,10000 ;Число шагов в цикле
    fill: mov [BX][SI],AX ;Отправим число в массив
    inc AX ;Инкремент числа-заполнителя
    add SI, 2 ;Смещение в массиве к следующему слову
    loop fill ;На метку fill (CX раз)
     
  2. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    array dw 10000 - переменная размером в слово, равная 10000. Видимо опечатка.
     
  3. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    так получается прога затирает инфу, которая хранится за переменной array?
    10000 бит за переменной стираются..
    просто код собирается без ошибки..
     
  4. JAPH

    JAPH New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2007
    Сообщения:
    124
    Не бит, а байт, и не 10000, а 20000. Учим матчасть :)

    Собирается правильно, потому что команды правильные, а вот что эти команды творят, выясняется при выполнении, и вот тогда...
     
  5. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    а да..эту мат часть я знаю
    просто не внимательно посмотрел и написал..
    все внимание сконцентрировал на этой 1 строке)