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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
rain87



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

Цитата:
кстати, int20 совершенно точно строго для выгрузки кома и ни-ни для MZ...
разве? вполне спокойно по инт 20 выходит и из ехе
 
по крайней мере, если правильно написать ехе - т.е. в начале пуш в стек сегмента ПСП и 0, в конце - дальний рет, то этот рет перейдёт в начало ПСП, где записано инт 20. и ехе вполне благополучно завершается и выгружается из памяти
 
за линковкой конечно надо следить

Всего записей: 1744 | Зарегистр. 21-06-2006 | Отправлено: 23:49 15-06-2007
Qraizer



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
int 20h и int 21h fn 0h расчитывают, что CS указывает на PSP. Для COM-формата это как правило всегда выполняется. Для EXE - нужно специально городить в начале что-то типа
Код:
push ds ; ds и es в начале DOSом ставится в PSP
push 0 ; или xor ax,ax / push ax
и retf в конце. Тогда управление передаётся в начало PSP, где стоит int 20h. То же касается и int 27h, но кроме этого - объём оставляемого в памяти резидента указывается в dx в байтах. Значит, резиденты >64К отдыхают.
int 21h fn 4Ch и int 21h fn 31h отличаются в выгодную сторону тем, что CS не обязан указывать на PSP, в al указывается "код возврата", а объём резидента в dx (для fn 31h) - в параграфах. Собственно в этом и есть отличия.

----------
Одни с годами умнеют, другие становятся старше.

Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 16:20 16-06-2007
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
гы
 
COM по крайней мере на эти самые 100h байт меньше MZ/NE/PE как дисковый файл...
ау! эпоха 360Кб-ных пятидюймовок...
 
все уже давным-давно привыкли к flat-модели, дa?
вот и ком был своего рода флатом размером 64k со своими cs=ds=es, -- пустячок, но одной маленькой головной болью, связанной с сегментацией, меньше...
 
кстати, вся демо-сцена считает очень даже хорошим тоном свои пускачи делать <64,  
demo.com размером 65536 без единого нопа естественно -- высший пилотаж...
 
ага...
вот ещё наша старая дискуссия сохранилась и мой пост на эту тему там:
 

Цитата:
 
есть ещё так называемая "сцена" или "demo-scene"...
не игрушки, конечно, но всё-таки...
кто не знает, может посмотреть, вот, например, образцы:
 
http://www.crys.ras.ru/gx/tmp/fr-08.zip
http://www.crys.ras.ru/gx/tmp/fr-030_candytron_party.zip
 
условием было влезть в один "сегмент", т.е. 64к...
особый шик -- ровно  65536 байт
некоторые на асме...
 
а это конкурсный прикол на 65536 байт:
http://www.crys.ras.ru/gx/tmp/in64.eqx-king.rar
 
архивы маленькие ~64к, качайте смело...
кого заинтересует, инфа/ссылки в зипах...  
 

 
------------------
для тех, кто не в теме и для кого это "полный ацтой"...
 
тут дело не в качестве клипа или в его сюжете, вернее, эти показатели здесь вторичны...
это как раз "64k"-конкурс, правда с разрешением использовать пакеры...
причём, не просто 64к-клип, а клип+его проигрыватель=64к, т.е. полный автоном...
 
------------------
заранее извиняюсь за повтор,
а перед Qraizer персонально, как перед участником той старой темы...
 

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 19:07 16-06-2007 | Исправлено: akaGM, 17:27 17-06-2007
rain87



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
akaGM
спасибо что натолкнул на тему, она как-то мимо меня прошла
Qraizer
всё чётко и добавить нечего

Всего записей: 1744 | Зарегистр. 21-06-2006 | Отправлено: 21:02 16-06-2007
bornbill



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ пример может есть у кого пример настройки прав доступа к веткам реестра ессено на сабже ..заранее благодарен..

Всего записей: 1440 | Зарегистр. 02-04-2004 | Отправлено: 17:49 17-06-2007
5h5t

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди, помогите пожалуйста. Студент заочник, в ASM'е - ни_в_зуб_ногой.
Задача:
Выводить на экран разрешенные символы. Если вводится сочетание клавиш или упраляющие коды, то выводить текст, например, "F1", "Alt+B", "Ctrl+C", "ESC", "PgUp". На запрещенные символы предусмотреть реакцию (текст или звук и т.п.). Разрешенные символы: Alt+F1 ... Alt+F12.
Подойдет самый примитив, лишь бы работало... Заранее спасибо

Всего записей: 2 | Зарегистр. 18-06-2007 | Отправлено: 02:29 18-06-2007
Qraizer



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Так же как на любом другом языке. RegOpenKeyEx(), Get(Set)SecurityInfo(), AddAce(), итп.

----------
Одни с годами умнеют, другие становятся старше.

Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 13:49 18-06-2007
5h5t

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А в коде можно?

Всего записей: 2 | Зарегистр. 18-06-2007 | Отправлено: 18:30 18-06-2007
SERGE_BLIZNUK

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
5h5t
это Qraizer не вам ответил, а bornbill, который спрашивал, пример настройки прав доступа к веткам реестра ессено на сабже  

Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 11:31 19-06-2007
Qraizer



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
5h5t
SERGE_BLIZNUK
Ага. Звиняюсь, не указал обращение в начале поста.

----------
Одни с годами умнеют, другие становятся старше.

Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 13:49 19-06-2007 | Исправлено: Qraizer, 13:50 19-06-2007
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
5h5t
Тебе могут помочь с этим исходники TVision от Borland Pascal 7.0
Правда искать его надо на старых дисках. Файл который рулит называется Drivers.pas
Вообще по идее можно на каждую комбинацию забить строку, но это как то не интересно. Существуют пределы в которых можно понять какая комбинация нажата.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 10:46 25-06-2007
vitalya2903

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

Всего записей: 7 | Зарегистр. 10-04-2007 | Отправлено: 15:21 11-07-2007
SERGE_BLIZNUK

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

Цитата:
код резидентной программы, которая бы считывала все скан-коды нажатых клавиш и записывала их в файл.  

 
вот древнейшая программка, по перехвату прерывания 09 прерывания
исходник
 
писалось ОЧЕНЬ ОЧЕНЬ много лет назад, поэтому прошу сильно не критиковать и вопросы не задавать...

Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 17:46 11-07-2007
Nexandr



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
помогите пожалуста с решением задачи. Язык выбрал асм потому что я хоть в нем чуть чуть понимаю.  
Описание:
Программа должна:
1. Прочитать содержимое файла в массив
2. Обработать массив r[i] = r[i] (тут значок выглядящий как кружок с плюсом внутри) 32
3. Записать массив в файл.
Пожалуста листинг с комментариями. Буду вечно благодарен

Всего записей: 9 | Зарегистр. 03-09-2007 | Отправлено: 13:24 11-09-2007
rain87



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Nexandr
обязательно на асме? на любом другом языке в несколько строчек это сделать, на асме - куча гемора

----------
матрица - это система. она и есть наш враг
everyone's first vi session. ^C^C^X^X^X^XquitqQ!qdammit[esc]qwertyuiopasdfghjkl;:xwhat

Всего записей: 1744 | Зарегистр. 21-06-2006 | Отправлено: 18:12 11-09-2007
Nexandr



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не обязательно на асме просто мне он понятней. =) Тогда C или Vb Если запрещенно в этой теме писать на других языках тогда в личку Спасибо

Всего записей: 9 | Зарегистр. 03-09-2007 | Отправлено: 19:21 11-09-2007 | Исправлено: Nexandr, 19:22 11-09-2007
nikkweber



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть такой вопрос.  
Мне нужно произвести передачу заданной траектории на порты управления (в моем случае порты управления программно реализованы в виде графического построителя), с линией я освоился, ну вот не знаю как построить окружность или закругление. КТо-нибудь может помочь и подсказать?  

Всего записей: 9 | Зарегистр. 13-09-2007 | Отправлено: 02:52 14-09-2007
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nikkweber
Окружность описывается формулой (x-x0)2+(y-y0)2=R2, где x0, y0 - координаты её центра, R - радиус. Отсюда и считай координаты точек.

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

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 08:23 14-09-2007
nikkweber



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

Всего записей: 9 | Зарегистр. 13-09-2007 | Отправлено: 02:41 15-09-2007
SERGE_BLIZNUK

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

Цитата:
идею понял, пытаюсь реализовать - пока не очень

ну, 1) есть куча профильных сайтов с форумами, где, я думаю, могут помочь. Например, я бы начал с www.cracklab.ru или wasm.ru  
2) да и здесь, если приведёшь КОНКРЕТНУЮ постановку (что у тебя на вход поступает и что хочешь выдать в порты - плюс дашь свою программу и расскажешь, что не получается) - думаю, что совместными усилиями добьём.  
 
удачи.

Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 08:36 15-09-2007
Открыть новую тему     Написать ответ в эту тему

Страницы: 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