Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
 Аватар для Yulen'ka
1 / 1 / 0
Регистрация: 08.05.2009
Сообщений: 13

При компиляции программы выдается ошибка

27.05.2009, 22:18. Показов 1551. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
"Сan't locate file: windows.inc" что это значит? и как исправить???? (компилятор TASM 5.0)

Добавлено через 2 часа 1 минуту 43 секунды
Вот код программы:
Assembler
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
;=============================================================================
 
.386                            ;Использование команд процессора 80x386
.MODEL flat, stdcall            ;Плоская модель памяти, стандартный вызов процедур
 OPTION casemap: none           ;Различать все имена
 
 include windows.inc            ;Стандартный модуль для работы в ОС Windows
 include user32.inc             ;Модуль для поддержки пользовательского интерфейса
 include gdi32.inc              ;Модуль для поддержки графического интерфейса
 include kernel32.inc           ;Модуль для работы с ядром ОС
 include comctl32.inc
 
 includelib user32.lib          ;Библиотека для поддержки пользовательского интерфейса
 includelib gdi32.lib           ;Библиотека для поддержки графического интерфейса
 includelib kernel32.lib            ;Библиотека для работы с ядром ОС
 includelib comctl32.lib
 
;-----------------------------------------------------------------------------
;Блок параметров BIOS, расположенный в загрузочном секторе (512 байт) для DOS4
BLOCK_PARAMETER_BIOS struc
    JmpTo BYTE 3 dup(?)         ;Переход на код загрузки (0x0000)
    ID CHAR 8 dup(?)            ;Идентификатор системы (OEM имя) (0x0003)
    wBytesPerSector WORD ?      ;Число байтов в секторе (0x000B)
    bySectorsPerCluster BYTE;Число секторов в кластере (0x000D)
    wSectorsPerReserv WORD ?        ;Число секторов в зарезервированной области (0x000E)
    byNumOfCopyesFAT BYTE ?     ;Число копий таблицы FAT (0x0010)
    wRecordsOnRootDir WORD ?        ;Число записей в корневом каталоге (0x0011)
    wTotalNumberOfSectors WORD ?    ;Общее число секторов (0x0013)
    bySpecOfDOSDriveSystem BYTE ?   ;Описатель накопителя системы DOS (0x0015)
    wNumOfSectorsFAT WORD ?     ;Число секторов в таблице FAT (0x0016)
    wNumOfSectorsOnTrack WORD ? ;Число секторов на дорожке (0x0018)
    wNumOfSide WORD ?           ;Число головок (сторон) (0x001A)
    dwNumOfHideSectors DWORD;Число скрытых секторов (0x001C)
    dwTotalNumOfSectors DWORD ? ;Общее число секторов #2 (0x0020)
    byNumOfPhysicalDisk BYTE;Номер физического дисковода (0x0024)
    byReserved BYTE ?           ;Зарезервировано (0x0025)
    byLabelByte BYTE ?          ;Байт сигнатуры (29H) (0x0026)
    dwSerialNumOfVolume DWORD ? ;Серийный номер тома (0x0027)
    cLabelVolume CHAR 11 dup(?) ;Метка тома (0x002B)
    cFileSystem CHAR 8 dup(?)   ;Файловая система (0x0036)
    Reserved BYTE 450 dup(?)        ;Зарезервировано (0x003E)
BLOCK_PARAMETER_BIOS ends
;-----------------------------------------------------------------------------
;Структура корневого каталога
FILE_RECORD struc
    cFileName BYTE 8 dup(?)     ;Имя файла (0x0000)
    cExtension BYTE 3 dup(?)        ;Расширение файла (0x0008)
    byAttribute BYTE ?          ;Атрибут файла (0x000B)
    Reserved BYTE 10 dup(?)     ;Зарезервировано (0x000C)
    wTime WORD ?                ;Время модификации файла (0x0016)
    wData WORD ?                ;Дата модификации файла (0x0018)
    wInitNumOfCluster WORD ?        ;Начальный номер кластера (0x001A)
    dwFileSize DWORD ?          ;Размер файла в байтах (0x001C)
FILE_RECORD ends
 
.CONST
 align 4
;Секция констант программы
;-----------------------------------------------------------------------------
 IDI_MAINICON EQU 1     ;Идентификатор пиктограммы окна
 IDT_TIMER EQU 10       ;Идентификатор таймера слежения за анализом
 
 dwWidth EQU 640        ;Ширина окна в пикселах
 dwHeight EQU 480       ;Высота окна в пикселах
 
 szClassName CHAR "FSFWINDOW", 0                    ;Класс окна
 szCaption CHAR "курсовик", 0           ;Заголовок окна
 szErrorAnalysis CHAR "Анализ гибкого диска прерван!", 0   ;Сообщение ошибки
 szMes1 CHAR "Пожалуйста вставьте диск в устройство A:", 9, 0
 
.DATA?
 align 4
