Реферат: Разработка программы на Ассемблере

      .CODE

      ....

      cld

      lea si,msg;в SI адрес источника

      mov ax,0b800h;начало сегмента видеопамяти

      mov es,ax;поместить в дополнительный сегмент

      lea di,es:(0a0h * 3);4-я строка сверху

      mov cx,LEN;LEN - количество выводимых символов

rp:   movsb;переслать символ в текущую позицию экрана

      inc di;перешагнуть через позицию атрибута

      loop rp;повторить до исчерпания (CX)

      ....;строка 'Всё O.K.' будет выведена в 4-ю строку

          ;дисплея сверху.

3. REP ;префикс повторения команды. Например окончание предыдущей программы может быть записано в виде:

 

      ....

      mov cx,LEN;несмотря на то,что массив'Всё O.K.'будет

rep   movsb;скопирован в область памяти B800:(A0 * 3), на

      ;экран дисплея будет выведено: ВёOK. Почему?

4. CMPSB; осуществляет сравнение байта строки источника c адресом (SI) и байта строки приемника с адресом (DI): то есть производит вычитание ((SI)) - ((DI)). Не путать с командой CMP DST, SRC в которой наоборот, производится вычитание источника из приемника. Команда CMPSB неявно уменьшает (CX) на 1 и увеличивает (SI) и (DI) на 1, если (DF) = 0.

5. REPZ или REPE; префикс повторения. Выполнение команды завершается, когда (CX) = 0 или (ZF) = 0.

 

     ....

     .DATA

src  DB 'To be, or not to be'

dst  DB 'To be ,or not to be'

len  = $ - dst;len равно 19

     .CODE

     ....

К-во Просмотров: 494
Бесплатно скачать Реферат: Разработка программы на Ассемблере