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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2014, 19:13   #1
Dimka-novitsek
Форумчанин
 
Аватар для Dimka-novitsek
 
Регистрация: 22.04.2013
Сообщений: 588
По умолчанию Помогите скомпилировать.

Код:
;---------Prg_3_1.asm-------------------------------
.686 
.model flat, stdcall	;модель памяти
.data			
message db	'Введите две шестнадцатеричные цифры,$'
.stack			
	db	256	dup ('?')	;сегмент стека
.code			
main	proc		
	mov	ax,@data	;заносим адрес сегмента
	     ;данных в регистр ax
	mov	ds,ax	;ax в ds
;далее текст программы (см. сегмента кода в листинге 3.1 книги)
	mov	ax,4c00h	
	int	21h		
main	endp		
end	main
Ругается так- D:\MYPROG\Новая папка(2)\Prg_3_1.asm(10) : error A2004: symbol conflict

Подскажите, обьясните причину.
Dimka-novitsek вне форума Ответить с цитированием
Старый 25.05.2014, 19:37   #2
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,770
По умолчанию

Паскаль с ассемблером попутал. Взятие адреса в ассемблере -- не "собакой".
Vapaamies вне форума Ответить с цитированием
Старый 25.05.2014, 19:42   #3
Dimka-novitsek
Форумчанин
 
Аватар для Dimka-novitsek
 
Регистрация: 22.04.2013
Сообщений: 588
По умолчанию

А как правильно?
Dimka-novitsek вне форума Ответить с цитированием
Старый 25.05.2014, 20:10   #4
Dimka-novitsek
Форумчанин
 
Аватар для Dimka-novitsek
 
Регистрация: 22.04.2013
Сообщений: 588
По умолчанию

Вот и прога от dorr не компилитя по тем же причинам.

D:\MYPROG\Mass.asm(32) : error A2006: undefined symbol : DGROUP
D:\MYPROG\Mass.asm(35) : error A2006: undefined symbol : DGROUP
D:\MYPROG\Mass.asm(238) : warning A4023: with /coff switch, leading underscore required for start address : start

То- есть, строки
(32)assume ds:@data,es:@data
(35)mov ax, @data
Dimka-novitsek вне форума Ответить с цитированием
Старый 25.05.2014, 20:25   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Dimka-novitsek Посмотреть сообщение
Вот и прога от dorr не компилитя по тем же причинам.

D:\MYPROG\Mass.asm(32) : error A2006: undefined symbol : DGROUP
D:\MYPROG\Mass.asm(35) : error A2006: undefined symbol : DGROUP
D:\MYPROG\Mass.asm(238) : warning A4023: with /coff switch, leading underscore required for start address : start

То- есть, строки
(32)assume ds:@data,es:@data
(35)mov ax, @data
если Вы имеет в виду программу отсюда
то она компилируется TASM 2.5 (for DOS)
правда, метки надо уникальными (или локальными сделать):
Код:
showall proc
	
	@@cycle:
		push cx
		mov cx, 5
		
		@@incyc:
			;show elem
			mov bx, di
			add bx, 2
			push dx
			push cx
			call printtab
			pop cx
			pop dx
			
			;get offset
			mov bx, [di]	;get string length
			add bx, 2		;get buffer length
			add di, bx		;offset
				
		loop @@incyc
		
		pop cx
	loop @@cycle

	ret
showall endp
а в остальном всё хорошо:
dorr1asm.jpg
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.05.2014, 20:29   #6
dorr
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 13
По умолчанию

Я собирал masm'овским ml и doslnk.
dorr вне форума Ответить с цитированием
Старый 25.05.2014, 20:42   #7
Dimka-novitsek
Форумчанин
 
Аватар для Dimka-novitsek
 
Регистрация: 22.04.2013
Сообщений: 588
По умолчанию

Спасибо!!

А я компилирую в masm32

То-есть, вроде так же и тем же...

Чем можно заминить эту самую инструкцию?

Последний раз редактировалось Stilet; 26.05.2014 в 10:09.
Dimka-novitsek вне форума Ответить с цитированием
Старый 26.05.2014, 09:13   #8
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Dimka-novitsek,
сколько можно постить херню?
.686 <-- это
.model flat, stdcall <-- и это чтобы создать ЕХЕ файл под Windows
...
mov ax,@data <-- а это
...
mov ax,4c00h
int 21h <-- и вот это чтобы ЕХЕ файл работал в DOS
Нельзя смешивать в программе куски для Windows и DOS. Должно быть что-то одно

Последний раз редактировалось Mikl___; 26.05.2014 в 09:47.
Mikl___ вне форума Ответить с цитированием
Старый 26.05.2014, 20:12   #9
Dimka-novitsek
Форумчанин
 
Аватар для Dimka-novitsek
 
Регистрация: 22.04.2013
Сообщений: 588
По умолчанию

Нельзя смешивать в программе куски для Windows и DOS. Должно быть что-то одно
Так вот оно что.
Dimka-novitsek вне форума Ответить с цитированием
Старый 26.05.2014, 20:13   #10
Dimka-novitsek
Форумчанин
 
Аватар для Dimka-novitsek
 
Регистрация: 22.04.2013
Сообщений: 588
По умолчанию

Спасибо!!!
Dimka-novitsek вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите скомпилировать проект kakawkin Общие вопросы C/C++ 0 25.10.2009 11:25
Помогите скомпилировать ASM regfre Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 19 08.02.2009 19:26
Помогите скомпилировать, нужен экзэшник Dima11 Помощь студентам 4 02.06.2008 18:51
Q-схемы, помогите скомпилировать. NiganInterCOM Общие вопросы Delphi 2 04.02.2008 20:08
Помогите плиз скомпилировать прогу под Vista Radagast Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 24.10.2007 21:21