;Секция неинициализированных данных программы
;-----------------------------------------------------------------------------
 hInstance HINSTANCE ?      ;Дескриптор экземпляра приложения
 
 wc WNDCLASSEX <>           ;Структура класса окна
 msg MSG <>             ;Структура сообщения окна
 OL OVERLAPPED <>           ;Структура для асинхронного чтения файлов
 
 hHandle HWND ?         ;Дескриптор окна
 hEdit1Handle HWND ?        ;Дескриптор редактора текста для загруз. сектора
 hEdit2Handle HWND ?        ;Дескриптор редактора текста для FAT
 hEdit3Handle HWND ?        ;Дескриптор редактора текста для кор. каталога
 hEdit4Handle HWND ?        ;Дескриптор редактора текста для области файлов
 hResultTreeHandle HWND ?   ;Дескриптор древосписка для отображения рез-ов
 hFloppy HANDLE ?           ;Дескриптор гибкого диска A:
 
 uMemSize UINT ?            ;Общий размер гибкого диска в байтах
 uReadBytes UINT ?          ;Количество прочитанных байт из текущего ус-ва
 uTime UINT ?               ;Пройденное время операции
 uOperation UINT ?          ;Идентификатор операции
 
 ;Параметры для загрузочного сектора
 hMemory1 HGLOBAL ?         ;Дескриптор глобальной памяти
 lpMemory1 LPVOID ?         ;Адрес глабольной памяти
 uReadByte1 UINT ?          ;Размер глобальной памяти
 ;Параметры для FAT
 hMemory2 HGLOBAL ?         ;Дескриптор глобальной памяти
 lpMemory2 LPVOID ?         ;Адрес глабольной памяти
 uReadByte2 UINT ?          ;Размер глобальной памяти
 ;Параметры для корневого каталога
 hMemory3 HGLOBAL ?         ;Дескриптор глобальной памяти
 lpMemory3 LPVOID ?         ;Адрес глабольной памяти
 uReadByte3 UINT ?          ;Размер глобальной памяти
 ;Параметры для области файлов
 hMemory4 HGLOBAL ?         ;Дескриптор глобальной памяти
 lpMemory4 LPVOID ?         ;Адрес глабольной памяти
 uReadByte4 UINT ?          ;Размер глобальной памяти
 
 g_nFolder UINT ?           ;Индекс картинки подкаталога в ImageList
 g_nFile UINT ?         ;Индекс картинки файла в ImageList
 g_nCluster UINT ?          ;Индекс картинки кластера в ImageList
 g_nInfo UINT ?         ;Индекс картинки результатов в ImageList
 g_nClusterS UINT ?         ;Индекс картинки склеенного кластера в ImageList
 g_nFloppy UINT ?           ;Индекс картинки гибкого диска в ImageList
 
 szBufer CHAR 1024 dup(?)   ;Буфер-строка
 
.CODE
;Секция кода программы
;-----------------------------------------------------------------------------
; Функция: 
;      HexToHexTable
;
; Описание: 
;      Преобразование строки в последовательность шестнадцатеричных символов
;
; Обращение: 
;      invoke HexToHexTable, lpResult, lpSource, uSizeOfSource, uSepar, uSepLen
;
; Параметры: 
;      lpResult - адрес конечной строки
;      lpSource - адрес исходной строки
;      uSizeOfSource - размер исходной строки в байтах
;      uSepar - число байт, между которыми необходимо ставить разделитель.
;               Этот параметр может быть равен нулю, тогда разделитель не
;               ставиться.
;      uSepLen - число байт, находящиеся в одной строке.
;                Этот параметр может быть равен нулю, тогда все символы будут
;                находиться в одной строке.
;
; Результат: 
;      Эта функция не имеет результата.
;
; Подключаемые модули: 
;      Windows.inc
;-----------------------------------------------------------------------------
align 4
HexToHexTable proc lpResult: LPSTR, lpSource: LPSTR, uSizeOfSource: UINT,
                   uSepar: UINT, uSepLen: UINT
LOCAL uSepars: UINT
    pushad
    mov ecx, uSizeOfSource
    mov edi, lpSource
    mov esi, lpResult
    xor ebx, ebx
    mov uSepars, 0
    _LOOP:
        push ecx
        mov ecx, 2
        mov dl, byte ptr [edi]
        _LOOPL:
            mov al, dl
            shr al, 4
            cmp al, 10
            jb _BELOW
                add al, 7
            _BELOW:
            add al, 48
            mov [esi], al
            add esi, 1
            shl dl, 4
        loop _LOOPL
        add uSepars, 1
        add ebx, 1
        .IF ebx == uSepLen
            mov byte ptr [esi], 13
            mov byte ptr [esi + 1], 10
            add esi, 2
            xor ebx, ebx
            mov uSepars, 0
        .ELSE
            mov eax, uSepars
            .IF eax == uSepar
                mov byte ptr [esi], 9
                add esi, 1
                mov uSepars, 0
            .ENDIF
        .ENDIF
        add edi, 1
        pop ecx
    loop _LOOP
    mov byte ptr [esi], 0
    popad
    ret
