powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Assembler
22 сообщений из 22, страница 1 из 1
Assembler
    #36012223
Фотография Master4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не компилируется в 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
Assembler
    #36012224
Фотография Master4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зайду на wasm посмотрю почитаю.
А какие книги посоветуете? в каких книгах написано как и что делать и как правильно компилировать? Хочеться за один раз скачать много хороших книг от начала и до сложных программ, от Hello world и заканчивая тем чем можно закончить. Работа с BIOS, серьёзная работа с внешними устройствами, как всё работает и т.д.
...
Рейтинг: 0 / 0
Assembler
    #36012230
avb1003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Assembler
    #36012273
Фотография Master4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avb1003,

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

Код: 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
Assembler
    #36013732
avb1003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Master4
..
учебники читаю,
...Похоже, что Вы их читаете с помощью каких-нибудь приёмов скорочтения, типа "по-диагонали".
Так можно подумать судя по Вашим репликам на форуме. Если это действительно так, то с ассемблером
Вам будет тяжело, так как он требует особенного внимания к деталям.
Master4...
и там любезно пишут "Скопируйте, да проверьте, должно работать."
...И, как правило, не врут. Но в новой области иногда требуются некоторые усилия,
иногда значительные, что и подмечает народная мудрость
в пословице: "Лиха беда - начало".
Master4...
Если большенство ничего не умеет кроме копирования, так я не большенство.
...Думаю, что Вы сильно ошибаетесь насчет большинства.
Master4...
Буду гугл мучать, парсить, искать книги. Там есть хорошие книги, или с хорошей красивой обложкой точно Бог в помощь.
...
Рейтинг: 0 / 0
Assembler
    #36014633
Фотография Master4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я не сомневался что будет всё так.
Книги то я читаю как положено. На форуме все умные.
а большенство или большинсово мне глубоко всё равно. Денег и щастья в жизне не прибавит.
Модератор:
большая просьба не выходить за рамки заданной Вами темы
...
Рейтинг: 0 / 0
Assembler
    #36014641
Фотография Master4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avb1003
Если большенство ничего не умеет кроме копирования, так я не большенство.
...

у меня работа, мне не приносит удовольствие грузится еще как правильно писать.
Свои задачи я выполняю, я живу дальше, боьше ничего не надо. А то что обо мне думают, мня не волнует.
...
Рейтинг: 0 / 0
Assembler
    #36014805
...
Рейтинг: 0 / 0
Assembler
    #36030212
ASM' оголик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Assembler
    #36030217
ASM' оголик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл сказть что FASM под DOS'ом не работает, а только под эмулятором DOS'а который находится в WIN'де, начиная с "WINDOWS 1.0" и до WINDOWS XP. Насчёт WINDOWS VISTа и WINDOWS 7 не знаю, не пользуюсь, слишком обжористые. Вот твой исходник под FASM, работчий с бинарником.
...
Рейтинг: 0 / 0
Assembler
    #36164321
Pasha_o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня тоже проблемы с этим примером.
Код: 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
Assembler
    #36164761
Фотография Новый Год
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уты а я тоже всякую фигню писать могу на ассеблере

Код: 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
Assembler
    #36165047
студентик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новый Годуты а я тоже всякую фигню писать могу на ассеблере

Код: 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
Assembler
    #36165055
jsXYZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Assembler
    #36165056
Изопропил+
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
jsXYZ
все еще пользуются ассемблером IBM360 (EC-ЭВМ)??

У того директивы AMODE 31 не было
...
Рейтинг: 0 / 0
Assembler
    #36165408
Pasha_o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Assembler
    #36169808
jsXYZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pasha_o,

Код: plaintext
1.
2.
assume cs:cseg,ds:cseg,es:cseg,ss:cseg
segment	cseg
	org	100h
...
Рейтинг: 0 / 0
Assembler
    #36170981
Pasha_o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Assembler
    #36297804
Фотография Master4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASM' оголик, спасибо большое, заработало.
Ассемблер хорош не только своей свободой и могуществом, но еще и тем что выше него ничего нет, можно засесть, и всю жизнь учить этот язык вместо учения многих высокоуровневых.
...
Рейтинг: 0 / 0
Assembler
    #36298166
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Master4ASM' оголик, спасибо большое, заработало.
Ассемблер хорош не только своей свободой и могуществом, но еще и тем что выше него ничего нет, можно засесть, и всю жизнь учить этот язык вместо учения многих высокоуровневых.

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


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