Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Sid1057
5 / 5 / 2
Регистрация: 22.02.2013
Сообщений: 174
#1

Работа с прерываниями - C++

10.06.2013, 20:56. Просмотров 423. Ответов 7
Метки нет (Все метки)

Доброе время суток. Возник вопрос, недавно я начал учиться работать с прерываниями в DOS, но до конца еще не разобрался, а сейчас пишу программу для поиска файлов в каталоге. Но я не знаю как передать параметру DSX строку, т. к. при передачи (DSX=text возникает ошибка(undefinded symbol 'DX')

ниже приведена справка по прерыванию
Поиск в каталогах
Часто перед программистом стоит задача определения текущего содержимого каталога. При описании логической структуры диска мы приводили текст программы, выводящей на экран содержимого корневого каталога и других каталогов. Эта программа использовала загрузочный сектор логического диска и таблицу размещения файлов. Вы можете использовать такой способ, однако, если вам не требуется информация о номерах начальных кластеров файлов и дескрипторы удаленных файлов, лучше применить специальные функции MS-DOS, предназначенные для поиска файлов в каталогах.
Пара функций 4Eh и 4Fh предназначены для сканирования каталогов.
Эти функции используются вместе следующим образом:
Вызывается функция 4Eh для поиска в каталоге файла, соответствующего образцу. В образце можно использовать символы ? и *, которые означают, соответственно, один любой символ и любое количество любых символов. Информация о найденном файле располагается в специальной области, назначенной каждой работающей программе - области DTA.
Вызывается в цикле функция 4Fh для поиска остальных файлов, удовлетворяющих образцу, заданному при вызове функции 4Eh. Условие завершения цикла - отсутствие в каталоге указанных файлов.
Приведем формат вызова функций 4Eh и 4Fh.
Функция 4Eh:
На входе: AH = 4Eh
CX = Атрибуты файла, которые будут использованы при поиске. Будут найдены файлы, имеющие заданный в этом регистре атрибут.
DSX = Адрес строки в формате ASCIIZ, содержащей путь каталога или файла.
На выходе: AL = Код ошибки, если был установлен в 1 флаг переноса CF.
Функция 4Fh:
На входе: AH = 4Fh
На выходе: AL = Код ошибки, если был установлен в 1 флаг переноса CF.
Заранее спасибо!

Добавлено через 45 секунд
смайлики все испортили, но думаю суть остается ясна)

Добавлено через 3 часа 9 минут
никто не может помочь?

Добавлено через 4 часа 57 минут
кто-нибудь
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2013, 20:56     Работа с прерываниями
Посмотрите здесь:

Процессы с прерываниями - C++
Друзья, помогите реализовать на С++ программку в консольном приложении VStudio 2008 по такому алгоритму: 1) Запускаем базовый процесс. ...

Работа с прерываниями - Assembler
Здравствуйте. Нужно реализовать шифрование AES, используя новые команды aesenc и aesdec, причем работа с файлами осуществляется через...

Работа с прерываниями - Assembler
Есть программа для работы с прерыванием по таймеру. Не могу до конца разобраться как и что работает. Прошу детально объяснить что тут и к...

MCS-51. Работа с прерываниями - Микроконтроллеры
Нужно разработать функции, обеспечивающие формирование периодического прерывания микроконтроллера МCS-51 с периодом 1мс. Частота кварцевого...

Работа с прерываниями клавиатуры - Assembler
Нужно очистить буфер клавиатуры и ввести 12 символов с фильтрацией всех символов, кроме русских букв. Как я понимаю, надо использовать...

Работа с прерываниями и с функцией MSDOS - Turbo Pascal
Было такое задание: C помощью функции прерывания 21H найти: a) размер выбранного диска b) количество свободного места на выбранном...

Работа с прерываниями AT89C51 (ASM) - Микроконтроллеры
ситуация такая, есть программа, реализующая вывод сигналов с порта однокристалки at89c51 с порта p2.1-p2.4 ORG 0000H JMP START ORG...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dr_Quake
Заблокирован
10.06.2013, 21:08     Работа с прерываниями #2
Открой для себя галку внизу - отключить смайлы в тексте.

Работа с прерываниями в C++ зависит от досовского компилятора, Turbo C? BorlandCPP?
Sid1057
5 / 5 / 2
Регистрация: 22.02.2013
Сообщений: 174
11.06.2013, 10:05  [ТС]     Работа с прерываниями #3
Dr_Quake, turbo c++ 1.0
Dr_Quake
Заблокирован
11.06.2013, 10:15     Работа с прерываниями #4
Если охота поизвращаться без особого количества __asm -

http://geezer.osdevbrasil.net/osd/intr/dos-16.c
Sid1057
5 / 5 / 2
Регистрация: 22.02.2013
Сообщений: 174
11.06.2013, 10:21  [ТС]     Работа с прерываниями #5
Dr_Quake, спасибо, но я так и не увидел того что хотел, передавать значения регистру типа DS:DX надо просто _DX=x?
Dr_Quake
Заблокирован
11.06.2013, 10:23     Работа с прерываниями #6
Это метод обращения к регистрам просто. DS = текущий сегмент по идее - он зависит от модели памяти программы, для .small он всегда один будет например, почитай про сегментную адресацию в 16битах.
Sid1057
5 / 5 / 2
Регистрация: 22.02.2013
Сообщений: 174
11.06.2013, 10:27  [ТС]     Работа с прерываниями #7
Dr_Quake, спасибо
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2013, 10:28     Работа с прерываниями
Еще ссылки по теме:

PIC18. MPLAB 8.92 (MPASM). Работа с прерываниями - Микроконтроллеры
Доброе время суток. Возникла необходимость запрограммировать микроконтроллер pic18f14k22, на ассемблере. Отладку выполняю с помощью...

Подсчет частоты (работа с прерываниями ATTiny13) - Микроконтроллеры
Что не так? На ножку 1 идет с определенной частотой сигнал 1-0-1.. я настроил контролер на частоту 0,25МГ поставил в таймере 0,244МГ в...

Бегущий огонь (работа с прерываниями в Atmel Studio 6.1) - AVR
Всем привет, изучаю потихоньку программирование микроконтроллеров AVR в частности Atmega32. Изучаю по книжке Белов А.В. "Разработка...

Задача с прерываниями AVR - AVR
Всем доброго времени суток. Недавно начал изучать эти самые микроконтроллеры, опыта в программировании таких устройств пока нет. Попытаюсь...

БЛОК_СХЕМА ПРОГРАММЫ С ПРЕРЫВАНИЯМИ - Микроконтроллеры
Пишу блок-схему алгоритма программы микроконтроллера. В программе возникают 2 прерывания: 1. Переполнение Таймера/счётчика 2. операция...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Dr_Quake
Заблокирован
11.06.2013, 10:28     Работа с прерываниями #8
Вкратце - ты очень зря это на C делаешь, все курсы на асм заточены по прерываниям DOS, их почитай сначала.
Yandex
Объявления
11.06.2013, 10:28     Работа с прерываниями
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru