Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Assembler / 22 сообщений из 22, страница 1 из 1
28.05.2009, 05:12:21
    #36012223
Master4
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
Не компилируется в masm,tasm,nasm,fasm. Ругается на первую, затем на последующие.
Что за чепуха? Код взят из учебника.
Кажется мне, мне кажется, кажется что здесь чего то не хватает или не правильно вовсе..
Видать секреты ассемблера доступны избранным?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CSEG segment
org 100h

Begin:
mov ah, 9 
mov dx,offset Message
int 21h

int 20h

Message db 'Hello, world!$'
CSEG ends
end Begin

Что я делаю? сохранил код в 001.asm, открыл в fasm(больше понравился), открыл 001.asm в fasm
и Run>Compile.

Камнями не кидайтесь, я тоже умею и кидаться и драться и стебаться и водку пить.
...
Рейтинг: 0 / 0
28.05.2009, 05:17:51
    #36012224
Master4
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
зайду на wasm посмотрю почитаю.
А какие книги посоветуете? в каких книгах написано как и что делать и как правильно компилировать? Хочеться за один раз скачать много хороших книг от начала и до сложных программ, от Hello world и заканчивая тем чем можно закончить. Работа с BIOS, серьёзная работа с внешними устройствами, как всё работает и т.д.
...
Рейтинг: 0 / 0
28.05.2009, 06:23:56
    #36012230
avb1003
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
Master4Не компилируется в masm,tasm,nasm,fasm. Ругается на первую, затем на последующие.... Как ругается? Матом? "Компилятор ругается" - так говорят для краткости. Компиляторы не ругаются, а сообщают об ошибках.
И нужно не переживать, а разбираться в этих сообщениях или приводить их в форумах, если вы хотите, чтоб Вам помогли.
Master4
Что за чепуха? Код взят из учебника.
...Вообще-то учебники нужно читать, прежде чем что-либо из них копировать. Master4
Кажется мне, мне кажется, кажется что здесь чего то не хватает или не правильно вовсе..
Видать секреты ассемблера доступны избранным?Странно, а программа, данная Vowk компилируетс ?( Советы Vowk )
Master4
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CSEG segment
org 100h

Begin:
mov ah, 9 
mov dx,offset Message
int 21h

int 20h

Message db 'Hello, world!$'
CSEG ends
end Begin

Что я делаю? сохранил код в 001.asm, Скорей всего неправильный формат. Все ассемблеры, в которых я работал, требовали, чтобы непомеченные операторы отделялись от начала
строки определенным числом пробелов или символом табуляции, также в программе outstr.asm из архива VowkMaster4

открыл в fasm(больше понравился), открыл 001.asm в fasm
и Run>Compile.

Камнями не кидайтесь, я тоже умею и кидаться и драться и стебаться и водку пить.Это навыки, безусловно, полезные, на для овладения ассемблером не обязательны.
Master4...А какие книги посоветуете?По-моему, для Вас будет полезна книга "Язык ассемблера для IBM PC" . Авторы П.Нортон, Д.Соухэ. Там не первых,
порядка 80-и, страницах вообще вместо ассемблера используется команда Debug.
...
Рейтинг: 0 / 0
28.05.2009, 07:41:33
    #36012273
Master4
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
avb1003,

учебники читаю, и там любезно пишут "Скопируйте, да проверьте, должно работать."
Если большенство ничего не умеет кроме копирования, так я не большенство.
Буду гугл мучать, парсить, искать книги. Там есть хорошие книги, или с хорошей красивой обложкой точно
...
Рейтинг: 0 / 0
28.05.2009, 12:57:06
    #36013009
jsXYZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
ВСЕ-же нормально

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
>tasm /l s	-- ОК!
>type s.lst

Turbo Assembler	 Version  3 . 1 	     28 / 05 / 09   12 : 53 : 09 	    Page  1 
s.ASM
       1 	 0000 			     CSEG segment
       2 				     org 100h
       3 
       4 	 0100 			     Begin:
       5 	 0100   B4  09 		     mov ah, 9 
       6 	 0102   BA 0109r		     mov dx,offset Message
       7 	 0105   CD  21 		     int 21h
       8 
       9 	 0107   CD  20 		     int 20h
      10 
      11 	 0109    48   65  6C 6C 6F 2C	 20 +  Message db	'Hello,	world!$'
      12 	       77  6F  72  6C  64   21 	 24 
      13 	 0117 			     CSEG ends
      14 				     end Begin
Turbo Assembler	 Version  3 . 1 	     28 / 05 / 09   12 : 53 : 09 	    Page  2 
Symbol Table

