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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну как же узнать какое сообщение посылается чужому окну?
winspy winid поставил проги крайне полезные, но в той куче инфы которую они выдают об окнах нет одного - сообщений.
 как узнать какое сообщение посылается окнам експлорера когда он обновляет конфигурацию при изменении свойств папки????    
 
    может это просто     invoke UpdateWindow

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 20:44 05-10-2009 | Исправлено: bomzzz, 20:47 05-10-2009
ALEF



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

----------
Аникей - не очень старое русское имя.

Всего записей: 1002 | Зарегистр. 03-11-2003 | Отправлено: 18:21 07-10-2009
bomzzz



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

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 19:18 07-10-2009
Lyrik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
или я не пойму что вы хотите или вы что-то не так делаете.
если Вы уверены, что это - сообщение windows, тогда такой алгоритм:
1. запускайте нужную прогу
2. запускаете spy++
3. в меню spy++ выбираете Search->Find Window (или жмете Alt+F3)
4. в новом окне выбирает прицел и находите нужное окно путем перетаскивания этого прицела на нужное окно.
5. spy++ находит это окно в своем списке окон.
6. жмете пкм на этом окне и выбираете Messages.
7. в spy++ появится новое окно. там жмете F8 (Messages->Stop Logging).
8. потом жмете Ctrl+O (Messages->Logging Options).
9. на вкладке Windows можете поставить галочки в зависимости от Ваших нужд.
10. на вкладке Messages жмете кнопку Select All и жмете ОК.
11. опять жмете F8 (Messages->Start Logging).
12. переключаетесь на нужную прогу и делаете действия, когда по Вашему эта прога шлет какие-то сообщения.
13. переключаетесь на spy++ и разбераете его логи
 

Всего записей: 388 | Зарегистр. 04-04-2006 | Отправлено: 23:17 07-10-2009
bomzzz



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

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 23:29 07-10-2009 | Исправлено: bomzzz, 00:20 08-10-2009
Lyrik

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

Код:
mov ah, 08h
mov dl, 80h
int 13h

тест проводить на винтах, поддерживающие лба (сейчас 99% таких) и объем винта чтобы был больше 8 гигов (тоже надеюсь, что сейчас 99% таких). интересуют такие регистры: ax, bx, cx, dx и флаг CF.
з.ы. данная функция получает геометрию винта. вот провел у себя тест на винте 120гиг и мне почему в dx выдало значение 0xFE02. хотя я ожидал, что будет 0xFF02. поэтому и возникла такая странная просьба. может кто-то знает и так ответ.  
з.з.ы. тестить можно и под варей в принципе, лишь бы там винт был больше 8 гигов, но лучше все же в чистом досе.

Всего записей: 388 | Зарегистр. 04-04-2006 | Отправлено: 19:43 18-10-2009
Prober

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lyrik
Чистый ДОС сейчас непросто найти. Была в ДОСе и осталась в Окнах утилита DEBUG, этот код легко выполняется из-под нее.
   
Лень подымать раритетную документацию, но, насколько я помню, эта функция (как и многие другие 13-го прерывания) проектировалась, когда гигабайтных дисков еще и в помине не было, и у ее регистров просто не хватит разрядности, чтобы вернуть правильный результат.

Всего записей: 680 | Зарегистр. 01-11-2006 | Отправлено: 20:17 18-10-2009
Lyrik

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

Цитата:
Чистый ДОС сейчас непросто найти.

у меня чистый дос есть в составе hiren's boot cd. там и тестил.  

Цитата:
Лень подымать раритетную документацию, но, насколько я помню, эта функция (как и многие другие 13-го прерывания) проектировалась, когда гигабайтных дисков еще и в помине не было, и у ее регистров просто не хватит разрядности, чтобы вернуть правильный результат.

дык это и так ясно интересно что она вернет. нули, ФФ или то, что помещается.
спасибо конечно за то, что исполнили под виндой, но это неверно. поскольку я тестировал этот код на разных виндовс машинах и везде возвращается этот результат, что говорит о том, что ntvdm создает заглушку и возвращает всегда фиксированные числа.

Всего записей: 388 | Зарегистр. 04-04-2006 | Отправлено: 01:19 19-10-2009
bomzzz



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

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 05:15 19-10-2009 | Исправлено: bomzzz, 16:44 19-10-2009
Lyrik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
вот мне интересно, Вы этот код исполняли? я вот смотрел тут http://www.emu8086.com/assembly_language_tutorial_assembler_reference/8086_bios_and_dos_interrupts.html и не увидел 8 функции 13 прерывания. но я решил все же скачать и проверить. но получил то, что написано в документации.
з.ы. сразу скажу, что пробовал и досбокс, если вдруг мне начнут кидать сайты и скрины досбокса.
з.з.ы. пока результатов никаких

Всего записей: 388 | Зарегистр. 04-04-2006 | Отправлено: 12:06 19-10-2009
bomzzz



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

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 12:23 19-10-2009 | Исправлено: bomzzz, 16:44 19-10-2009
Lyrik

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

Цитата:
если прерывание не поддерживается эмулятором код все равно можно откомпилировать - и исполнить

и что? винда его тоже исполняет, только результат неверный.

Цитата:
 и эта программа гораздо удобнее чем дебугер.

о вкусах не спорят.

Цитата:
тасм скачай да и откомпилируй он 400 кб весит. дос найди старую в инете - да и запусти ее на компе вместо винды.

если Вы не внимательно читали мой пост, то привожу цитату:

Цитата:
 вот провел у себя тест на винте 120гиг и мне почему в dx выдало значение 0xFE02. хотя я ожидал, что будет 0xFF02.


Цитата:
и каких можно результатов ожидать если прога не выводит никаких данных.

опять же читайте внимательно мой пост:

Цитата:
интересуют такие регистры: ax, bx, cx, dx и флаг CF.


Цитата:
INT 13H: дисковый ввод-вывод  

зачем приводить справочную информацию? или Вы думаете, что я просто так написал этот код? пожалуйста, перечитайте пост

Всего записей: 388 | Зарегистр. 04-04-2006 | Отправлено: 16:36 19-10-2009
bomzzz



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

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 17:19 19-10-2009
Lyrik

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

Цитата:
ну так ты бы исполняемый файл сделал и попросил проверить у всех ли разметка диска в инфо размера не включается.

откуда мне знать, что надо исполняемый файл? я сам делал как Prober написал. но если кому-то нужно, то вот. после запуска под досом приведите тут, пожалуйста, результаты работы.

Всего записей: 388 | Зарегистр. 04-04-2006 | Отправлено: 21:49 19-10-2009
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
зависит от того хочешь ли ты чтоб тебе помогли - сомневаюсь что кто нибудь будет запускать у себя неизвестно что. если возвращаемое значение есть - значит надо читать описание прерывания и разбираться почему оно такое, а не другое.
врядли тут дело в разметке диска.
 
вот хорошее описание нашел http://hdpt.page.by/int13.html
пробовать все равно врядли буду не вижу задач чтоб так с винтом работать

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 22:06 19-10-2009 | Исправлено: bomzzz, 00:15 20-10-2009
Prober

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

Цитата:
2.20. Запрещены любые действия, явно или косвенно направленные на нарушение нормального функционирования форума, включая, но не ограничиваясь:  
...
2.20.2. модифицирование собственных сообщений с целью изменения их первоначального смысла, произведенное после появления следующих сообщений в теме;  
2.20.3. удаление или изменение собственных сообщений, делающее следующие опубликованные сообщения в теме бессмысленными.

