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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2011, 23:46   #1
gefest58
Пользователь
 
Регистрация: 21.10.2010
Сообщений: 87
По умолчанию Не ассембилируется (

Код:
CSEG segment
org 100h
start:
mov cx,3
Label_1:
mov ah,9
mov dx,offset Str
int 21h
Str db 'Цикл$'
loop Label_1
CSEG ends
end start
не хочет компилится , я в мандраже уже , помогите ....


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.
мы все врём , скомпилированный исходник - нет !

Последний раз редактировалось Serge_Bliznykov; 31.01.2011 в 03:12.
gefest58 вне форума Ответить с цитированием
Старый 31.01.2011, 03:06   #2
vadimych
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 325
По умолчанию

gefest58, Str переименовать попробуй. И убери текст из цикла.

Код:
CSEG segment
org 100h
start:

mov cx,3
Label_1:
mov ah,9
mov dx,offset String
int 21h
loop Label_1

ret  ; завершение программы( можно int 20h)

String db 'Цикл$'
CSEG ends
end start
________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 31.01.2011 в 03:12.
vadimych вне форума Ответить с цитированием
Старый 31.01.2011, 15:28   #3
gefest58
Пользователь
 
Регистрация: 21.10.2010
Сообщений: 87
По умолчанию

при запуске , пишет - "Синтаксическая ошибка" =(
мы все врём , скомпилированный исходник - нет !
gefest58 вне форума Ответить с цитированием
Старый 31.01.2011, 15:44   #4
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

ваш транслятор/компоновщик, параметры сборки, строки с ошибками, имена ошибок?
суть: ошибок то нет!
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Старый 31.01.2011, 15:59   #5
spburger
 
Регистрация: 30.11.2009
Сообщений: 4
По умолчанию

Цитата:
Сообщение от gefest58 Посмотреть сообщение
при запуске , пишет - "Синтаксическая ошибка" =(
Я только начинаю изучать Asm, поэтому поделюсь лишь своими предположениями.
Возможно, переменную надо было объявить в сегменте данных?

Предлагаю следующий код:

codeseg segment
assume CS:codeseg, DS:dataseg

begin: mov AX, dataseg
mov DS, AX
mov AH, 09h
mov DX, offset Mess
int 21h
mov AH, 4Ch
mov AL, 0
int 21h ; Exit To DOS

codeseg ends

dataseg segment
Mess db 'HelloWorld!$'
; Define String
dataseg ends


stackseg segment stack
db 256 dup (0)
stackseg ends

end begin

Последний раз редактировалось spburger; 31.01.2011 в 16:05.
spburger вне форума Ответить с цитированием
Старый 31.01.2011, 16:20   #6
vadimych
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 325
По умолчанию

spburger, в COM-программе данные и код находятся в одном сегменте.
vadimych вне форума Ответить с цитированием
Старый 31.01.2011, 16:54   #7
spburger
 
Регистрация: 30.11.2009
Сообщений: 4
По умолчанию

Цитата:
Сообщение от vadimych Посмотреть сообщение
spburger, в COM-программе данные и код находятся в одном сегменте.
Да, верно, это com, а не exe...

Но в assume разве не надо, в явной форме, "совмещать" сегменты?
spburger вне форума Ответить с цитированием
Старый 31.01.2011, 17:04   #8
gefest58
Пользователь
 
Регистрация: 21.10.2010
Сообщений: 87
По умолчанию

всё , получилось
через cmd запустить не удалось
получилось через DosBox !
мы все врём , скомпилированный исходник - нет !
gefest58 вне форума Ответить с цитированием
Ответ


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