Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Ассемблер? Это просто! Учимся программировать


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты данной рассылки

Boriss
Статус: Академик
Рейтинг: 2552
∙ повысить рейтинг »
Абаянцев Юрий Леонидович aka Ayl
Статус: Профессионал
Рейтинг: 2063
∙ повысить рейтинг »
vladisslav
Статус: 8-й класс
Рейтинг: 1327
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Assembler (Ассемблер)

Номер выпуска:1390
Дата выхода:02.12.2010, 22:00
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:222 / 66
Вопросов / ответов:1 / 1

Вопрос № 180974: Здравствуйте, уважаемые эксперты! Прошу Вас скоректировать программный код на ассемблере! в 1ой части нужно написать Вывода горизонтальной линии с помощью ф.10 INT 10h; это кода нет( а вот во 2ой части (код присутствует) нужно: используя гра...



Вопрос № 180974:

Здравствуйте, уважаемые эксперты! Прошу Вас скоректировать программный код на ассемблере!
в 1ой части нужно написать Вывода горизонтальной линии с помощью ф.10 INT 10h;
это кода нет(
а вот во 2ой части (код присутствует) нужно: используя графические режимы EGA
и SVGA организовать:
1 – Вывод вертикальной прямой зеленого цвета
2 – Вывод прямой под 45% синего цвета в режиме 10h.
код в приложении!
Заранее огромное спасибо!

Отправлен: 27.11.2010, 21:40
Вопрос задал: Андреев Дмитрий Фёдорович (Посетитель)
Всего ответов: 1
Страница вопроса »


Отвечает Лысков Игорь Витальевич (Старший модератор) :
Здравствуйте, Андреев Дмитрий Фёдорович!
Рисуем:
1) горизонтальную линию псевдографикой в текстовом режиме;
2) вертикальную линию в VESA-режиме101h 640х480х256
(предложенный Вами режим 103h (800x600x256) у меня не работает, полагаю, не хватает видеопамяти)
3) наклонную линию в EGA-режим 640x350x16
4) Ваш кусочек тоже оставил, только поменял режим 103h на 101h

Код:

.model tiny
.code
.startup

mov ax, 0003h ;текстовый 25х80, очистим экран
int 10h
mov ah, 2
mov dx, 0c00h ;установим курсор в начало 12 строки (середина экрана)
mov bh, 0
int 10h
mov cx, 2000h ;спрячем курсор
mov ah, 1
int 10h

mov ax, 0ac4h ;выводим псевдографикой код '-' текущим цветом (белым)
mov cx, 80 ;длиной 80 знаков
int 10h

mov ah, 8 ;ждем нажатия на клавишу
int 21h

mov ax, 4f02h ;установим VESA-режим
mov bx, 101h ;640х480х256
int 10h
;рисуем вертикальную линию
xor dx, dx ;строка (сверху экрана)
mov cx, 320 ;колонка (середина по горизонтали)
mov bh, 0 ;0 страница
line_vert_loop:
mov ax, 0c0ah ;al - цвет (зеленый)
int 10h
inc dx ;на следующую строку
cmp dx, 480 ;до самого низа
jb line_vert_loop

mov ah, 8 ;ждем нажатия на клавишу
int 21h

mov ax, 0010h ;EGA 640x350x16
int 10h

xor dx, dx ;левый верхний угол
xor cx, cx
mov bh, 0 ;страница 0
line_nakl_loop:
mov ax, 0c09h ;al - цвет (голубой)
int 10h
inc cx ;на следующую колонку
inc dx ;на сле дующую строку
cmp cx, 350 ;до конца строки
jb line_nakl_loop

mov ah, 8 ;ждем нажатия на клавишу
int 21h

mov AH,4Fh
mov AL,02h
mov BX,101h
int 10h
mov AH,10h
mov BX,150
mov DH, 0
mov CH, 63
mov CL, 0
int 10h
mov SI, 0
mov CX,640
line: push CX
mov AH,0Ch
mov AL,150
mov BH, 0
mov CX,SI
mov DX,240
int 10h
inc SI
pop CX
loop line

mov ah, 8 ;ждем нажатия на клавишу
int 21h

.exit 0

end

-----
Люби своего ближнего, как самого себя

Ответ отправил: Лысков Игорь Витальевич (Старший модератор)
Ответ отправлен: 02.12.2010, 02:11
Номер ответа: 264479
Украина, Кировоград
Тел.: +380957525051
ICQ # 234137952
Mail.ru-агент: igorlyskov@mail.ru

Оценка ответа: 5
Комментарий к оценке:
Огромное спасибо за то что отозвались и помогли!!!

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 264479 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:


  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFPRO.RU, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.24 от 30.11.2010

    В избранное