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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2013, 22:47   #1
Unseen_Madness
Пользователь
 
Регистрация: 23.09.2013
Сообщений: 14
По умолчанию Программа, выдающая на дисплей строку текста (Ассемблер)

Написала программу. TextFile1.txt
После ввода пути в командную строку должно выводиться:Hello! I'm Lisa!
прописываю путь:
D:\>CD\hi
D:\hi>textfile1.com
(поменяла расширение на com, все как надо)
и ничего не происходит.
Ошибок в коде не нашла.
Пример программы из лабораторной тоже не выполняется... С чем это может быть связано, а, главное, как мне проверить правильность написания своей программы? Т_Т Второй вечер мучаюсь( NC скачала, через него попробовала... ничего не помогает( Буду рада помощи или подсказке)
Unseen_Madness вне форума Ответить с цитированием
Старый 23.09.2013, 23:04   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Написала программу. TextFile1.txt
ОМГ!
что это за ужас?! что у Вас делают СИМВОЛЫ в ТЕКСТОВОМ файле?!!!
Как Вы из него получаете .COM ?! Путём ПЕРЕИМЕНОВАНИЯ?!
Вынужден Вас огорчить, Вы всё поняли НЕПРАВИЛЬНО!

Вам нужно или набирать текст программы на языке Ассемблера и потом использовать компилятор и компоновщик.
Либо, есть желани набирать программу прямо в шестнадцатеричных кодах, то Вам нужен hex-редактор (шестнадцатеричный редактор). В крайнем случае используйте debug.exe для набора кода...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.09.2013, 23:23   #3
Unseen_Madness
Пользователь
 
Регистрация: 23.09.2013
Сообщений: 14
По умолчанию

Спасибо) Я, правда, все делала по инструкции, но попробую последовать вашему совету) Спасибо еще раз.
Unseen_Madness вне форума Ответить с цитированием
Старый 23.09.2013, 23:31   #4
Unseen_Madness
Пользователь
 
Регистрация: 23.09.2013
Сообщений: 14
Радость

А вы не посоветуете какой-нибудь hex-редактор?
Unseen_Madness вне форума Ответить с цитированием
Старый 23.09.2013, 23:39   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вам подойдёт абсолютно любой.
я бы лично воспользовался Hiew, но Вам точно любой подойдёт, возможно, что какой-нибудь WinHex окажется Вам даже понятнее/удобнее...


p.s. кто Вас учит набирать программу в машинных кодах?
Неужели, там, где учат этой экзотике не дают подробные инструкции, как это делать?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.09.2013, 23:48   #6
Unseen_Madness
Пользователь
 
Регистрация: 23.09.2013
Сообщений: 14
Печаль

Если вы когда-нибудь сталкивались с бакалавриатом, то поймете, почему все так))) Но если быть серьезной, то все гораздо проще: лабораторные нам поставили с дизассемблированием, хотя к этому курсу оно отношения не имеет. Курс называется "архитектура ЭВМ". Собственно говоря, именно потому как отношения это не имеет к курсу, с нами решили не церемониться, а разбираться дали самим как хотим. Ну да ладно. Это уже лирическое отступление, проще говоря, нытье. А если по делу, то я воспользовалась WinHex, но почему-то это ничего не дало и программа по-прежнему не работает(((
Unseen_Madness вне форума Ответить с цитированием
Старый 23.09.2013, 23:53   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

запакуйте полученный файл в архив и выложите на форум (через "Расширенный режим" - "Управление вложениями") или, если на форум Вам выкладывать ещё недоступно (как новичку), тогда выгрузите на любой бесплатный хостинг (хоть на тот же rghost.ru ) и сюда на форум ссылку на скачивание.

а пока Вы это не сделали - вопрос для самоконтроля.
Если посмотреть текстовый файл из первого поста, то очевидно, что в вашей программе должно быть 32 байта, поэтому размер полученного в WinHex файла должен быть именно такой. У Вас такой размер получился?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.09.2013, 00:02   #8
Unseen_Madness
Пользователь
 
Регистрация: 23.09.2013
Сообщений: 14
Печаль

Да, получилось 32... я задам глупый вопрос.... когда я сохраняю файл, созданный в WinHex, просто поменять расширение на com? Правильно?
Unseen_Madness вне форума Ответить с цитированием
Старый 24.09.2013, 00:08   #9
Unseen_Madness
Пользователь
 
Регистрация: 23.09.2013
Сообщений: 14
По умолчанию

Вот оно, собственно TextFile3.rar
Unseen_Madness вне форума Ответить с цитированием
Старый 24.09.2013, 00:28   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

да, всё верно, сохранять файл нужно с расширением .COM.
// у вас программа именно в формате MS DOS - .COM

файл у Вас корректный!
только я бы переименовал его в формат 8.3 (длина имени не более 8 символов).
например, в TestHi3.com

что значит
Цитата:
это ничего не дало и программа по-прежнему не работает(((
?

как и откуда Вы её запускаете?

Если у Вас версия Windows > Windows XP, то просто так Вы DOS программу не запустите, нужна программа DOSBOX или виртуальная машина с подходящей операционнкой (желательно с MS DOS, если Вы понимаете, что это такое)...

Если же у Вас Windows XP, тогда нажмите "Пуск" - "Все програмы" - "Стандартные" - "Командная строка". там с помощью команд DOS перейдите на каталог, где лежит ваша программа и запустите её (введите имя.com и нажмите Enter).


p.s. Сопутствующие вопросы:
- какая у Вас операционка?
- а Norton Commander у Вас запустился? И какая версия?

p.p.s.
если вдруг интересно, то вот код вашей программы в Ассемблере (в черновом варианте):
Код:
mov      dx, mes1
mov      ah,009
int         021h
mov      ah,04Ch
int         021h
mes1 db 'Hello! I',27h,'m Lisa!', 0dh, 0ah, '$'

Последний раз редактировалось Serge_Bliznykov; 24.09.2013 в 00:33.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа для ввода строковых данных с клавиатуры. Запретить ввод пробела в строку (Ассемблер) Victor Babin Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 05.12.2012 09:38
Программа для УОУ-580: вывод символов на дисплей JackLeming Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 17.04.2012 09:47
Программа печати текстового файла с размещением текста по 64 символов в строку без переноса слов rauhm6 Паскаль, Turbo Pascal, PascalABC.NET 0 06.12.2011 18:21
Программа выдающая скан-код клавиши... Studik Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 02.03.2011 01:27