Посл.ответ |
Сообщение |
Ранг: 42.0 (посетитель) Активность: 0.04↘0 Статус: Участник
|
Создано: 18 декабря 2004 02:42 · Личное сообщение · #1
Используя массив более чем из 48 определённых элементов получаю ошибку при компиляции:
error A2042: statement too complex
Почему так? Вот пример:
.386
.model flat, stdcall
option casemap: none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
.data
array db 030h, 031h, 032h, 033h, 034h, 035h, 036h, 037h, 038h, 039h,
030h, 031h, 032h, 033h, 034h, 035h, 036h, 037h, 038h, 039h,
030h, 031h, 032h, 033h, 034h, 035h, 036h, 037h, 038h, 039h,
030h, 031h, 032h, 033h, 034h, 035h, 036h, 037h, 038h, 039h,
030h, 031h, 032h, 033h, 034h, 035h, 036h, 037h;, 038h, 039h
.data?
stdout dd ?
nWritten dd ?
.code
start:
invoke GetStdHandle, STD_OUTPUT_HANDLE
mov stdout, eax
invoke WriteConsoleA, stdout, ADDR array, SIZEOF array, ADDR nWritten, NULL
invoke ExitProcess, NULL
end start
| Сообщение посчитали полезным: |
|
Ранг: 450.1 (мудрец) Активность: 0.26↘0 Статус: Участник
|
Создано: 18 декабря 2004 03:53 · Личное сообщение · #2
Сделай так:
array db 030h, 031h, 032h, 033h, 034h, 035h, 036h, 037h, 038h, 039h
db 030h, 031h, 032h, 033h, 034h, 035h, 036h, 037h, 038h, 039h
db 030h, 031h, 032h, 033h, 034h, 035h, 036h, 037h, 038h, 039h
db 030h, 031h, 032h, 033h, 034h, 035h, 036h, 037h, 038h, 039h
db 030h, 031h, 032h, 033h, 034h, 035h, 036h, 037h, 038h, 039h
array_len EQU $ - OFFSET array
array_len - это вместо SIZEOF array
| Сообщение посчитали полезным: |
Ранг: 42.0 (посетитель) Активность: 0.04↘0 Статус: Участник
|
Создано: 18 декабря 2004 04:25 · Личное сообщение · #3
Asterix
БОЛЬШОЕ спасибо, это то что нужно
| Сообщение посчитали полезным: |
 Ранг: 673.3 (! !), 400thx Активность: 0.4↘0.31 Статус: Участник CyberMonk
|
Создано: 17 июня 2007 00:55 · Поправил: mak · Личное сообщение · #4
Вот код ...
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: |
 Ранг: 673.3 (! !), 400thx Активность: 0.4↘0.31 Статус: Участник CyberMonk
|
Создано: 17 июня 2007 01:08 · Личное сообщение · #5
вот он ..отредактировал и все пропало ..жость ...вобщем вот он , и там не могу массив обявить ошибку выдает такую же , что делать де ошибка ??? fa01_16.06.2007_CRACKLAB.rU.tgz - masiv.txt
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: |
Ранг: 495.3 (мудрец) Активность: 0.3↘0 Статус: Участник
|
Создано: 17 июня 2007 02:13 · Личное сообщение · #6
Во-первых не db, а dd.
Во-вторых написано же: строка слишком длинная.
Приведи все строки к виду:
dd 0C0AC29B7h,0C97C50DDh,03F84D5B5h,0B5470917h,09216D5D9h,08979FB1Bh
То есть dd в начале каждой и нет запятых нигде. Делать это удобнее всего в RadASM'e включив вертикальные блоки (ctrl+B > Shift+курсор вниз > "dd").
----- Всем привет, я вернулся | Сообщение посчитали полезным: |
 Ранг: 673.3 (! !), 400thx Активность: 0.4↘0.31 Статус: Участник CyberMonk
|
Создано: 17 июня 2007 15:15 · Личное сообщение · #7
Спасибо !!! )))) я сделал в Емедиторе за пару сек) Удобнее . Пасиб Bitfry
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: |
Ранг: 29.2 (посетитель) Активность: 0.01↘0 Статус: Участник
|
Создано: 18 июня 2007 05:34 · Личное сообщение · #8
Asterix пишет:
Сделай так:
array db 030h, 031h, 032h, 033h, 034h,
...а можно и так...
.data
simptomStr label byte
db 08 dup (20h)
db 30h
db 30h
db 31h
db 30h
db 049h dup (20h)
db 0dh
db 0ah
db 08 dup (20h)
db 31h
db 31h
db 30h
db 30h
db 049h dup (20h)
db 0dh
db 0ah
| Сообщение посчитали полезным: |