|
155 / 25 / 6
Регистрация: 06.06.2009
Сообщений: 262
|
|
Функции IN, OUT не работают17.06.2009, 16:41. Показов 5588. Ответов 15
Метки нет (Все метки)
Изучаю Ассемблер. Сейчас разбираю по примерам учебника Рудакова и Финогенова "Язык Ассемблера: Уроки программирования". Использую компилятор TASM 4.1 и отладчик TD.
Так вот вопрос. При разборе функций IN, OUT они не работают, если можно так сказать. Отладчих их просто проскакивает, ничего не делая. Что может быть. Ради этого в принципе и начал изучать Ассемблер. P.S. Ассемблер начинают разбирать во всех книгах с реального режима. Но я то все эти программки пишу в Винде в блокноте. Хоть и компилирую в FAR'e, но все равно получается защищенный режим. Могут они из-за этого не работать? P.S.S. Там еще была глава про ESC-последовательности - спец функции DOS для вывода символов. Так они тоже не работают. Но для них нужено было в CONFIG.SYS прописать путь к какому-то дивайсу. Я его в папке с Виндой нашел, прописал, но что-то не подействовало. Help, plz. Больше не на кого расчитывать. Уже на третьей книге спотыкаюсь.
0
|
|
| 17.06.2009, 16:41 | |
|
Ответы с готовыми решениями:
15
Не работают функции <math.h> в методе (функции-члене) функции не работают
|
|
1779 / 757 / 153
Регистрация: 03.06.2009
Сообщений: 5,940
|
|
| 17.06.2009, 19:55 | |
|
это скорей всего из-за того, что запускаете отладчик из-под фара. Поскольку Фар - это консольное приложение windows, в нем могут некорректно обрабатываться порты ввода/вывода, прямой доступ к видеопамяти, векторы прерываний и др. для отладки пользуйтесь Volkov commander, NC. Для них windows создает более или менее нормальное окружение ДОС. А еще лучше, загружайтесь с дискеты.
1
|
|
|
155 / 25 / 6
Регистрация: 06.06.2009
Сообщений: 262
|
|
| 18.06.2009, 00:31 [ТС] | |
|
Спасибо. Сегодня попробую.
0
|
|
|
68 / 24 / 2
Регистрация: 16.05.2009
Сообщений: 73
|
|
| 21.06.2009, 06:18 | |
|
если вы работаете "из-под винды", то к многим портам ввода-вывода просто нет доступа. В винде доступ можно получить только с помощью аппаратных драйверов. С таймерами и клавой проблем нет, но LPT, COM и ещё множество других закрыты для прямого использования.
0
|
|
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
| 21.06.2009, 11:45 | |
|
Ну с COM потом можно нормально работать через API и при этом управлять его дополнительными линиями, а вот с LPT надо через драйвер, скажем, inpout32.dll или IO.dll
0
|
|
|
Флудер
195 / 33 / 11
Регистрация: 23.03.2007
Сообщений: 334
|
|
| 21.06.2009, 13:19 | |
|
для прямого доступа к регистрам COM-порта тоже нужен драйвер
а по данной теме есть уже готовые решения, например UserPort(легко находится через поисковик) или OpenPorts (http://gl00my.chat.ru/downloads.html)
0
|
|
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
| 21.06.2009, 15:30 | |
|
0
|
|
|
68 / 24 / 2
Регистрация: 16.05.2009
Сообщений: 73
|
|
| 22.06.2009, 08:33 | |
|
да никто не спорит. У человека ж in и out не работают, а вы ему про API и дрова)))))
0
|
|
|
155 / 25 / 6
Регистрация: 06.06.2009
Сообщений: 262
|
|
| 25.06.2009, 16:15 [ТС] | |
|
В принципе я надеюсь дойти до СОМ, LPT и даже PCI.
![]() Но что-то я поспешил сказав, что они заработали. Использование NC и Volkov Commander'a дали только то, что я смог обращаться непосредственно к видеопамять. (раньше я и туда не мог добраться) Но с функциями IN и OUT дело так и не пошло. Вот первейший пример: отучить маску контроллера прерываний, и установить 1й бит, запретив прерываний от таймера. Время как шло, так и идет. Смотрю в отладчике, он эти функции проскакивает, выполняя следующии (чтобы убедиться перекидывал маску в BL) ;Запрещение прерываний от таймера .586 text segment use16 assume CS:text main proc mov AX, data mov DS, AX in AL, 21h mov BL, AL or BL, 1 out 21h, BL mov AX, 4C00h int 21h main endp text ends end Подскажите что-нибудь, или в самом деле с дискеты грузиться придется. ![]()
0
|
|
|
Айхрень...
306 / 176 / 7
Регистрация: 02.06.2009
Сообщений: 1,077
|
|
| 25.06.2009, 16:38 | |
|
Не уверен, но может VMWare и DOS 6.22 поможет?
0
|
|
|
155 / 25 / 6
Регистрация: 06.06.2009
Сообщений: 262
|
||||||
| 25.06.2009, 16:49 [ТС] | ||||||
Сори, какую-то бракованную прогу показал. Вот нужная. Так отладчик должен эти функции проскакивать?
0
|
||||||
|
68 / 24 / 2
Регистрация: 16.05.2009
Сообщений: 73
|
||||||||||||||||
| 01.07.2009, 18:44 | ||||||||||||||||
|
код странный.....
строкой:
а строкой:
достаточно:
0
|
||||||||||||||||
|
155 / 25 / 6
Регистрация: 06.06.2009
Сообщений: 262
|
|
| 05.07.2009, 11:23 [ТС] | |
|
Я нашел старый ноут Celeron 330Мгц, ОЗУ 98Mbt. Так на нем можно изучать аппарутку? Принцип же тот же.
И 2й вопрос, на этот ноут можно поставить DOS?
0
|
|
|
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
|
|
| 05.07.2009, 19:46 | |
|
Вообще какая разница, на каком компе ставить Дос? В реальном режиме они почти все одинаковы. Единственное, что вам нужно в нем - это флоппик или сидиром, чтоб грузиться в дос с них, если не хотите заниматься мазохизмом ставя его на жесткий диск.
Или даже поставьте вирт. машину (Virtual PC,Virtual Box, DosBox, VMWare и т.д.) и ставте дос в ней. Тогда даже перезагружаться не придется.
0
|
|
|
68 / 24 / 2
Регистрация: 16.05.2009
Сообщений: 73
|
|
| 11.07.2009, 15:08 | |
|
лучше для изучения все-таки отдельная машина. Потом когда начнёте изучать защищенный режим, виртуальные тачки не помогут. При попытке в ДОСе на вирт тачке перейти в защищенный режим, VMWare у меня выпадал с исключением. Остальные проги ждет та же участь (уверен, ведь сама эмуляция вирт. машин - это функционал Винды, а проги - всего лишь оболочки).
Ставьте на ноут DOS (пока пойдет для экспериментов). Но лучше все-таки PC. Я уверен что если покопаться - можно найти по дешёвке старенький..... у мя лежат на эти случаи 600-ник и вообще 486(самое сложное было оперативу для него надыбать). На ноуте особо в железе не потыкаешься..... Может вы захотите свои собственные PCI-устройства мутить (в наше время это не так уж и сложно).
0
|
|
|
1779 / 757 / 153
Регистрация: 03.06.2009
Сообщений: 5,940
|
|
| 11.07.2009, 15:51 | |
|
А еще отличный вариант, это сделать загрузочную флешку. Грузится очень быстро и работает на порядок быстрей, чем с флопиком, да и надежней, наконец.
Для себя сделал как на писано тут все работает отлично!
0
|
|
| 11.07.2009, 15:51 | |
|
Помогаю со студенческими работами здесь
16
Не работают функции
Не работают функции Не работают функции Не работают функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|