Вывести полученную строку 3 раза разным цветом - Assembler

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста, а то с Assembler на вы Нужно ввести строку, добавить в конец строки *****, вывести полученную строку 3 раза разным цветом в разных частях экрана.
.model small
.data
str db 0ah, 0dh, 11 dup ('$')
message db 'Symbol: $'
.stack 256h
.code
main:
mov ax,@data
mov ds,ax
mov cl,0
lea si,str+2
lea dx,message
mov ah,09h
int 21h
mov ah,01
m1:int 21h
mov [si],al
inc si
inc cl
cmp cl,10
jne m1
lea dx,str
mov ah,09h
int 21h
mov ah,4ch
int 21h
end main

Решение задачи: «Вывести полученную строку 3 раза разным цветом»

textual
Листинг программы
        mov     ax,     1301h   ;функция вывода строки
        mov     bl, Color   ;bl - цвет текста, сразу меняем
        mov     bh,     00h     ;страница видеопамяти
        mov     dl,     dl      ;позиция X экрана (не меняем - используем текущую)
        mov     dh,     dh      ;позиция Y экрана (не меняем - используем текущую)
        mov     cx,     StrLen  ;длина строки
        lea     bp,     [String];в es:bp помещаем адрес начала строки
        push ds
        pop es
        int     10h

Объяснение кода листинга программы

Вывод:

  1. В начале кода подключается библиотека int 10h, которая отвечает за вывод текстовой информации на экран.
  2. Далее, с помощью mov, передаются необходимые параметры для функции вывода строки: — ax = 1301h — функция вывода строки — bl = Color — цвет текста — bh = 00h — страница видеопамяти — dl = dl — позиция X экрана (не меняем — используем текущую) — dh = dh — позиция Y экрана (не меняем — используем текущую) — cx = StrLen — длина строки — bp = [String] — в es:bp помещается адрес начала строки
  3. После этого, с помощью push ds и pop es, меняется сегмент данных на сегмент строки.
  4. В конце кода происходит вызов функции вывода строки с помощью int 10h.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы