Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Первая програма на АСМЕ, (не работает:)) 
:(
    Опции темы
HellanD
  Дата 13.6.2006, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Да в первый раз все так посмотрите плиз....
Код

;------------------------------------
TITLE PRIMER11
;---------------showing symbols
CODSEG SEGMENT
ASSUME CS:CODSEG,   DS:CODSEG,  SS:CODSEG,  ES:CODSEG
ORG 100H
BEGIN:
    JMP BEG_CODE
TEXT DB 'My first program. $'
BEG_CODE:
MOV AX,CX
MOV DS,AX
LEA DX,TEXT
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODSEG ENDS
END BEGIN

Результатом должна быть по идее строка текста, а он пишет
WARNING: no stuck а далее выводит иероглифы какиетоsmile
Я пишу в тасме.
И еще он при выполнении ТАСМ и ТЛИНК помещает obj и exe файлы на диск c:\ а как сделать чтоб он их помещал в произвольную папку?
Спасибо за внимание 


--------------------
Мой сайт на django
Japanese Innovations
PM ICQ   Вверх
Exekutor
Дата 13.6.2006, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



директиву ORG 100h нужно вынести на первое место. А строку TEXT желательно вынести в отдельный сегмент даннах.

Добавлено @ 09:25 
Можно так:
Код

;------------------------------------
TITLE PRIMER11
;---------------showing symbols
ORG 100H

DATASEG SEGMENT
TEXT DB 'My first program. $'
DATASEG ENDS

CODSEG SEGMENT
MAIN PROC
ASSUME CS:CODSEG,   DS:DATASEG,  SS:CODSEG
MOV AX, DATASEG
MOV DS,AX
LEA DX,TEXT
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
CODESEG ENDS


а можно и так:
Код

model small

org 100h

.data
text db 'My first program$'

.code
main proc
assume cs:@code, ds:@data
mov ax, @data
mov ds, ax
xor ax, ax

mov ah, 09h
lea  dx, text
int 21h

mov ah, 08h
int 21h

mov ax, 4c00h
int 21h

main endp
end main


 smile  smile  smile     

Это сообщение отредактировал(а) Exekutor - 13.6.2006, 09:32


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


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Ошибка в строке 10 - вместо CS написано CX 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
kirjanov
Дата 14.6.2006, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 22.1.2006
Где: Dark wood of erro r

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



Вроде, как помню, тут можно вообще сегмент данных не инициализировать. Все сегментные регистры уже содержат значение cs. 
PM MAIL   Вверх
ВоВеЦ
Дата 19.6.2006, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



У меня тоже проблемы с первой программой, ток с её компиляцией
Код

model small    
org 100h    
.data    
text db 'My first program$'    
.code    
main proc    
assume cs:@code, ds:@data    
mov ax, @data    
mov ds, ax    
xor ax, ax    
mov ah, 09h    
lea  dx, text    
int 21h    
mov ah, 08h
int 21h    
mov ax, 4c00h    
int 21h    
main endp    
end main    


В tasm32 компиллируется, получается выходной фаил fail.OBJ чё с ним делать дальше? Читал что через TLINK прогнать надо, никакого исполняемого файла не получается...
В fasmw166 вообще не компилит, выдаёт такую ошибку illegal instruction(model small) 

Помогите, а то меня уже замучила это проблема компилляции...
 
PM MAIL   Вверх
HellanD
Дата 19.6.2006, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



там перед model small надо ставить точку!!!
Вот так.
.model small

Добавлено @ 20:48 
Точная последовательность действий установлена мной методом длительного анализа :-)
Запускаешь command.com
дальше пишешь например:
e:\tasm\bin\tasm.exe   e:\ <АДРЕС АСМ ФАЙЛА>
e:\tasm\bin\tlink.exe    e:\ <АДРЕС OBJ ФАЙЛА>
Тоже самое можно написать просто в блокноте а потом переименовать файл в *.bat(а потом запустить :-))
Если ошибок в коде нет все будет ОК!!!
Удачи!
 


--------------------
Мой сайт на django
Japanese Innovations
PM ICQ   Вверх
ВоВеЦ
Дата 19.6.2006, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Что бес точки, что с ней никакой разницы, туже самую ошибку выдаёт, да и с tlink непонятно, что ещё за  Failed to locate protected mode loader (DPMILOAD.EXE)

Код

Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.

C:\Documents and Settings\Владимир>C:\fasmw166\fasm.exe C:\fasmw166\my.asm
flat assembler  version 1.66
C:\fasmw166\my.asm [1]:
.model small
error: illegal instruction.

C:\Documents and Settings\Владимир>C:\fasmw166\tlink C:\fasmw166\my.obj

Failed to locate protected mode loader (DPMILOAD.EXE)
C:\DOCUME~1\23A4~1>
 

Это сообщение отредактировал(а) ВоВеЦ - 19.6.2006, 21:45
PM MAIL   Вверх
Damarus
Дата 19.6.2006, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Для FASM'а данная программа выглядит так:
Код

use16

org 0x0100

push cs
pop ds

xor ax,ax
mov ah,0x09
mov dx,text
int 0x21

mov ah,0x08
int 0x21

mov ax,0x4C00
int 0x21

text db 'My first program$'
  

Это сообщение отредактировал(а) Damarus - 19.6.2006, 22:09
PM MAIL ICQ Jabber   Вверх
ВоВеЦ
Дата 20.6.2006, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Это получается для каждого компиллятора разный код smile Может подкинет кто нибудь мне тогда ссылку на мануал для зелёного, по изучению ASM'а с примерами кодов для fasm(я уже запутался в них)   

Это сообщение отредактировал(а) ВоВеЦ - 20.6.2006, 12:25
PM MAIL   Вверх
cardinal
Дата 20.6.2006, 03:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


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

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





--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
ВоВеЦ
Дата 20.6.2006, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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

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

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


 




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


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

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