Поиск:

Ответ в темуСоздание новой темы Создание опроса
> запись на дискету, программа под дос 
V
    Опции темы
Logree
Дата 19.1.2009, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 331
Регистрация: 22.11.2006
Где: Самара

Репутация: нет
Всего: 2



вот программа она  тупо записыват файл в 1 сектор
но почему-то не работае те работает но пишет Makeboot failed :( (прогу копировал с какого-то сайта) 
я сам писал прогу на чистом асме но она тоже ни чего не хочет записывать...
Код

var
  fn:string;
  f:file;
  buf:array[0..511] of byte;
  ok:boolean;
begin
  fn:=ParamStr(1);
  if fn='' then writeln('makeboot bootsect.bin')
  else
  begin
    writeln('Making boot floppy');
    {$I-}
    assign(f,fn);
    reset(f,sizeof(buf));
    BlockRead(f,buf,1);
    close(f);
    {$I+}
    if IOResult<>0 then
    begin
      Writeln('Failed to read file "',fn,'"');
      Halt(1);
    end;
    ok:=false;
    asm
      mov       ax, 0301h
      mov       cx, 1
      mov       dx, 0
      mov       bx, seg buf
      mov       es, bx
      mov       bx, offset buf
      int       13h
      jc        @error
      mov       ok, true
    @error:
    end;
    if ok then writeln('Done :)')
    else begin
      writeln('Makeboot failed :(');
      Halt(1);
    end;
  end;
end.


а Вопрос вот в чём:
может ли эта прога по каким-то причинам не работать под дос?

тк у меня ноут то флопика нет dos стоит на VMware а дискетница Эмулируется VirtualFloppyDisk'ом дос отлично с ней работает но может  из-за этого он не хочет писать на неё?

может я где ступил? всё приконекчино...



Это сообщение отредактировал(а) Logree - 19.1.2009, 22:25


--------------------
Самый распространенный способ дебага пятиста строк ассемблерного кода - очень долгий, очень пристальный и очень задумчивый взгляд.
PM MAIL ICQ   Вверх
dumb
Дата 20.1.2009, 04:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 2
Всего: 158



Код

var
  status: byte;
...
      int       13h
      mov     status, ah
      jc        @error
...
  writeln('Makeboot failed, status=',status);
...

PM MAIL   Вверх
Logree
Дата 3.2.2009, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 331
Регистрация: 22.11.2006
Где: Самара

Репутация: нет
Всего: 2



Хорошо допустим он записал на дискету... я извлёк boot sector с помощью UltraISO почему там  не то что должно быть? вот бут

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  boot.bsf 0,50 Kb


--------------------
Самый распространенный способ дебага пятиста строк ассемблерного кода - очень долгий, очень пристальный и очень задумчивый взгляд.
PM MAIL ICQ   Вверх
Logree
Дата 7.2.2009, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 331
Регистрация: 22.11.2006
Где: Самара

Репутация: нет
Всего: 2



Я думаю образ дискеты не поддерживает запись в boot сектор ... я записывал на нормальную дискетницу всё работает/


--------------------
Самый распространенный способ дебага пятиста строк ассемблерного кода - очень долгий, очень пристальный и очень задумчивый взгляд.
PM MAIL ICQ   Вверх
dumb
Дата 7.2.2009, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 2
Всего: 158



Цитата(Logree @  19.1.2009,  22:24 Найти цитируемый пост)
dos стоит на VMware а дискетница Эмулируется VirtualFloppyDisk'ом
эм. а какой смысл в каком-то vfd, если у vmware есть свой виртуальный "дискетник". там, кстати, вроде поддерживается запись в .iso, ибо есть рядом стоящая галка "Read-only".
PM MAIL   Вверх
Logree
Дата 7.2.2009, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 331
Регистрация: 22.11.2006
Где: Самара

Репутация: нет
Всего: 2



тык я и так и эдак пробывал... тот образ что я вставляю в VFD был копирован с дискеты и там и был тот бут что я выложил который эта прога не переписывает... потом создал образ с помощью WM и просто поставил его без VFD естественно бут там пустой.. он таким и остаётся... я даже через dd пробывал... пишет что записал а на самом деле нет. на нормальный флопик пишет.


--------------------
Самый распространенный способ дебага пятиста строк ассемблерного кода - очень долгий, очень пристальный и очень задумчивый взгляд.
PM MAIL ICQ   Вверх
Logree
Дата 22.2.2009, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 331
Регистрация: 22.11.2006
Где: Самара

Репутация: нет
Всего: 2



заработало... smile 


--------------------
Самый распространенный способ дебага пятиста строк ассемблерного кода - очень долгий, очень пристальный и очень задумчивый взгляд.
PM MAIL ICQ   Вверх
rquester
Дата 25.2.2009, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 24.2.2009

Репутация: нет
Всего: нет



Спасибо за помощь всем кто отозвался.
PM MAIL WWW   Вверх
XcomX
  Дата 14.11.2011, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 14.11.2011

Репутация: нет
Всего: нет



Здравствуйте. Что бы не плодить лишний раз тему решил написать тут.

У меня задача примерно такая же как у автора темы. 
Мне нужно написать программу которая бы выполняла 1 функцию, а именно производила запись на диск 1 байта. Выбрал программу emu8086 для реализации. 
Можно ли написать эту программу в ему8086 не убив диск? Или все же придется ставить VirtualBox и там писать программу.
Прошу помощи в написании и реализации программы. 

Спасибо.
PM MAIL   Вверх
iff
Дата 15.11.2011, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: нет
Всего: 16



Если вы записываете на дискету, то можно вообще обойтись без эмулятора - запускать программу прямо в Windows. Он позволит ей обращаться к дискете, но при этом не позволит напрямую обращаться к жесткому диску (диск ни будет убит в случае ошибки вашей программы). Ну а если вы на дискету запишите что-то не то, то ее можно отформатировать.


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для Windows/DOS"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для Windows/Dos | Следующая тема »


 




[ Время генерации скрипта: 0.0468 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.