Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не линкуется программа!!! 
:(
    Опции темы
Fighter
Дата 6.8.2006, 01:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 810
Регистрация: 5.1.2005

Репутация: нет
Всего: 2



Доброй ночи, я пробую учить ассемблер. Я ввел программу

Код

.MODEL SMALL
.STACK 100h
.DATA
Message DB 'Привет!',13,10,'$'
.CODE
mov ax, @Data
mov dx, ax
mov ah, 9
mov dx, OFFSET Message
int 21h
mov ah, 4ch
int 21h
END


Я её сохранил в файле Hello.asm. Захожу в командную строку. Пишу tasm hello.asm - все нормально. Пишу tlink hello.obj - ошибка:
No program entry point. Компилирую на Tasm5.
PM MAIL   Вверх
AlexST
Дата 6.8.2006, 03:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 331
Регистрация: 30.4.2006
Где: Москва

Репутация: 1
Всего: 3



У тя ошибка: dx вместо ds.
А проще писать lea dx, message.

Это сообщение отредактировал(а) AlexST - 6.8.2006, 03:49
PM MAIL ICQ   Вверх
Fighter
Дата 6.8.2006, 05:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 810
Регистрация: 5.1.2005

Репутация: нет
Всего: 2



Цитата(AlexST @  6.8.2006,  03:45 Найти цитируемый пост)
У тя ошибка: dx вместо ds.А проще писать lea dx, message


Хаха, а эта ошибка - в руководстве.

Добавлено @ 05:40 
Чё то не помогает
PM MAIL   Вверх
Damarus
Дата 6.8.2006, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 671
Регистрация: 6.5.2006

Репутация: нет
Всего: 29



Fighter, вот так:
Код

.MODEL SMALL
.STACK 100h
.DATA
Message DB 'Привет!',13,10,'$'
.CODE
Start:
mov ax, @Data
mov ds, ax
mov ah, 9
mov dx, OFFSET Message
int 21h
mov ah, 4ch
int 21h
END Start

PM MAIL ICQ Jabber   Вверх
AlexST
Дата 6.8.2006, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 331
Регистрация: 30.4.2006
Где: Москва

Репутация: 1
Всего: 3



Метка необязательна, если программа начинается с первой инструкции.
У меня всё работает.
Вообще конечно .stack 100h надо убрать. 
Посотри ещё это:
Код

.MODEL SMALL
.DATA
Message DB 'Привет!',13,10,'$'
org 100h
.STACK 100h
.CODE
mov ax, @Data
mov ds, ax
mov ah, 9
mov dx, OFFSET Message
int 21h
mov ah, 4ch
int 21h
END 

Должно работать без метки.
PM MAIL ICQ   Вверх
Damarus
Дата 6.8.2006, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 671
Регистрация: 6.5.2006

Репутация: нет
Всего: 29



Цитата(AlexST @  6.8.2006,  14:37 Найти цитируемый пост)
Должно работать без метки.

Нет, не работает:
Цитата

Turbo Assembler  Version 4.1  Copyright © 1988, 1996 Borland International

Assembling file:   Fighter.cmd
Error messages:    None
Warning messages:  None
Passes:            1
Remaining memory:  452k

Turbo Link  Version 7.1.30.1. Copyright © 1987, 1996 Borland International
Fatal: No program entry point
Для продолжения нажмите любую клавишу . . .

Fighter.cmd:
Код

; @echo off
; goto make

.MODEL SMALL
.DATA
Message DB 'Привет!',13,10,'$'
org 100h
.STACK 100h
.CODE
mov ax, @Data
mov ds, ax
mov ah, 9
mov dx, OFFSET Message
int 21h
mov ah, 4ch
int 21h
END 

; :make
; tasm Fighter.cmd
; tlink Fighter.obj
; pause

PM MAIL ICQ Jabber   Вверх
AlexST
Дата 6.8.2006, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 331
Регистрация: 30.4.2006
Где: Москва

Репутация: 1
Всего: 3



Странно

Это сообщение отредактировал(а) AlexST - 6.8.2006, 14:20
PM MAIL ICQ   Вверх
spin2
Дата 8.8.2006, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 15.12.2005
Где: Москва-Одесса

Репутация: нет
Всего: 31



А так?
Код

.MODEL SMALL
.DATA
Message DB 'Привет!',13,10,'$'
org 100h
.STACK 100h
.CODE
start:
mov ax, @Data
mov ds, ax
mov ah, 9
mov dx, OFFSET Message
int 21h
mov ah, 4ch
int 21h
END start


end вроде должно указывать на точку входа

Это сообщение отредактировал(а) spin2 - 8.8.2006, 13:03


--------------------
"С кем тяжело молчать, с тем не о чем говорить" (Метерлинк)
блог
Все об ICQ-ботах
PM MAIL WWW ICQ Skype Jabber   Вверх
dumb
Дата 8.8.2006, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 7
Всего: 158



не указывать точку входа в директиве end кодового сегмента можно, если использовать .startup. других не припомню...
PM MAIL   Вверх
Kuber
Дата 8.8.2006, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 7.4.2006
Где: #vingrad

Репутация: нет
Всего: 3



Код

MODEL TINY
STACK 100h
DATASEG
 MyMessage db ' VINGRAD FOREVER=)$'
CODESEG
 start:
   mov ax, @data
   mov ds, ax
   mov ah, 09h
   mov dx, offset MyMessage
   int 21h
   mov ah,04ch
   int 21h
 end start

--------------------
Если меня угораздило написать что то умное и вам понравилось, то не забудте нажать [-]...:)    
PM ICQ   Вверх
Exekutor
Дата 9.8.2006, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 1.11.2005
Где: Казахстан. Костан ай

Репутация: нет
Всего: 4



А еще, ребят, можно так написать smile :
Код

.Model Small

.Stack 100h

.Data
mes    db 'Hello, word$'

.Code
main    Proc
    MOV    AX, @Data
    MOV    DS, AX
    XOR    AX, AX
    MOV    AH, 09h
    LEA    DX, mes
    INT    21h
    MOV    AX, 4c00h
    INT    21h
main    EndP
End    main




--------------------
[color=blue][size=2]En taro addun, ma sol larinas[/size][/color]
PM MAIL   Вверх
dumb
Дата 9.8.2006, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 7
Всего: 158



зачем все эти дубли? user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0804 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.