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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2010, 18:41   #11
T(h)rasher
Пользователь
 
Аватар для T(h)rasher
 
Регистрация: 24.09.2010
Сообщений: 46
По умолчанию

****
.model tiny
.code
.startup
mov ah,19h ;номер функции - в AH
int 21h ;Получить текущий диск в AL

add al,'A' ;добавить к AL ACSII символ буквы 'A'
mov dl,al ; DL = AL

mov ah,2 ;напечатать один символ на экране из DL
int 21h

mov dl,':' ;символ двоеточия
int 21h ;печатаем после буквы двоеточие

mov ax,4c00h
int 21h ;ввыходим из программы
end
****

ваш вариант более гибкий и меньше места занимает, но для меня мой громоздкий кажется более простым, к тому же по заданию надо несколько букв(разные диски)





кстати, запустил прогу в отладчике, откомпилировал с ключом /zi. Все вообщем нормально, но прога не запускается, пишет teminated, exit code 0
"...Before you accuse me take a look at yourself..."

Последний раз редактировалось T(h)rasher; 25.09.2010 в 18:56.
T(h)rasher вне форума Ответить с цитированием
Старый 25.09.2010, 18:57   #12
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Цитата:
Сообщение от T(h)rasher Посмотреть сообщение
Что-то я туплю: какую команду вы подразумеваете под компилированием? tasm /zi?
tasm proga.asm
tlink proga.obj
получится EXE файл. У меня без ошибок компилируется и линкуется, если добавить там stack 256, как я писал на предыдущей странице. TASM v4.1 у меня.
Цитата:
Сообщение от T(h)rasher
ваш вариант более гибкий и меньше места занимает, но для меня мой громоздкий кажется более простым, к тому же по заданию надо несколько букв(разные диски)
Мой вариант и выводит разные (любые, от A: до Z буквы дисков.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 25.09.2010, 19:23   #13
T(h)rasher
Пользователь
 
Аватар для T(h)rasher
 
Регистрация: 24.09.2010
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Tronix Посмотреть сообщение
tasm proga.asm
tlink proga.obj
получится EXE файл. У меня без ошибок компилируется и линкуется, если добавить там stack 256, как я писал на предыдущей странице. TASM v4.1 у меня.
попробую сейчас, спасибо за помощь!

...сделал все как вы написали, потом запустил получившийся lab1.exe, но все равно не работает. Мб дело в версии тасма? У меня, если не ошибаюсь, Turbo link version 7.1.30.1.
"...Before you accuse me take a look at yourself..."

Последний раз редактировалось T(h)rasher; 25.09.2010 в 19:32.
T(h)rasher вне форума Ответить с цитированием
Старый 25.09.2010, 19:49   #14
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Да, наверно в нем все дело.. Попробуйте качнуть tasm v5.0 . Он оптимален для доса ящетаю... тут можно, например: http://asmpro.ucoz.ru/load/8-1-0-26
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 25.09.2010, 20:19   #15
T(h)rasher
Пользователь
 
Аватар для T(h)rasher
 
Регистрация: 24.09.2010
Сообщений: 46
По умолчанию

спасибо, попробую....а команды в нем все те же?
"...Before you accuse me take a look at yourself..."

Последний раз редактировалось T(h)rasher; 25.09.2010 в 20:22.
T(h)rasher вне форума Ответить с цитированием
Старый 25.09.2010, 20:40   #16
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Да, все те-же.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 25.09.2010, 23:47   #17
T(h)rasher
Пользователь
 
Аватар для T(h)rasher
 
Регистрация: 24.09.2010
Сообщений: 46
По умолчанию

Еще один вопрос: а специально как-то устанавливать его не требуется? При вводе команды tasm /l lab1 (когда я уже в папке 26_tasm50) она пишет, что не распознает ее....
"...Before you accuse me take a look at yourself..."
T(h)rasher вне форума Ответить с цитированием
Старый 25.09.2010, 23:52   #18
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Цитата:
Сообщение от T(h)rasher Посмотреть сообщение
Еще один вопрос: а специально как-то устанавливать его не требуется? При вводе команды tasm /l lab1 (когда я уже в папке 26_tasm50) она пишет, что не распознает ее....
Не нужно устанавливать. Нужно распаковать например в C:/TASM далее зайти в папку BIN и оттуда уже запускать.
Зачем ключ "/l" ? Нужно компилировать просто:
tasm lab1.asm
tlink lab1.obj
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 26.09.2010, 11:20   #19
T(h)rasher
Пользователь
 
Аватар для T(h)rasher
 
Регистрация: 24.09.2010
Сообщений: 46
По умолчанию

с компилировванием и линковкой разобрался - все работает. А запускается .exe файл просто при вводе имени асмского файла без разрешения или как-то иначе? Первый вариант не катит также как и на предыдущем тасме - никаких ошибок не пишет, просто не запускается и все.
"...Before you accuse me take a look at yourself..."
T(h)rasher вне форума Ответить с цитированием
Старый 26.09.2010, 12:27   #20
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Цитата:
Сообщение от T(h)rasher Посмотреть сообщение
А запускается .exe файл просто при вводе имени асмского файла без разрешения или как-то иначе? Первый вариант не катит также как и на предыдущем тасме - никаких ошибок не пишет, просто не запускается и все.
Ну запускается EXE файл как и любой другой EXE - либо кликаньем по нему мышью в проводнике, либо да, в командной строке надо написать LAB1.EXE и нажать Enter.

Может она все-таки запускается, но сразу-же закрывается окно, потому как никаких задержек в самой программе нет. Запустилась - напечатала букву диска - и моментально закрылась. В этом случае можно поставить перед самым выходом из программы такую конструкцию:
Код:
xor ah,ah
int 16h
Это функция 0 16h прерывания - ждать нажатия любой клавиши.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с массивами в ассемблере student2010 Помощь студентам 1 21.01.2010 19:16
Проблема с работой с файлами на ассемблере ed_ward Помощь студентам 1 04.01.2010 18:29
работа со стеком xarvenx Общие вопросы C/C++ 1 25.06.2009 13:31