Программирование на Ассемблере под DOS


Hello, world! или Изврат-2


Мы уже писали программу "Hello, World!" с использованием 13-й функции 10 прерывания. Посмотрите на ее исходник...
  Сегодня мы слабаем еще одно "Hello, World!", но уже несолько другим способом. Какой из этих способов более дZенский - решайте сами ;).
  Для начала мы создадим блок данных после всех-всех-всех процедур но между директивами начала и конца сегмента.
  Блок данных будет выглядеть следующим образом: abc db 'Hello, World-2$'

  Вы должны спросить "А почему мы хотим напечатать Hello, World-2, а в конце строки у нас 2$? $ - это что? World за баксы продавать, штоль?? Да ну вас...
  Эту строчку мы будем выводить на монитор особым дZенским способом - посимвольно. То есть: возьмем первый символ из блока данных, выведем, потом второй и т. д. аналогично пока не встретим символ '$'.

  Опять-таки, это если в двух словах. Но ведь наверняка вам этого покажется мало ;).

  "Щемить" символы мы будем двумя способами. (Тут я хотел было написать "неправильным" и "правильным", но потом передумал и решил обозвать их "первым" и "вторым").
  В алгоритм первого способа вы и сами без труда въедете (я только "рабочую часть" приведу, пуши с попами сами проставляйте): ... next: mov dl,[BX] cmp dl,'$' je finish call write_char inc BX jmp next finish: ...

 




Начало  Назад  Вперед



Книжный магазин