Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2012, 18:29   #1
Gtnz8
Пользователь
 
Аватар для Gtnz8
 
Регистрация: 09.08.2012
Сообщений: 95
По умолчанию Как исправить ошибку?

При компиляции этой простенькой программы выдает ошибку fatal error A1010:unmatched block nesting data1
masm из хатчевского пакета
.586
.model flat
option casemap:none
datal segment
src DB "Test String To Copy"
len EQU $-src
data1 ends
data2 segment public
dst DB len+1 DUP('+')
data2 ends
Как исправить чтобы заработало?
code segment
_seg_ex proc
assume CS:FLAT.DS:FLAT.SS:FLAT.ES:FLAT.FS: ERROR.GS:ERROR
mov ESI.offset data1
mov EDI.offset data2
cld
mov CX.len
rep movsb
mov EAX.offset data2
ret
_seg_ex endp
code ends
end
Gtnz8 вне форума Ответить с цитированием
Старый 22.12.2012, 18:52   #2
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Gtnz8
Код:
.586
.model flat
option casemap:none
.code
start: mov ESI,offset src
         mov EDI,offset dst
         mov CX,len
         rep movsb
         mov EAX,offset dst
         retn
.data
src DB "Test String To Copy"
len EQU $-src
dst DB len+1 DUP('+')
end start
Mikl___ вне форума Ответить с цитированием
Старый 22.12.2012, 18:58   #3
Gtnz8
Пользователь
 
Аватар для Gtnz8
 
Регистрация: 09.08.2012
Сообщений: 95
По умолчанию

Благодарю Mikl.
Gtnz8 вне форума Ответить с цитированием
Старый 22.12.2012, 22:06   #4
Gtnz8
Пользователь
 
Аватар для Gtnz8
 
Регистрация: 09.08.2012
Сообщений: 95
По умолчанию

Пример кода из учебника Крупника при компиляции почти в каждой строчке обнаружена ошибка, что здесь не так?
Код:
.386
.model flat.stdcall
includelib\masm32\lib\kernel32.lib
ExitProcess proto:DWORD
.code
start:
mov eax.2
add eax.3
invoke ExitProcess.0
end start
Gtnz8 вне форума Ответить с цитированием
Старый 23.12.2012, 11:30   #5
Gtnz8
Пользователь
 
Аватар для Gtnz8
 
Регистрация: 09.08.2012
Сообщений: 95
По умолчанию

Сам разобрался, для такого кода строчка includelib не нужна.
Я настырный всё равно докопаюсь.
Gtnz8 вне форума Ответить с цитированием
Старый 23.12.2012, 12:16   #6
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Gtnz8
нужно быть не настырным, а внимательным, или сходить к окулисту -- и в первой, и во второй задаче у тебя стоят точки там, где должны быть запятые
Mikl___ вне форума Ответить с цитированием
Старый 23.12.2012, 12:19   #7
Gtnz8
Пользователь
 
Аватар для Gtnz8
 
Регистрация: 09.08.2012
Сообщений: 95
По умолчанию

Да, вы правы с внимательностью прям беда, признаю за собою такой грех.
А зрение у меня 1.
Gtnz8 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как исправить ошибку Lotles Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 22.02.2012 20:11
как исправить ошибку? phasha Помощь студентам 0 11.01.2012 21:32
Как исправить ошибку yana33311 Паскаль, Turbo Pascal, PascalABC.NET 2 17.04.2011 21:07
Как исправить ошибку? True_girl Помощь студентам 0 19.04.2010 22:47