Symbol Name			  Type	 Value
??DATE				  Text	 "28/05/09"
??FILENAME			  Text	 "s	  "
??TIME				  Text	 "12:53:09"
??VERSION			  Number 030A
@CPU				  Text	 0101H
@CURSEG				  Text	 CSEG
@FILENAME			  Text	 S
@WORDSIZE			  Text	  2 
BEGIN				  Near	 CSEG: 0100 
MESSAGE				  Byte	 CSEG: 0109 
Groups & Segments		  Bit Size Align  Combine Class
CSEG				   16    0117  Para	  none
...
Рейтинг: 0 / 0
28.05.2009, 16:03:06
    #36013732
avb1003
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
Master4
..
учебники читаю,
...Похоже, что Вы их читаете с помощью каких-нибудь приёмов скорочтения, типа "по-диагонали".
Так можно подумать судя по Вашим репликам на форуме. Если это действительно так, то с ассемблером
Вам будет тяжело, так как он требует особенного внимания к деталям.
Master4...
и там любезно пишут "Скопируйте, да проверьте, должно работать."
...И, как правило, не врут. Но в новой области иногда требуются некоторые усилия,
иногда значительные, что и подмечает народная мудрость
в пословице: "Лиха беда - начало".
Master4...
Если большенство ничего не умеет кроме копирования, так я не большенство.
...Думаю, что Вы сильно ошибаетесь насчет большинства.
Master4...
Буду гугл мучать, парсить, искать книги. Там есть хорошие книги, или с хорошей красивой обложкой точно Бог в помощь.
...
Рейтинг: 0 / 0
29.05.2009, 00:09:12
    #36014633
Master4
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
я не сомневался что будет всё так.
Книги то я читаю как положено. На форуме все умные.
а большенство или большинсово мне глубоко всё равно. Денег и щастья в жизне не прибавит.
Модератор:
большая просьба не выходить за рамки заданной Вами темы
...
Рейтинг: 0 / 0
29.05.2009, 00:17:15
    #36014641
Master4
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
avb1003
Если большенство ничего не умеет кроме копирования, так я не большенство.
...

у меня работа, мне не приносит удовольствие грузится еще как правильно писать.
Свои задачи я выполняю, я живу дальше, боьше ничего не надо. А то что обо мне думают, мня не волнует.
...
Рейтинг: 0 / 0
29.05.2009, 07:37:53
    #36014805
Assembler
...
Рейтинг: 0 / 0
08.06.2009, 04:41:57
    #36030212
ASM' оголик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
Master4
-------------------------------------------------------------------------------------------

Код: plaintext
 0111 .png

Всё работает. Незнаю как под MASM'ом ( я им не пользуюсь, и некогда не пользовался по настоящему,так чисто побаловаться и вообщемто не собираюсь, он мне не нравится), но под FASM'ом всё работает, я только убрал ненужные метки ( CSEG segment, CSEG ends,Begin: и end Begin)которые не используются в синтаксисе FASM'а . Попробуй без меток "Begin: и end Begin" возможно он на них ругается?.

Лучше пользуйся FASM'ом, он маленький (всего 1Мб в запак. виде и 2.5Мб в распак. виде) и синтаксис не замусарин всяким дерьмом как в MASM'е. В FASM'е немного используется синтаксис: MASM'а , TASM'а и NASM'a, как говорится всего по немножку и выкинуто всё лишнее. Если надо, вот ссылка ( FASM или Flat Assembler (ИМХО лучший) ).

Да вот ещё, запускать файл лучше из коммандной строки (CMD или COMMAND), а то ты ничего не увидешъ.
...
Рейтинг: 0 / 0
08.06.2009, 05:00:07
    #36030217
ASM' оголик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
Забыл сказть что FASM под DOS'ом не работает, а только под эмулятором DOS'а который находится в WIN'де, начиная с "WINDOWS 1.0" и до WINDOWS XP. Насчёт WINDOWS VISTа и WINDOWS 7 не знаю, не пользуюсь, слишком обжористые. Вот твой исходник под FASM, работчий с бинарником.
...
Рейтинг: 0 / 0
26.08.2009, 15:48:18
    #36164321
Pasha_o
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
У меня тоже проблемы с этим примером.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CSEG segment
org 100h

Begin:
mov ah, 9 
mov dx,offset Message
int 21h

int 20h

Message db 'Hello, world!$'
CSEG ends
end Begin
Программа компилируется и запускается, но выводится сначала мусор, а затем сообщение Hello, world!.
Чтобы выводилось только Hello, world! приходится вместо
Код: plaintext
mov dx,offset Message

писать
Код: plaintext
mov dx,offset Message+100h

Кто-нибудь значет в чем тут проблема?
...
Рейтинг: 0 / 0
26.08.2009, 18:49:39
    #36164761
Новый Год
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
уты а я тоже всякую фигню писать могу на ассеблере

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
CTL        CSECT
CTL        AMODE 31
           SAVE   (14,12)
           BALR   12,0
           USING  *,12
           ST     13,SAVEAREA+4
           LA     15,SAVEAREA
           ST     15,8(13)
           LR     13,15
           MVC    LINE(12),=CL12'Hello world!'
*
           OPEN   (SYSPRINT,(OUTPUT))
           PUT    SYSPRINT,LINE   
           CLOSE  SYSPRINT    
*
           L      13,4(13)
           RETURN (14,12),RC=0
*
SYSPRINT   DCB    DSORG=PS,LRECL=132,RECFM=F,MACRF=PM,DDNAME=SYSPRINT 
*
LINE       DC     CL132' '
SAVEAREA   DS     18F
           END
...
Рейтинг: 0 / 0
27.08.2009, 00:26:02
    #36165047
студентик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
Новый Годуты а я тоже всякую фигню писать могу на ассеблере

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
CTL        CSECT
CTL        AMODE 31
           SAVE   (14,12)
           BALR   12,0
           USING  *,12
           ST     13,SAVEAREA+4
           LA     15,SAVEAREA
           ST     15,8(13)
           LR     13,15
           MVC    LINE(12),=CL12'Hello world!'
*
           OPEN   (SYSPRINT,(OUTPUT))
           PUT    SYSPRINT,LINE   
           CLOSE  SYSPRINT    
*
           L      13,4(13)
           RETURN (14,12),RC=0
*
SYSPRINT   DCB    DSORG=PS,LRECL=132,RECFM=F,MACRF=PM,DDNAME=SYSPRINT 
*
LINE       DC     CL132' '
SAVEAREA   DS     18F
           END

Не просветите, под какой это процессор?
...
Рейтинг: 0 / 0
27.08.2009, 00:44:37
    #36165055
jsXYZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
Pasha_oУ меня тоже проблемы с этим примером.
Код: plaintext
mov dx,offset Message+100h

Кто-нибудь значет в чем тут проблема?
забыли вставить
Код: plaintext
	assume cs:cseg,ds:cseg,es:cseg,ss:cseg
и разделение на сегменты

Новый Год
SAVE (14,12)
BALR 12,0
USING *,12
ST 13,SAVEAREA+4
LA 15,SAVEAREA
ST 15,8(13)
LR 13,15


все еще пользуются ассемблером IBM360 (EC-ЭВМ)??
...
Рейтинг: 0 / 0
27.08.2009, 00:48:08
    #36165056
Изопропил+
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
jsXYZ
все еще пользуются ассемблером IBM360 (EC-ЭВМ)??

У того директивы AMODE 31 не было
...
Рейтинг: 0 / 0
27.08.2009, 10:06:34
    #36165408
Pasha_o
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
jsXYZ
забыли вставить
Код: plaintext
	assume cs:cseg,ds:cseg,es:cseg,ss:cseg
и разделение на сегменты


Добавил указанную строчку.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CSEG segment
org 100h
assume cs:cseg,ds:cseg,es:cseg,ss:cseg

Begin:
mov ah, 9 
mov dx,offset Message
int 21h

int 20h

Message db 'Hello, world!$'
CSEG ends
end Begin

По прежнему выводится какой-то мусор из памяти вначале, а потом уже сообщение Hellow, world!
Как сделать разделение на сегменты?
...
Рейтинг: 0 / 0
31.08.2009, 01:48:20
    #36169808
jsXYZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
Pasha_o,

Код: plaintext
1.
2.
assume cs:cseg,ds:cseg,es:cseg,ss:cseg
segment	cseg
	org	100h
...
Рейтинг: 0 / 0
31.08.2009, 16:21:44
    #36170981
Pasha_o
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
jsXYZPasha_o,

Код: plaintext
1.
2.
assume cs:cseg,ds:cseg,es:cseg,ss:cseg
segment	cseg
	org	100h


Добавил, ничего не изменилось.

Оказывается, нужно было в начале программы написать эти две строчки:
Код: plaintext
1.
mov ax,cseg
mov ds,ax 
Вот так всё работает.
...
Рейтинг: 0 / 0
09.11.2009, 05:36:44
    #36297804
Master4
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
ASM' оголик, спасибо большое, заработало.
Ассемблер хорош не только своей свободой и могуществом, но еще и тем что выше него ничего нет, можно засесть, и всю жизнь учить этот язык вместо учения многих высокоуровневых.
...
Рейтинг: 0 / 0
09.11.2009, 11:07:43
    #36298166
zloy den
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
Master4ASM' оголик, спасибо большое, заработало.
Ассемблер хорош не только своей свободой и могуществом, но еще и тем что выше него ничего нет, можно засесть, и всю жизнь учить этот язык вместо учения многих высокоуровневых.

Спасибо, поржал
...
Рейтинг: 0 / 0
09.11.2009, 14:42:24
    #36298851
Master4
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler
zloy den, я доволен результатом. ты поржал - именно этого я и хотел.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Assembler / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]