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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
разобрался
OpenFile Function
Note  Only use this function with 16-bit versions of Windows. For newer applications, use the CreateFile function.

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 05:11 22-08-2010
bomzzz



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

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 18:15 24-08-2010 | Исправлено: bomzzz, 18:26 24-08-2010
Qraizer



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Что такое десятичный формат? FBSTP?

Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 06:25 25-08-2010
bomzzz



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

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



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

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 13:16 25-08-2010 | Исправлено: bomzzz, 02:40 26-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а вот интересно на всех компьютерах сопроцессор есть?

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 16:00 25-08-2010
Qraizer



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Уже да. Все FPU сынтегрированы с CPU, начиная с i486. Исключения были только для 486SX и K°, эдакие целероны. Начиная с Pentium (который P5) исключений больше нет.
 
Добавлено:
Вот если ты имел ввиду не только x86, то там сложнее. Не у всех, но из процессоров десктопного направления таковые редкость.

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

Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 06:34 26-08-2010 | Исправлено: Qraizer, 07:14 27-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
просто насколько корректно использовать в программе сопрцоессор
 
Добавлено:
скажем если у человека винда хп, или даже 2000 - у него сопроцессор есть? хотя обычно программы соместимость пишут и на 98 винду.
чета не смог с ходу придумать как 64 битное 16 ричное число в десятичное перевести без сопроцессора
 
Добавлено:
15 значное десятичное асци число в шестнадцатиричное придумал как перевести, а как 64 битное 16 ричное в десячтиное никак не придумывается, разве что в столбик

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 09:00 26-08-2010
VGrad



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

Цитата:
а вот интересно на всех компьютерах сопроцессор есть?
Начиная с Pentium инегрированы, а в ранних моделях нужно смотреть на материнскую плату.

Цитата:
486SX и K°, эдакие целероны
Celeron скорее обозначает кастрированный L2 Cache, а не отсутствие сопроцессора.

Цитата:
просто насколько корректно использовать в программе сопрцоессор  
Корректно !
Даже при его отсутствии ОС Windows сэмулируют выполнение его комманд.
 

Всего записей: 59 | Зарегистр. 25-04-2006 | Отправлено: 05:00 31-08-2010
bomzzz



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

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 06:32 31-08-2010
bomzzz



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

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 10:40 04-09-2010
ZorgeHT

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz, "задом наперед" имеется в виду не от FF к 0, а Blue Green Red вместо Red Green Blue в компонентах цвета.
Если BMP 32-х битный, то соответственно Blue Green Red Alpha.
А сама палитра именно что от 00 к FF индексирована.
 
Если к видеоадаптеру обращаетесь напрямую (или через прерывание int 10 в DOS) и он VGA, то у него значения составляющих в палитре хранятся в регистрах по 6 бит, то есть значения составляющих в палитре нужно еще и сдвигать на два разрядов вправо, чтобы поместились в сетку регистров контроллера, иначе на экране будет фигня вместо изображения.

Всего записей: 456 | Зарегистр. 18-03-2008 | Отправлено: 14:13 05-09-2010
bomzzz



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

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



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

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



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

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 03:57 06-09-2010
SERGE_BLIZNUK

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DOS программы могли получить своё имя через PSP  
например, вот здесь  
ОПЕРАЦИОННАЯ СИСТЕМА DOS  Прикладные программы в среде DOS  Префикс программного сегмента
цитирую:

Цитата:
Слово префикса с относительным адресом 002СН хранит сегментный адрес блока окружения, в котором находится несколько АSCIIZ-строк (последовательности символов в коде АSCII, заканчивающиеся нулевым байтом). Блок окружения наследуется от программы, которая вызывала функцию ЕХЕС для загрузки выполняющейся в данный момент программы. В блоке находится такая информация, как текущий путь, используемый программами файла СОММАND.СОМ для поиска выполнимых программ, расположение на диске самого файла СОММАND.СОМ, формат запроса пользователя, который выдается СОММАND.СОМ. Хвост команды - это остаток командной строки (после имени программы), запустившей транзитную программу; хвост команды копируется в префикс, начиная с относительного адреса 0081Н. Длина хвоста команды, без учета символа возврата в конце строки, помещается в байт с относительным адресом 0080Н.  

 
под Windows это всё работает (т.к. эмулируется работа DOS).
 

Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 08:51 06-09-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
если бы было так просто я бы не спрашивал, и естсественно сам проверил и попробовал сначала
разница как видищь существенная и главное об имени ни слова
 
Добавлено:
разве через Е2 выполнить комманду echo %0 это работает с третьего доса. и получить имя из входного потока консоли.

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 11:08 06-09-2010 | Исправлено: bomzzz, 10:59 07-09-2010
Qraizer



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
bomzzz, ну ты б прочитал бы какой-нибудь материал по блоку окружения, а. За концом блока окружения (два подряд нуля) лежит его расширение. Сначала WORD - циферка, сколько строк в расширении, затем сами строки. Первая строка, и чаще всего единсвтенная - полный путь с маршрутом.

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

Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 05:14 07-09-2010 | Исправлено: Qraizer, 05:15 07-09-2010
bomzzz



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

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 11:17 07-09-2010 | Исправлено: bomzzz, 12:23 07-09-2010
bomzzz



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

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 07:30 11-09-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