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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2009, 01:08   #1
Doktor
 
Регистрация: 04.07.2008
Сообщений: 4
По умолчанию Ошибки компилятора

Извините если что не так,я здесь новенький,исправлюсь
В техникуме учусь,на втором курсе,задали задачку:

Код:
Title Summa
Segm segment stack 'stack'
tst db 50 dup(?)
Segm ends 
Data segment public 'data'
A1 DW 12h
A2 DW 5h
Sum db ?
Data ends
Code segment public 'code'
assume cs:Code, ds:Data
Start: mov ax,Data
mov ds,ax
mov ax,A1
add ax,A2
mov word ptr Sum,ax
mov ah,4Ch
int 21h
Code ends
end start
Но при линковки компляции и т.п. программой Negatory Assembly Studio 2.0 идёт ряд ошибок :
Microsoft (R) Macro Assembler Version 6.14.8444 Copyright (C) Microsoft Corp 1981-1997. All rights reserved. Assembling: 123.asm 123.asm(15) : error A2006: -benign record redefinition : A2 123.asm(20) : error A2006: -benign record redefinition : start 123.asm(12) : error A2004: 123.asm(20) : error A2148: ssion : start Generating Code...
Linking...
Microsoft (R) Incremental Linker Version 5.12.8078 Copyright (C) Microsoft Corp 1992-1998. All rights reserved. : warning LNK4001: no object files specified; libraries used : error LNK2001: unresolved external symbol _WinMainCRTStartup E:\Виртуальный диск\123\Release\123.exe : fatal error LNK1120: 1 unresolved externals Link failed

Что делать подскажите,через неделю нужно сдавать работу,а я завис на первой задачки по асму..

Последний раз редактировалось rpy3uH; 14.01.2009 в 09:26.
Doktor вне форума Ответить с цитированием
Старый 14.01.2009, 02:52   #2
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Что-то странное вы делаете. По моему всё таки MASM32 не очень предназначен для компиляции DOS программ.
Помучал я его маленько - скомпилил в конечном итоге, правда почему то только с директивами упрощённой сегментации и в модель памяти small

Код:
.model small
.stack 256h
.data
A1 DW 12h
A2 DW 5h
Sum db 0
Hello db 'Hello$'

.code
main proc
mov ax, @data
mov ds,ax
mov ah,09h
mov dx, offset Hello
int 21h
mov ax,A1
add ax,A2
mov word ptr Sum,ax
mov ah,4Ch
int 21h
main endp
end main
Скомпилировал, а линковать всё равно link_om из пакета masm32 не получилось. Tlink - пожалуйста, линкует, а у link.exe (той версии, которой вы используете), я даже ключей для линковки DOS программ не нашёл (мож я чего ещё и не в курсе). Может знающие люди подскажут ?

Вобщем вот таким BAT-ом компилировал:
Код:
@echo off
if exist "proga14.exe" del "proga14.exe"
if exist "proga14.obj" del "proga14.obj"
if exist "proga14.map" del "proga14.map"
ml /c proga14.asm >mess_asm.txt
if errorlevel 1 goto errasm
tlink proga14.obj >mess_link.txt
rem if errorlevel 1 goto errlink
goto TheEnd
:errlink
echo _
echo Link error
goto TheEnd
:errasm
echo _
echo Assembly Error
goto TheEnd
:TheEnd
pause
Версия линковщика Turbo Link Version 5.1

А что, обязательно в Negatory Assembly Studio 2.0 задание надо выполнить.? Я честно говоря вообще не знаю что это такое. Вроде для доса куда уж проще - tasm или masm, только не Macro Assembler Version 6.14.8444.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru

Последний раз редактировалось Ulex; 14.01.2009 в 02:56.
Ulex вне форума Ответить с цитированием
Старый 14.01.2009, 20:15   #3
Doktor
 
Регистрация: 04.07.2008
Сообщений: 4
По умолчанию

Спасибо те ограмадное,dos программа компиллируется,всё,но при запуске она просто исчезает и всё,т.е. два раза кликаю на файле,на пару секунд появляется окно DOS и исчезает,что делать,работу после завтра сдавать,потом в другой программе тот же набор ошибок,ругается на строку Start: mov ax, Data
и на последнюю то же самое что и с предыдушей,может у меня masm глючный???И для чего нужно Линкование??))Знаю что вопрос полного ламера,но я заочник,и как то линкование пролетел))
Код:
Title Laba9
Segm segment stack 'stack'
tst db 50 dup(?)
Segm ends
Data segment public 'data'
txt db 'Gruppa',10,13,'$'
Data ends
code segment public 'code'
assume cs: Code,ds: Data
Start: mov ax, Data
mov ds,ax
mov es,ax
lea dx,txt
mov ah,09h
int 21h
mov ah,4Ch
int 21h
code ends
А вот эти же ошибки :
A2088: end directive required at end of file
A2004: symbol type conflict
Doktor вне форума Ответить с цитированием
Старый 14.01.2009, 20:43   #4
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

То что исчезает - это нормально, он же по сути ничего не делает. Поэтому отработала и закрылась.
Всё таки любопытно как вы её слинковали. Приведите пожалуйста параметры командных строк компилятора и линковщика.

A2088: end directive required at end of file, чтобы исправить, надо вот так написать:

Код:
Title Laba9
Segm segment stack 'stack'
tst db 50 dup(?)
Segm ends
Data segment public 'data'
txt db 'Gruppa',10,13,'$'
Data ends
code segment public 'code'
assume cs: Code,ds: Data
Start: mov ax, Data
mov ds,ax
mov es,ax
lea dx,txt
mov ah,09h
int 21h
mov ah,4Ch
int 21h
code ends
end Start
Во вложении немного про линковщик.
Вложения
Тип файла: rar masm.rar (14.1 Кб, 19 просмотров)
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru

Последний раз редактировалось Ulex; 14.01.2009 в 21:23.
Ulex вне форума Ответить с цитированием
Старый 14.01.2009, 22:48   #5
Doktor
 
Регистрация: 04.07.2008
Сообщений: 4
По умолчанию

Ну,одной ошибкой меньше,но masm32как то странно себя ведёт,либо не реагирует на нажатие строчек в меню(compile,вообщем все строчки в меню project),либо выдаёт ошибки как в приложении,не подскажешь что за фигня??
А это набор ошибок от Negatory ...
1231.asm(9) : error A2006: -benign record redefinition : Code
1231.asm(10) : error A2004:
1231.asm(19) : warning A4023: length of symbol previously assumed to be different : Start
: warning LNK4001: no object files specified; libraries used
: error LNK2001: unresolved external symbol _WinMainCRTStartup

Спасибо тебе,не знаю,что б я без тебя делал,а то что исходники первой программы отличается от твоей,будет заметно на уже готовой программе??
Вложения
Тип файла: rar 21.rar (2.8 Кб, 17 просмотров)
Doktor вне форума Ответить с цитированием
Старый 16.01.2009, 00:42   #6
Doktor
 
Регистрация: 04.07.2008
Сообщений: 4
По умолчанию

Огромная благодарность за помощь в решении проблемы,надеюсь что ваш проект и лично Вы будете и впредь помогать новичкам в решении их проблем,и не забывайте брать мзду с особо наглых
Удачи!!
Doktor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
директивы компилятора delphin100 Общие вопросы Delphi 4 07.10.2008 12:35
Исходники компилятора Simply-Art Свободное общение 1 08.07.2008 13:17
Ошибка компилятора??? KIRILL_FR Общие вопросы Delphi 10 25.04.2008 13:38
Дэльфа без компилятора Cherni Voron Свободное общение 5 15.06.2007 09:06