Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Вызов Ассемблера. Как???!  (Прочитано 12358 раз)
0 Пользователей и 8 Гостей смотрят эту тему.
DgSi4
Гость
« : 03-10-2004 19:24 » 

Здравствуйте, почтенные!
Помогите, христом, богом прошу!
Начал изучать Ассемблер, купил Turbo Assembler 5.0
Проинсталировал.
Написал код в текстовом редакторе:

.model tiny
.code
org 100h
start: mov ah, 9
mov dx, offset message
int 21h
ret
message db "Hello World!", 0Dh, 0Ah, '$'
end start

Теперь надо вызвать Ассемблер через командную строку. Как?
Потом скомпилировать код в объектный файл. Как?
Потом запустить. Как?

Помогите, а то начинаю кипятком в туалет ходить уже.
 :l_mad:
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 04-10-2004 03:54 » 

писать не надо Улыбаюсь
мне сейчас времени нет - я на работу проспал, но вечером (хотя наверное тебе уже подскажут всё) если что - напишу
Записан

RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 04-10-2004 05:40 » new

DgSi4, во-первых, надо прописать путь к исполняемым файлам пакета tasm в переменной окружения PATH - иначе придется набирать полный путь. Это, обычно, делается в autoexec.bat : set PATH=%PATH%;c:\dos\tasm\bin  - типа этого.
Во-вторых, команды этого пакета имеют встроенную подсказку. Напр.: tasm /?
В результате должно быть нечто вроде:
>tasm hello.asm
>tlink /t hello.obj
>hello.com
Hello World!
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
DJSi4
Гость
« Ответ #3 : 06-10-2004 07:23 » 

Добрый день, почтенные!!!
Удалось таки мне решить задачу сию хитрую (об инсталяции Ассемблера)
Уже написал парочку программ и проинсталировал.
Написал прогу о переводе 10-чных чисел в 16-чные.
При попытке перевести ее в файл типа obj, Ассемблер сообщает:

Assembling file: 10.asm to in.OBJ
**Fatal** Command line: Can't locate file: 10.asm
Error messages: 1
Warning messages: none
Passes: 1
Remaining memory: 414k

При вожу код, может ошибка? Посмотрите, почтенные!!! Пожалуйста.

 Отлично
Записан
DjSi4
Гость
« Ответ #4 : 06-10-2004 07:25 » 

.model tiny
      .code
      .286
      org     100h
start:
      mov     dx, offset message1
      mov     ah, 9
      int     21h
      mov     dx, offset buffer
      mov     ah, 0Ah
      int     21h
      mov     dx, offset crlf
      mov     ah, 9
      int     21h

      xor     di, di
      xor     ax, ax
      mov     cl, blength
      xor     ch, ch
      xor     bx, bx
      mov     si, cx
      mov     cl, 10
asc2hex:
      mov     bl, byte ptr bcontents[di]
      sub     bl, '0'
      jb      asc_error
      cmp     bl, 9
      ja      asc_error
      mul     cx
      add     ax, bx
      inc     di
      cmp     di, si
      jb      asc2hex

      push    ax
      mov     ah, 9
      mov     dx, offset message2
      int     21h
      pop     ax

      push    ax
      xchg    ah, al
      call    print_al
      pop     ax
      call    print_al

      ret

asc_error:
      mov     dx, offset err_msg
      mov     ah, 9
      int     21h
      ret

print_al:
      mov     dh, al
      and     dh, 0Fh
      shr     al, 4
      call    print_nibble
      mov     al, dh
print_nibble:
      cmp     al, 10
      sbb     al, 69h
      das    

      mov     dl, al
      mov     ah, 2
      int     21h
      ret

message1      db
message2      db
err_msg       db
crlf          db
buffer        db
blength       db
bcontents:

end           start
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 06-10-2004 15:33 » 

DJSi4, как бы не хотелось, а ангийский надо изучать!
**Fatal** Command line: Can't locate file: 10.asm

Сие озночает: в текущей директории файла 10.asm нет.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #6 : 06-10-2004 15:35 » 

DjSi4, А как ты этот файл обозвал. Он тебе пишет, что его не может найти.
Цитата
**Fatal** Command line: Can't locate file: 10.asm

1.Это говорит о том, что Или имя файла и то что ты вводиш разные.
2. Или местонахождение файла в другом каталоге, отличном от текушего.

В любом случае компилятор не может найти файл 10.asm .
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #7 : 06-10-2004 15:36 » 

RXL,   Отлично
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 06-10-2004 16:10 » 

Finch,  Отлично

Синхронисты, однако...
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines