21.09.2018, 09:55 [+3 UTC]
в нашей команде: 2 971 чел. | участники онлайн: 4 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.50 (13.09.2018)

Общие новости:
13.04.2018, 10:33

Форум:
18.09.2018, 08:51

Последний вопрос:
20.09.2018, 17:55

Последний ответ:
20.09.2018, 18:34

Последняя рассылка:
20.09.2018, 20:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
22.01.2012, 20:03 »
Даровко Антон Владимирович
Я посмотрел Ваше решение задачи и оценил его на отлично. [вопрос № 185237, ответ № 269661]
07.08.2011, 05:39 »
Петровский Г И
Спасибо за подробный ответ.Процессор возьму под разгон без боксового кулера и cooler master vortex plus.Плату Gigabyte. [вопрос № 183839, ответ № 268003]
25.05.2010, 22:00 »
EMV
Спасибо, программа конвертирует AVC в AVI. [вопрос № 178628, ответ № 261645]

РАЗДЕЛ • Assembler

Создание программ на языке Assembler.

[администратор рассылки: Лысков Игорь Витальевич (Старший модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Модератор
Рейтинг: 332
Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 94
Kdsfofwe21
Статус: 1-й класс
Рейтинг: 49

Перейти к консультации №:
 

Консультация онлайн # 192369
Раздел: • Assembler
Автор вопроса: cupoma58 (Посетитель)
Отправлена: 12.01.2018, 11:09
Поступило ответов: 1

Уважаемые эксперты! Пожалуйста, ответьте на вопрос:
Привет. Работаю на Емашине(ИнтелАтом). Не так давно заинтересовался ассемблером. Скачал Кнута, Калашникова и masm32. Что-бы не заводить лишнюю переменную, добавил link16.exe и afdpro.exe в masm32/bin. Работаю с батами:
для EXE:

@echo off
ml /c /coff 00.asm
link /subsystem:console 00.obj
::00.exe
::afdpro 00.exe
pause

и для COM:
@echo off
ml /c /AT 00.asm
link16 /TINY 00.obj,00.com;
pause
::00.com
::afdpro 00.com 

Как патриот - начал со второго...но на видеобуфере завис. Из 3-го примера:
;вывод символа на экран-прямое отображение в видеобуфер
CSEG segment  ;CSEG-название сегмента
assume cs:CSEG, ds:CSEG, es:CSEG, ss:CSEG
org 100h      ;код проги расположен со смещением 100h(com-проги)
proga:
   mov ax,0B800h ;сегмент дисплея в текстовом режиме!
   mov es,ax   ;загружаем его в сегментный дисплей
   mov di,0    ;смещение относительно предыдущего сегмента
   
   mov ah,31  ;заносим атрибут символа:ярко-белый на синем фоне
   mov al,1   ;код ASCII-символа(01-рожица)
   mov es:[di],ax ;*заносим их по адресу 0В800:0000(левый верхний угол дисплея)
   
   mov ah,10h  ;10h - функция ожидания нажатия любой клавиши, прерывания 16h
   int 16h
   
   int 20h ;выход в DOS-прога вернётся на место (~exit) 
    
CSEG ends
end proga
;*загружаем не в регистр, а по адресу [0B800:0000]

Ничего не отображается кроме мигающего курсора. Может в Атоме ASCII другая?

Вопрос перенесен из раздела • Математика
--------

• Отредактировал: Гордиенко Андрей Владимирович (Модератор)
• Дата редактирования: 12.01.2018, 11:13

Состояние: Консультация закрыта

Ответ # 276027 от Лысков Игорь Витальевич (Старший модератор)

Здравствуйте, cupoma58!
Чтобы работала прямая запись в видеобуфер, необходимо явно проиницировать текстовый видеорежим.
Т.е. необходимо в начале добавить строки:

Код (Assembler) :: выделить код
	mov	ax,0003h
	int	10h
Раньше, под чистым ДОС-ом все работало, а вот при эмуляции под нынешними ОС Windows есть нюансы smile


Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 12.01.2018, 11:40

5
нет комментария
-----
Дата оценки: 08.02.2018, 12:39

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 192369

Гордиенко Андрей Владимирович
Модератор

ID: 17387

# 1

= общий = | 12.01.2018, 11:14 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Экспертам раздела:

Обратите, пожалуйста, внимание на данную консультацию, перенесённую из другого раздела.

=====
Facta loquuntur.

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.14783 сек.

© 2001-2018, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.50 от 13.09.2018