Реферат: Разработка программы на Ассемблере
.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
....