﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Программирование / C++  / Запись в сектора / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://www.relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Thu, 08 Jan 2009 07:40:14 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Запись в сектора</title><link>http://www.relib.com/forums/Topic906019-7-1.aspx</link><description>Damirjan,&lt;BR&gt;можно поинтересоваться, из какой они библиотеки?</description><pubDate>Mon, 23 Oct 2006 15:00:42 GMT</pubDate><dc:creator>John Paramol</dc:creator></item><item><title>RE: Запись в сектора</title><link>http://www.relib.com/forums/Topic906019-7-1.aspx</link><description>А как насчет функций AbsRead  AbsWrite</description><pubDate>Sun, 22 Oct 2006 13:52:07 GMT</pubDate><dc:creator>Damirjan</dc:creator></item><item><title>RE: Запись в сектора</title><link>http://www.relib.com/forums/Topic906019-7-1.aspx</link><description>Привет&lt;/P&gt;&lt;P&gt;Что значит "самого Си"? В Си нельзя, можно средствами WinAPI.&lt;BR&gt;Это самое 13h прерывание выполняется через функцию DeviceIoControl, с параметром VWIN32_DIOC_DOS_INT13(=4), но только в Windows 95/98. &lt;/P&gt;&lt;P&gt;Под NT используется метод блочного чтения.&lt;BR&gt;почитать можно здесь &lt;A href="http://www.insidepro.com/kk/020/020r.shtml"&gt;http://www.insidepro.com/kk/020/020r.shtml&lt;/A&gt;</description><pubDate>Thu, 19 Oct 2006 23:52:33 GMT</pubDate><dc:creator>John Paramol</dc:creator></item><item><title>RE: Запись в сектора</title><link>http://www.relib.com/forums/Topic906019-7-1.aspx</link><description>Спасибо большое.&lt;/P&gt;&lt;P&gt;Ассемблерные вставки это хорошо, но возможно ли реализовать задачу посредставом самого Си?</description><pubDate>Thu, 19 Oct 2006 21:34:42 GMT</pubDate><dc:creator>None_13</dc:creator></item><item><title>RE: Запись в сектора</title><link>http://www.relib.com/forums/Topic906019-7-1.aspx</link><description>Не знаю, можно ли это сделать под Windows. Но на DOS когда-то делал. Вот начало моего модуля для Turbo C&lt;/P&gt;&lt;P&gt;[code]#include &amp;lt;stdio.h&amp;gt;&lt;BR&gt;#include &amp;lt;conio.h&amp;gt;&lt;BR&gt;#include &amp;lt;io.h&amp;gt;&lt;BR&gt;#include &amp;lt;fcntl.h&amp;gt;&lt;BR&gt;#include &amp;lt;sys\stat.h&amp;gt;&lt;BR&gt;#ifndef __LARGE__&lt;BR&gt;#error LARGE model needed&lt;BR&gt;#endif&lt;BR&gt;#define BUFSIZE 512*18&lt;BR&gt;unsigned char buf[BUFSIZE];&lt;BR&gt;unsigned char disk=0;&lt;BR&gt;int hf;&lt;BR&gt;#pragma inline&lt;BR&gt;typedef unsigned char byte;&lt;BR&gt;int ReadAbsDisk(int disk, int cyl, int head, int sec, int num, byte *buf) {&lt;BR&gt; int r=0;&lt;BR&gt; asm {&lt;BR&gt;  MOV  DL,byte ptr disk&lt;BR&gt;  MOV  DH,byte ptr head&lt;BR&gt;  MOV  CL,byte ptr sec&lt;BR&gt;  AND  CL,00111111b&lt;BR&gt;  MOV  AX,cyl&lt;BR&gt;  MOV  CH,AL&lt;BR&gt;  AND  AX,0000001100000000b&lt;BR&gt;  SHR  AX,1&lt;BR&gt;  SHR  AX,1&lt;BR&gt;  OR   CL,AL&lt;BR&gt;  LES  BX,buf&lt;BR&gt;  MOV  AL,byte ptr num&lt;BR&gt;  MOV  AH,2;&lt;BR&gt;  INT  19&lt;BR&gt;  MOV  byte ptr r,AH&lt;BR&gt; }&lt;BR&gt; return r;&lt;BR&gt;}&lt;BR&gt;int WriteAbsDisk(int disk, int cyl, int head, int sec, int num, byte *buf) {&lt;BR&gt; int r=0;&lt;BR&gt; asm {&lt;BR&gt;  MOV  DL,byte ptr disk&lt;BR&gt;  MOV  DH,byte ptr head&lt;BR&gt;  MOV  CL,byte ptr sec&lt;BR&gt;  AND  CL,00111111b&lt;BR&gt;  MOV  AX,cyl&lt;BR&gt;  MOV  CH,AL&lt;BR&gt;  AND  AX,0000001100000000b&lt;BR&gt;  SHR  AX,1&lt;BR&gt;  SHR  AX,1&lt;BR&gt;  OR   CL,AL&lt;BR&gt;  LES  BX,buf&lt;BR&gt;  MOV  AL,byte ptr num&lt;BR&gt;  MOV  AH,3;&lt;BR&gt;  INT  19&lt;BR&gt;  MOV  byte ptr r,AH&lt;BR&gt; }&lt;BR&gt; return r;&lt;BR&gt;}&lt;BR&gt;void ResetDisk(int disk) {&lt;BR&gt; asm {&lt;BR&gt;  MOV  DL,byte ptr disk&lt;BR&gt;  MOV  AH,0;&lt;BR&gt;  INT  19&lt;BR&gt; }&lt;BR&gt;}[/code]&lt;/P&gt;&lt;P&gt;Конец модуля не привожу, поскольку он не связан с темой. Может быть, это поможет.</description><pubDate>Thu, 19 Oct 2006 20:47:49 GMT</pubDate><dc:creator>palva</dc:creator></item><item><title>Запись в сектора</title><link>http://www.relib.com/forums/Topic906019-7-1.aspx</link><description>Здраствуйте.&lt;/P&gt;&lt;P&gt;Меня интерисует Функция на Си чтоби записывать данные (строку, или часть отдельного файла) в отдельный сектор на флопи диске, и чтение с этого сектора.&lt;/P&gt;&lt;P&gt;&lt;BR&gt;Вобщем на флоп надо записать файл(например текстовый), в различные сектора, так чтоб система его не видела. но при помощи програмы его можно было прочитать.&lt;/P&gt;&lt;P&gt;Програма на обычном Си.&lt;/P&gt;&lt;P&gt;&lt;BR&gt;Подскажите пожалуйста Функции, для реализации задачи.&lt;/P&gt;&lt;P&gt;Зарание благодарен.</description><pubDate>Thu, 19 Oct 2006 17:52:45 GMT</pubDate><dc:creator>None_13</dc:creator></item></channel></rss>