Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаются все вопросы, связанные с программированием на Ассемблере как общего так и конкретного характера.
 
важное примечание
для тех кто считает, что здесь место халявных исполнений курсовых и лабораторных работ.
тут обычно помогают тем, кто сам хоть что-то пытается понять и сделать, но что-то не понимает, что-то не получается...
ведь ассемблер изучают и задачки на нём дают обычно не менеджерам по продажам и даже не всем физ.-мат. специальностям
вы сами избрали этот путь? вот и идите по нему сами, ножками... с ручками и с головой...
 
короче, тут не сборище придурков-альтруистов, которым нечего делать и они ждут-не дождутся когда вы их попросите
что-то сделать _за_ вас
если позарез надо и вы даже готовы заплатить, тогда вам сюда
удачи
 
некоторые ресурсы
http://www.wasm.ru/ Самый популярный русскоязычный ресурс. https://wasm.in/
Ассемблер - книги (ASM, Assembler)
 
Просьба все большие листинги оформлять тегом more.
 
если вам вдруг не отвечают или ответ вас не устраивает
и вообще полезно прочитать всем спрашивающим

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:42 29-11-2006 | Исправлено: akaGM, 17:44 11-06-2020
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
blaro
всосал че ты этим хотел сделать - сохранить значение регистра. посматри если скачал эммулятор пример print

Цитата:
 
mov     cs:temp1, si  ; protect si register.
ret
; variable to store original
; value of si register.
temp1  dw  ?    
 

 
не сталкивался с такой конструкцией, и не понимаю зачем это так

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 03:01 27-06-2010 | Исправлено: bomzzz, 03:06 27-06-2010
blaro



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
bomzzz

Цитата:
всосал че ты этим хотел сделать - сохранить значение регистра.

Нет. Я хотел передать строку в сегмент памяти на видеокарте, который начинается с 0B800H. В тасме это легко сделать, а вот как в фасме сделать еще не знаю. Но я узнаю.

Всего записей: 311 | Зарегистр. 29-01-2006 | Отправлено: 11:06 27-06-2010 | Исправлено: blaro, 11:07 27-06-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
хм. совсем не так ета делаеца
 
Добавлено:
вот я на турбо-бейсике делал для 12 режима экрана. на ассемблер так и не стал переписывать. но тут тотже принцип прямое обращение к портам видео карты, использование прерываний, и прямое заполнение видео памяти. удобно сначала на турбо бейсике написать, чтоб алгоритм проверить, а потом на ассемблер переделкать
Подробнее...
http://turbo-basic.narod.ru/TBDEMO-256-H101.rar  думаю если порыться можно и на ассемблере найти пример с заполнением видео памяти

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 12:16 27-06-2010 | Исправлено: bomzzz, 12:29 27-06-2010
blaro



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
bomzzz

Цитата:
совсем не так ета делаеца

Почему не так? Я недавно такую прогу написал. Скомпилил по всем правилам и прогнал в Турбо дебагере. Все сработало.

Всего записей: 311 | Зарегистр. 29-01-2006 | Отправлено: 13:51 27-06-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну а почему тогда ошибка?

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 14:01 27-06-2010
blaro



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Не знаю. Я так писал:
Подробнее...
или так:Подробнее...

Всего записей: 311 | Зарегистр. 29-01-2006 | Отправлено: 14:07 27-06-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
где ты такой синтаксис нашел mov a:b,c чета роюсь роюсь не могу найти вообще.

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 15:07 27-06-2010
blaro



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ты имеешь в виду mov es:[di],al? Так это обычный интеловский синтакс с 86 года.

Всего записей: 311 | Зарегистр. 29-01-2006 | Отправлено: 09:43 28-06-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вот знал и чета вылетело из головы, и нагуглить не могу. как вернуть код ошибки в 16 битном приложении?
 

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 19:38 14-07-2010 | Исправлено: bomzzz, 20:51 14-07-2010
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
Вернуть откуда и куда? Если из программы в DOS, то функция 4Ch прерывания 21h, код возврата - в al.

----------
0 программистов ругал сердитый шеф
Потом уволил одного, и стало их FF

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 21:07 14-07-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ага, спс огромное.  как только в гугле не набирал не пришел никуда

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 00:52 15-07-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
люди. а чем драйвер от обычной программы отличается? он компилируется как по особому?

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 21:20 18-07-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я уже с ума схожу - как нарисовать в текстовом режиме курсор мыши - чтоб если тама букавка была - она в белом квадратике черным рисовалась. на эммуляторе делаю - получается, на железе и виртуалке - не работает никак. а мышиный драйвер на виртуалке курсор правильно рисует - то есть как то сделать можно.
 
уже все варианты перебрал и прямой записью в видео память и через видео сервис. и пытался символы друг на друга накладывать - ничего не получается.

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 12:09 19-07-2010
Prober

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz

Цитата:
как нарисовать в текстовом режиме курсор мыши

Давно с ДОСом расстался, но краем мозга еще помню, что там в текстовых режимах цвет символа и цвет фона задаются независимо в каждой позиции. Может, для позиции с курсором эти цвета просто обменять друг с другом?

Всего записей: 681 | Зарегистр. 01-11-2006 | Отправлено: 13:49 19-07-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ни понил.  
в памяти идет символ сначала потом его цвет. на эммуляторе если левый крайинй бит выставить цвета - как раз получается XOR, а на виртуалке и железе от этого только мигать начинает. но опыт не совсем чистый эммулятор после отработки программы вообще останавливается. может если бы он работал там тоже мигало

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 14:24 19-07-2010
Prober

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот, нашел раритетную книгу Фроловых (когда-то ее, наверное, даже читал!). Цитата из главы 4.1:

Цитата:
Стандартные текстовые режимы работы видеоадаптеров позволяют вывести на экран 25 строк по 40 или 80 символов. Для кодирования каждого знакоместа экрана (символа) используются два байта. Первый из них содержит ASCII код отображаемого символа, а второй - атрибуты символа. Коды символов имеют четные адреса, а их атрибуты - нечетные.  
 
Атрибуты определяют цвет символа и цвет фона. Благодаря такому режиму хранения информации достигается значительная экономия памяти по сравнению с графическим режимом. Формат байта атрибутов символа приведен ниже:
 
D2-D0 Цвет символа    
D3 Интенсивность символа    
D6-D4 Цвет фона символа    
D7 Мигание фона символа или интенсивность фона

Всего записей: 681 | Зарегистр. 01-11-2006 | Отправлено: 14:55 19-07-2010
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz

Цитата:
как нарисовать в текстовом режиме курсор мыши

использовать 0аh функу 33-его прерывания...
AX    000aH
BX    pointer type:  0=software ptr; 1=hardware ptr
CX    AND mask (if BX=0)  or  cursor start line (if BX=1)
DX    XOR mask (if BX=0)  or  cursor end line (if BX=1)

Всего записей: 24121 | Зарегистр. 06-12-2002 | Отправлено: 15:07 19-07-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
ну а сам драйвер как рисует?
 
Prober
спс. читаю, понимаю

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 16:44 19-07-2010
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
а на фиг мне эти схоластические знания?
дизассемблер тебе в помощь...

Всего записей: 24121 | Зарегистр. 06-12-2002 | Отправлено: 17:13 19-07-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я тебе их и не предлагаю. но для того, чтоб нарисовать квадратик без потери буквы, расковыривать драйвер - сильно

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 18:05 19-07-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru