![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
![]()
Начинаю работать с файлами. Разобрал код из книги, некоторое непонятно (пометил вопросами). Кто может, прокомментируйте плиз некоторые строки кода
Код:
1. mov cx, 0FDE8h;будем читать 0FDE8h=65000 байт это как понять? То есть прежде чем мы начнем работу с файлом, надо записать его размер, чтобы программа знала, сколько байт надо читать? А если мы будем производить запись в файл? И еще. почему 65000? Может быть правильнее сначала вызвать функцию, которая узнает размер файла, а затем уже записать это значение в cx??? 2. mov dx, offset Buffer;зачем нужен этот оператор???????????????????????? 3. ;==Переменные== ;что такое dw и почему переменная объявлена в конце, а не в начале как в c++/c#,pascal,php?????????????????????? ???????? Handle dw 0;резерв 2 байта для нашей переменной 4. что это делает? Buffer equ $;????????????????????????????? |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
> То есть прежде чем мы начнем работу с файлом, надо записать его размер
не его размер, а размер буфера, который у нас есть > чтобы программа знала, сколько байт надо читать? не программа, а 21-е прерывание > А если мы будем производить запись в файл? значт надо будет указать, сколько байт записать из буфера и вызвать другую функцию 21-го прерывания. > Может быть правильнее сначала вызвать функцию, которая узнает размер файла, а затем уже записать это значение в cx??? а если файл не поместится в буфер? Поэтому обычно читают по максимуму, а реально прочитанное число байт возвращается в одном из регистров. > 2. mov dx, offset Buffer;зачем нужен этот оператор у вас же там в коде правильный комментарий: Цитата:
асму обычно пофиг, где что объявлено. Объявлено, и слава богу ) > Buffer equ $ на сколько я понимаю, это просто метка типа "буффер будет здесь".
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с файлами в C++ | Expelio | Помощь студентам | 9 | 26.03.2010 19:07 |
Работа с файлами | Pr1meEX | PHP | 9 | 21.06.2009 03:15 |
Работа с файлами. | tae1980 | Microsoft Office Excel | 3 | 23.05.2009 23:50 |
Работа с файлами | Maksi | Фриланс | 4 | 07.06.2008 11:38 |
Работа с файлами | Dim@ | Помощь студентам | 1 | 26.12.2007 22:43 |