· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.WIN32 —› masm, хелло ворлд и все-все-все...

. 1 . 2 . >>

Посл.отвђт Сообщенiе


Дата: Апр 21, 2003 20:12:14

Трямствуй, пипл :)
Решил вот попытать счастия в прогаписании на этом уникальном языке и пока, увы, застрял на этапе компиляции прог...
Стоит у мя Macro Assembler Version 6.14.8444 и RadAsm. Те проги, что идут в примерах к масму, он компилит без базарофф :) знаш всяческия пассы и пр. вариабли я прописал пральна. А вот примеры из того же Абеля не идут ни в какую :(
Вот test.asm :

SEG segment
org 100h

Begin:
mov ah,9
mov dx,offset Message
int 21h
int 20h
Message db 'Hello, World!$'
CSEG ends
end Begin

Компилим его : ml /AT test.asm

Assembling: ../test.asm
Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

/z2
"test.obj" /t
"test.com"
NUL
LINK : warning LNK4044: unrecognized option "z2"; ignored
LINK : warning LNK4044: unrecognized option "t"; ignored
test.obj : warning LNK4033: converting object format from OMF to COFF
test.obj : fatal error LNK1190: invalid fixup found, type 0x0001

Такия катавасия на любой проге :(
Вотафака, таваристчи? Выручайте чайника :)


Дата: Апр 21, 2003 20:54:46

Попробуй вместо SEG в начале написать CSEG!!!


Дата: Апр 22, 2003 00:00:14

Sergey
там и так CSEG... скопировал крифо в форум :)


Дата: Апр 22, 2003 01:04:40

Лично мой совет: переходи на фасм....
ну можеш к нему и не прислушиваться...
В фасме синтаксис намного проще и нет этих всяких обязательных директив, без которых ничо не работает... таких как segment
begin
end begin и тому подобных... а вот так будет выглядеть твоя прога
--------------------------------------------
mov ah,9
mov dx,Message
int 21h
int 20h
Message db 'Hello, World!$'
--------------------------------------------
не правда ли проще ?


Дата: Апр 22, 2003 01:33:49

spaces
пасиб за совет, но ИМНО мне ещё рано выбирать, что лучше и где удобнее... Я вот не могу понять, чё мне никто не скажет, как мою траблу решить...


Дата: Апр 22, 2003 01:38:57

spaces
пасиб за совет, но ИМНО мне ещё рано выбирать, что лучше и где удобнее... Я вот не могу понять, чё мне никто не скажет, как мою траблу решить...


Дата: Апр 22, 2003 02:10:03

2 _V01d
по-моему, как раз самое время перейти на FASM. Он проще и ближе к процессору.
На MASM хорошо переходить после C. Однако будет куча вопросов по адресации и "необходимым" ритуалам инициализации и прекомпиляции... А на FASM берёшь IA-32 (AKA книга Интелловских Гномов) и вперёд ....
Что касается MASM и TASM, то их, понимать тоже, ofcozно, не помешает.
Как я, например, постигал FASM? Просто
переписывал на FASM туториалы Икзелиона... Потом в исходники ассемблера полез ...
Так-что вперёд на страничку FASM и доброго кода :)))


Дата: Апр 22, 2003 02:36:06

spaces
Zorro
Уговорили :) Действительно, на фасме всё оки, тока, spaces, зачем
org 100h
было удалять? без него кака фсякая печатаецца, никарашо :)


Дата: Апр 22, 2003 02:43:27

да действительно, org 100h удалять не надо эт я нечайно стёр...
но ведь это директива относящаяся ни к ассемблеру и не к процессору а к особенностям операционной системы....без этого конечно никак....


Дата: Апр 22, 2003 16:56:30

блинаааа... Не, ну народ, неужели нихто не знает, как эта прога выглядит на Masmе?? :((


Дата: Апр 22, 2003 18:55:25

_V01d
Тебе, наверное, линкер другой нужен. Возьми какой-нить другой MASM, не 32.


Дата: Апр 23, 2003 00:38:31

Аноним
у мя 7 масма ща, ну не верю я, что она не может скомпилить dos прогу....


Дата: Апр 23, 2003 01:55:19

_V01d
у мя 7 масма ща, ну не верю я, что она не может скомпилить dos прогу....
Скомпилировать может. А вот как этим линкером .com создать?


Дата: Апр 23, 2003 03:53:28

_V01d
Ваш код прекрасно компилируется:
[output]
c:\ml.exe /AT test.asm
Microsoft (R) Macro Assembler Version 6.15.8803
Copyright (C) Microsoft Corp 1981-2000. All rights reserved.

Assembling: test.asm

Microsoft (R) Segmented Executable Linker Version 5.60.339 Dec 5 1994
Copyright (C) Microsoft Corp 1984-1993. All rights reserved.

Object Modules [.obj]: test.obj /t
Run File [test.com]: "test.com"
List File [nul.map]: NUL
Libraries [.lib]:
Definitions File [nul.def]:
[/output]


Дата: Апр 23, 2003 04:57:52

У _V01d линкер другой:
Microsoft (R) Incremental Linker Version 5.12.8078

. 1 . 2 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.128