15.11.2019, 11:44 [+3 UTC]
в нашей команде: 3 974 чел. | участники онлайн: 6 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.77 (31.05.2019)
JS-v.1.34 | CSS-v.3.35

Общие новости:
28.04.2019, 09:13

Форум:
04.11.2019, 16:30

Последний вопрос:
15.11.2019, 11:41
Всего: 150969

Последний ответ:
15.11.2019, 06:57
Всего: 259406

Последняя рассылка:
15.11.2019, 09:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
21.06.2010, 17:35 »
Igor Yu. Pilyugin
Благодарю, прекрасный ответ. Думаю, что мне поможет. Как только найду время поработать с монитором. [вопрос № 179168, ответ № 262206]
22.06.2011, 00:27 »
Цыгуро Олег Петрович
Спасибо за качественный ответ! [вопрос № 183684, ответ № 267798]
30.12.2010, 06:33 »
Никита Николаевич Святов
Спасибо, Руслан! Всё безупречно! [вопрос № 181667, ответ № 265168]

РАЗДЕЛ • Assembler

Создание программ на языке Assembler.

[администратор рассылки: Лысков Игорь Витальевич (Старший модератор)]

Лучшие эксперты в этом разделе

Коцюрбенко Алексей Владимирович
Статус: Модератор
Рейтинг: 1231
Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 474
solowey
Статус: Бакалавр
Рейтинг: 236

Перейти к консультации №:
 

Консультация онлайн # 144446
Раздел: • Assembler
Автор вопроса: Олег Миколайович
Отправлена: 20.09.2008, 02:51
Поступило ответов: 1

Здравствуйте уважаемые эксперты!
Подскажите мне ответы на несколько вопросов:
1) Если каждой, файл начинаются на границе сектора, то вывод можно сделать, что запись на дискету файлов ограничена, не количеством байтов на дискете, а количеством файлов на дискете.
Пример, дискета (высокой плотности 1 228 800 байт) максимальное число записанных файлов (файлы меньше 512 байтов) на нее можно разместить: 2(две стороны)*80(число дорожек на стороне)*15(число секторов на дорожке)=2400 файлов.
Скажите, мои расчеты верны или есть, какая-то ошибка.
Говорят что команды условных переходов, к примеру возьмем для беззнаковых данных, je/jz или jne/jnz – одинаковы за назначением, почему тогда используются оба(je/jz), а не какой-то один (je).

Состояние: Консультация закрыта

Здравствуйте, Олег Миколайович!

В принципе расчеты верны, да такое возможно теоритически, но отнимаем один сетор MBR (main boot record: сторона=0, дорожка=0, сектор=1) где описана структура диска и основной загрузчик (если дикета загрузочная). Этот сектор должен быть всегда, иначе операционная система решит, что диск не отформатирован. Операционная система также создает таблицу размещения файлов, в которой записаны имена, разширения, время и дата создания, а также размещение на диске(начало и конец в логических или в физических секторах, как именно должно быть указано в MBR, если один файл на сектор, то достаточно только адреса этого сектора) конкретного файла. Итого на каждый файл отводится: 8(имя)+3(разширение)+3(ЧЧ:ММ:СС в BCD-кодах)+4(ДД:ММ:ГГГГ в BCD-кодах)+3(физ.адрес)=21 байт( расчет только для примера ). Для запоминания 2400 файлов нужно ещё допольнительно 50'400 байт или 98.4375 секторов (т.е. 99 секторов). Итого нужно 100(1+99) секторов. Хотя можно обойтись и без этой таблицы, но тогда имена файлов будут ввиде 1:56:12(сторона:дорожка:сектор).
Теперь практическая сторона вопроса, что легче запомнить 1:56:12 или "вася.тхт", сколько времени Вы потратите на поиски нужной Вам информации-файла без таблицы размещени файлов.

Эти команды одинаковые и создает компилятор одинаковый код, но для программиста есть различее: проверить равны ли два регистра(je) или проверить флаг Z(jz). Вот ещё группа команд JAE|JNB|JNC(выше или равно-не ниже-нет переноса) и JB|JNAE|JC(ниже-не выше и не равно-есть перенос). Вам нужно проверить только один флаг переноса CF и Вы будете вспоминать какая команда какой флаг проверяет? Или наоборот Вам нужно проверить два регистра больше-меньше-равны какие флаги нужно проверить? А так преход если флаг Z = 1(JZero) или если регистры равны (JEqu). Каждая команда в ассемблере имеет своё сокращение от ангийских слов JumpZero, MOVe, SHiftLeftDouble или RotateOfLeft. (а может англичане с ассемблера свои слова взяли?)
Удачи!


Консультировал: Зенченко Константин Николаевич (Старший модератор)
Дата отправки: 20.09.2008, 05:24

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.18264 сек.

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.77 от 31.05.2019
Версия JS: 1.34 | Версия CSS: 3.35