Всего записей: 680 | Зарегистр. 01-11-2006 | Отправлено: 01:45 20-10-2009
bomzzz



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

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 01:58 20-10-2009
Qraizer



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ASUS P5LD2 945 ICH7, IDE контроллер в enhanced режиме, двухядерник E2180 разогнан до 2,66ГГц, 3Гб RAM, HDD Samsung HD321KJ 320Гб SATA.
DOS ядро от Win98SE RUS. Проверялось в реальном и виртуальном режимах. В обоих случаях грузился HIMEM.SYS, виртуальный режим обеспечивался EMM386.EXE. Проверялось в DEBUG.COM.
 
AX=003F  BX=0000  CX=FEFF  DX=FE02  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=1AFD  ES=1AFD  SS=1AFD  CS=1AFD  IP=0102   NV UP EI PL NZ NA PO NC

 
Результаты идентичны с точностью до значений сегментных регистров.

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

Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 03:03 20-10-2009 | Исправлено: Qraizer, 03:10 20-10-2009
Prober

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lyrik
Нашел старую дискету с ДОСом 6.22, сдул с нее пыль, загрузился. Чтобы не переписывать результаты с экрана, создал файл IN.TXT:

Код:
f 100 l10 90
a 100
mov ah, 8
mov dl, 80
int 13
 
u 100 l10
g =100 106
q

Выполнил команду DEBUG <IN.TXT >OUT.TXT, файл OUT.TXT получился такой:

Код:
-f 100 l10 90
 
-a 100
 
12D2:0100 mov ah, 8
 
12D2:0102 mov dl, 80
 
12D2:0104 int 13
 
12D2:0106  
 
-u 100 l10
 
12D2:0100 B408          MOV    AH,08                              
12D2:0102 B280          MOV    DL,80                              
12D2:0104 CD13          INT    13                                  
12D2:0106 90            NOP                                        
12D2:0107 90            NOP                                        
12D2:0108 90            NOP                                        
12D2:0109 90            NOP                                        
12D2:010A 90            NOP                                        
12D2:010B 90            NOP                                        
12D2:010C 90            NOP                                        
12D2:010D 90            NOP                                        
12D2:010E 90            NOP                                        
12D2:010F 90            NOP                                        
-g =100 106
 
 
AX=0000  BX=0000  CX=FFFF  DX=FE02  SP=FFEE  BP=0000  SI=0000  DI=0000  
DS=12D2  ES=12D2  SS=12D2  CS=12D2  IP=0106   NV UP EI PL ZR NA PE NC  
12D2:0106 90            NOP                                        
-q
 

Полагаю, чистота эксперимента соблюдена.

Всего записей: 680 | Зарегистр. 01-11-2006 | Отправлено: 03:08 20-10-2009
bomzzz



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

Цитата:
 
Производитель: Samsung
Объем, Гб: 320 Гб
Количество дисков: 3
Количество головок: 5
Скорость вращения дисков, об/ мин: 7200 rpm
Интерфейс: S-ATA II
Объем кэша, МБ: 16 Мб
Тип устройства: для настольного компьютера (3.5')
Внешняя шина, МБ/ сек: 300 Мб/ с
Внутренняя шина, МБ/ сек: 1000 Мбит/ с
Время доступа по дорожкам, мс: 0.8 мс
Среднее время доступа, мс: 8.9 мс
Среднее время задержки (Latency): 4.17 мс
Время доступа full stroke: 18 мс
Линейка: SpinPoint T166S
Уровень шума простоя: 23 Дб
Поддержка NCQ: есть
Ударостойкость при работе: 63 G
Уровень шума работы: 27 Дб
Ударостойкость при хранении: 350 G
 
Время наработки на отказ (MBTF), ч: 600000 ч
Размеры (Ш х В х Г), мм: 25.4x146x101.6 мм
Вес, кг: 0.51 кг
Накопитель HDD SAMSUNG 320GB (HD322HJ / HD321KJ)
 

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 03:13 20-10-2009
Открыть новую тему     Написать ответ в эту тему

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