Вопрос № 86668: В ДОС EXE программе есть большая структура, которую нужно заполнить начальными значениями.
Есть два варианта:
1) указать начальные значения полей при описании экземпляра структуры в сегменте данных, т.е. создать инициализированные данные. ...Вопрос № 86703: Подскажите пожалуста. Как считать начальные кластеры файлов из корневого каталога, используя int 13h, с дискеты? Сколько секторов занимает один кластер на дискете?...Вопрос № 86726: Уважаемые эксперты, к сожалению не могу вспомнить алгоритм в котором два 32ух битовых числа умножаются
в 16ти битовых регистрах за 3 умножения. Может быть кто напомнит алгоритм и/или поделится кодом....Вопрос № 86740: Необходимо сделать программу, которая бы для десяти последовательно расположенных в памяти чисел, подсчитывала бы разность суммы четных и суммы нечетных чисел. Ввод данных сделать с клавиатуры, а вывод дисплей....Вопрос № 86742: Парни, помогите, это надо реализо
вать на TASM-е: Вывести на экран информацию о всех дисках системы (по функции 36h). Заранее спасибо!!...
Вопрос № 86.668
В ДОС EXE программе есть большая структура, которую нужно заполнить начальными значениями.
Есть два варианта:
1) указать начальные значения полей при описании экземпляра структуры в сегменте данных, т.е. создать инициализированные данные.
2) описать пустой экземпляр структуры в сегменте данных
МОЯСТРУКТУРА <?>
и заполнять структуру при выполнении программы, типа так:
Отправлен: 13.05.2007, 04:08
Вопрос задал: Alexei_FAQ (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Волков Павел Юрьевич
Здравствуйте, Alexei_FAQ!
В обоих случаях данные будут инициализированными(данные будут отображаться в памяти), место для размещения данных будет выделенно сразу, в обоих случаях.
В первом случае, в секции данных, находится структура с начальными значениями, во втором - структура, заполненная нулями.
Если значения структуры известны заранее, лучше заполнить структуру сразу(первый способ).
--------- Век живи, век учись.
Ответ отправил: Волков Павел Юрьевич (статус: Студент)
Ответ отправлен: 13.05.2007, 16:27
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Alexei_FAQ!
Ответ предыдущего эксперта неполон.
Его ответ верен, если задать МОЯСТРУКТУРА > в сегменте .data
Если же задать сегмент неинициализированных данных .data? (сегмент с имеем BSS),
то данные в файле EXE будут отсутствовать (в отличие от первого случая)
Сегменты .data и .data? будут объединены в одну группу и фактически будут одним сегментом.
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Практикант)
Ответ отправлен: 14.05.2007, 10:25
Вопрос № 86.703
Подскажите пожалуста. Как считать начальные кластеры файлов из корневого каталога, используя int 13h, с дискеты? Сколько секторов занимает один кластер на дискете?
Отправлен: 13.05.2007, 13:30
Вопрос задал: Zemelia (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Zemelia
Перед тем, как начать писать программу, настоятельно рекомендую ознакомиться
со структурой файловой системы FAT, а именно - структурой бутовой записи, собственно FAT, оглавления. Думаю, на многие вопросы ответы найдутся здесь:
http://www.wasm.ru/docs/11/fatgen103-rus.zip
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Практикант)
Ответ отправлен: 14.05.2007, 13:22
Вопрос № 86.726
Уважаемые эксперты, к сожалению не могу вспомнить алгоритм в котором два 32ух битовых числа умножаются в 16ти битовых регистрах за 3 умножения. Может быть кто напомнит алгоритм и/или поделится кодом.
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Бертыш Андрей Владимирович!
Алгоритм - "столбик" :)
за 3 умножения не получится (за 4 устроит? :) )
Держи старую наработку, умножает со знаком два 32-битных числа, в результате
получаем 64-битное число
Приложение:
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Практикант)
Ответ отправлен: 14.05.2007, 12:39 Оценка за ответ: 4
Вопрос № 86.740
Необходимо сделать программу, которая бы для десяти последовательно расположенных в памяти чисел, подсчитывала бы разность суммы четных и суммы нечетных чисел. Ввод данных сделать с клавиатуры, а вывод дисплей.
Отправлен: 13.05.2007, 18:45
Вопрос задал: Ketor (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Ketor!
Смотрите приложение
В нечетных числах бит 0 равен 1,
при суммировании нечетные числа меняют знак и потом складываются.
В итоге получается разность сумм четных и нечетных.
Удачи!
Приложение:
--------- И только наступив на грабли мы преобретаем драгоценный опыт!
Парни, помогите, это надо реализовать на TASM-е: Вывести на экран информацию о всех дисках системы (по функции 36h). Заранее спасибо!!
Отправлен: 13.05.2007, 19:00
Вопрос задал: Vitaly89 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Vitaly89!
Из-за особенностей организации работы дискетами
дисководы А: и В: игнорируются.
Удачи!
Приложение:
--------- И только наступив на грабли мы преобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Студент)
Ответ отправлен: 14.05.2007, 13:09 Оценка за ответ: 5 Комментарий оценки: Большое спасибо за ответ!!!