HexToHexTable endp
;-----------------------------------------------------------------------------
 
 include Stucks.inc     ;Модуль поиска склеенных файлов
 include Timer4.inc     ;Модуль для чтения области файлов (операция №4)
 include Timer3.inc     ;Модуль для чтения корневого каталога (операция №3)
 include Timer2.inc     ;Модуль для чтения FAT (операция №2)
 include Timer1.inc     ;Модуль для чтения загрузочного сектора (операция №1)
 include Laba9.inc      ;Модуль главной функции окна
 
;-----------------------------------------------------------------------------
align 4
Start:
    ;Инициализация приложения
    invoke GetModuleHandle, NULL
    mov hInstance, eax
    
    ;Регистрация класса окна
    mov wc.cbSize, sizeof WNDCLASSEX
    mov wc.style, CS_HREDRAW or CS_VREDRAW
    mov wc.lpfnWndProc, offset WindowProc
    mov wc.cbClsExtra, NULL
    mov wc.cbWndExtra, NULL
    push hInstance
    pop wc.hInstance
    mov wc.hbrBackground, COLOR_BTNFACE + 1
    mov wc.lpszMenuName, NULL
    mov wc.lpszClassName, offset szClassName
    invoke LoadIcon, hInstance, IDI_MAINICON
    mov wc.hIcon, eax
    mov wc.hIconSm, eax
    invoke LoadCursor, NULL, IDC_ARROW
    mov wc.hCursor, eax
    invoke RegisterClassEx, addr wc
    
    ;Создание используемых шрифтов
    invoke CreateFontIndirect, addr Font1
    mov hFont1, eax
    invoke CreateFontIndirect, addr Font2
    mov hFont2, eax
    
    ;Создание окна
    invoke GetSystemMetrics, SM_CXSCREEN
    sub eax, dwWidth
    shr eax, 1
    mov ebx, eax
    invoke GetSystemMetrics, SM_CYSCREEN
    sub eax, dwHeight
    shr eax, 1
    invoke CreateWindowEx, NULL, addr szClassName, NULL, 
                           WS_OVERLAPPED or WS_CAPTION or WS_SYSMENU or \
                           WS_MINIMIZEBOX or WS_MAXIMIZEBOX or WS_THICKFRAME, 
                           ebx, eax, dwWidth, dwHeight, NULL, NULL, 
                           hInstance, NULL
    mov hHandle, eax
    invoke SendMessage, hHandle, WM_SETFONT, hFont1, 1
    
    ;Вывод окна на экран
    invoke ShowWindow, hHandle, SW_MAXIMIZE
    invoke UpdateWindow, hHandle
    
    ;Цикл сообщений
    .WHILE TRUE
        invoke GetMessage, addr msg, NULL, 0, 0
        .BREAK .IF (!eax)
        invoke TranslateMessage, addr msg
        invoke DispatchMessage, addr msg
    .ENDW
    
    ;Выход из приложения
    invoke ExitProcess, msg.wParam
;-----------------------------------------------------------------------------
END Start
При добавлении windows.inc появляются ошибки, может что-то в коде не так? Помогите!:'(
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.05.2009, 22:18
Ответы с готовыми решениями:

Ошибка при компиляции программы типа HelloWorld
подскажите еще пожалуйста section .data slovo dw &quot;hi forum&quot; section .text ;описывают, что регистры edx и...

Ошибка при компиляции программы типа HelloWorld
Не компилится, ругается на mov dx, hello format pe64 mov ax, cs mov ds, ax mov dx, hello mov ah, 9h int 21h

Ошибка при компиляции программы "fatal error A1000: cannot open file : /masm32/include/windows.inc"
.486 .model flat, stdcall include /masm32/include/windows.inc include /masm32/include/user32.inc include...

1
4 / 4 / 1
Регистрация: 18.05.2009
Сообщений: 9
28.05.2009, 18:46
Какую ошибку выдает?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.05.2009, 18:46
Помогаю со студенческими работами здесь

Во время компиляции этой программы выдается ошибка сегментирования
Здравствуйте! Вот эта программа работает нормально. #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; int...

При компиляции выдается ошибка
import java.lang.String; import java.util.Scanner; class Building{ String quality; String speed; public...

При компиляции выдается ошибка [Error] 'randomize' was not declared in this scope
Доброго времени суток. Есть код написанный на Си, но при компиляции в DevC++ выдает ошибку 'randomize' was not declared in this scope ...

Нашел исходник примера двусвязанного списка, вроде рабочий, но при компиляции выдается ошибка...
Друзья, нашел исходник примера двусвязанного списка, вроде рабочий, но при компиляции выдается ошибка. Я чет, видимо, недопонял и...

Выдается ошибка при компиляции (error C2447: missing function header (old-style formal list?))
не работает программа, выдает ошибку C:\Program Files\Microsoft Visual Studio\MyProjects\564356765456\cfvb n.cpp(6) : error C2447:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru