Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Запись в сектора на floppy-диске, и чтение с этих секторов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужно прочитать с BIOS'a текущий язык http://www.cyberforum.ru/cpp-beginners/thread506095.html
Господа! Есть MultiLanguage BIOS (English, French, Spain). Смотрю WMI репозиторий - InstallableLanguages - 3 Languages. Хорошо. Смотрю Current Language - "n|US|iso8859-1". Смотрю ListOfLanguages -...
C++ Как загрузить данные из файла? Как создать двумерный массив, скажем A из данных файла,экспортированного из MathCAD? Файл имеет расширение .SDD, при создании экспорта описан как С-плюс http://www.cyberforum.ru/cpp-beginners/thread506013.html
C++ Определить цвет пиксела в произвольной точке монитора
Доброе время суток. Подскажите, пожалуйста, как определить цвет пиксела в произвольной точке монитора?
C++ Подделка обратного адреса UDP-сообщения
Имеем следующую проблему. Есть клиент-серверное приложение, в котором идёт обмен сообщениями по UDP протоколу. Понадобилось написать над этим делом TCP/IP-мост. То есть не у всех клиентов есть...
C++ Определение класса в DLL - ипользование вне и динамически http://www.cyberforum.ru/cpp-beginners/thread505951.html
Однажды я уже задавал подобный ворос, ответа так и не получил. В свое время я обошелся без использования классов из DLL, но сейчас вновь возникла необходимость и обойтись не получится. Скажем в DLL...
C++ Програмное включение и выключение монитора Как можно програмно включить/выключить монитор через windows? Как я понял, это делается с помощью сигналов верт./гориз. синхронизации. Я нашел следующую таблицу <TABLE cellSpacing=1 width=768... подробнее

Показать сообщение отдельно
palva
2630 / 1857 / 268
Регистрация: 08.06.2007
Сообщений: 7,100
Записей в блоге: 4
20.10.2006, 00:47
Не знаю, можно ли это сделать под Windows. Но на DOS когда-то делал. Вот начало моего модуля для Turbo C
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <stdio.h>
#include <conio.h>
#include <io.h>
#include <fcntl.h>
#include <sysstat.h>
#ifndef __LARGE__
#error LARGE model needed
#endif
#define BUFSIZE 512*18
unsigned char buf[BUFSIZE];
unsigned char disk=0;
int hf;
#pragma inline
typedef unsigned char byte;
int ReadAbsDisk(int disk, int cyl, int head, int sec, int num, byte *buf) {
 int r=0;
 asm {
  MOV  DL,byte ptr disk
  MOV  DH,byte ptr head
  MOV  CL,byte ptr sec
  AND  CL,00111111b
  MOV  AX,cyl
  MOV  CH,AL
  AND  AX,0000001100000000b
  SHR  AX,1
  SHR  AX,1
  OR   CL,AL
  LES  BX,buf
  MOV  AL,byte ptr num
  MOV  AH,2;
  INT  19
  MOV  byte ptr r,AH
 }
 return r;
}
int WriteAbsDisk(int disk, int cyl, int head, int sec, int num, byte *buf) {
 int r=0;
 asm {
  MOV  DL,byte ptr disk
  MOV  DH,byte ptr head
  MOV  CL,byte ptr sec
  AND  CL,00111111b
  MOV  AX,cyl
  MOV  CH,AL
  AND  AX,0000001100000000b
  SHR  AX,1
  SHR  AX,1
  OR   CL,AL
  LES  BX,buf
  MOV  AL,byte ptr num
  MOV  AH,3;
  INT  19
  MOV  byte ptr r,AH
 }
 return r;
}
void ResetDisk(int disk) {
 asm {
  MOV  DL,byte ptr disk
  MOV  AH,0;
  INT  19
 }
}
Конец модуля не привожу, поскольку он не связан с темой. Может быть, это поможет.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru