Вопрос № 34616: Здравствуйте господа эксперты. Я написал программу переводящую градусы Цельсия
в Фаренгейт. Программа вроде работает. Не могли бы вы взглянуть, может что-то
можно было сделать лучше? Заранее спасибо....Вопрос № 34623: Здрасте...у меня возникла проблема как с MASM'ом так и с TASM'ом.
Я читаю книгу "Ассемблер это просто" вобщем до 4 главы все было хорошо:( ...а когда пошли циклы...TASM отказывается делать .COM'ы
(приложение прочитал...не помогло...
Вопрос № 34.616
Здравствуйте господа эксперты. Я написал программу переводящую градусы Цельсия
в Фаренгейт. Программа вроде работает. Не могли бы вы взглянуть, может что-то
можно было сделать лучше? Заранее спасибо.
Приложение:
Отправлен: 02.02.2006, 13:45
Вопрос задал: Gogenot (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Seamanmur
Здравствуйте, Gogenot!
Что сразу бросается в глаза:
Celsp:
call Hex_proc
call Fahr_prog
call Out_proc
call Begin
Зачем вызывать главную программу как подпрограмму? Здесь возникнет со временем переполнение стека.
Правильно:
Celsp:
call Hex_proc
call Fahr_prog
call Out_proc
jmp Begin
Аналогично для Celsm и Error.
Ответ отправил: Seamanmur (статус: 2-ой класс)
Отправлен: 02.02.2006, 15:27 Оценка за ответ: 5 Комментарий оценки: Спасибо большое.
Вопрос № 34.623
Здрасте...у меня возникла проблема как с MASM'ом так и с TASM'ом.
Я читаю книгу "Ассемблер это просто" вобщем до 4 главы все было хорошо:( ...а когда пошли циклы...TASM отказывается делать .COM'ы
(приложение прочитал...не помогло...начала появляться такая вещь
Fatal: Unable to open file prog.obj ), попробовал через MASM...тот вначале кричал cannot find LINK.EXE...я скопировал файлик LINK.exe из BINR в BIN...получил prog.com, запустил...и ничего...потыкал ENTER...вывалилась Win ошбка "Процессор обнаружил не допустимую.."...запустил еще раз программа просто не работает(это пример 004)...
Чего с моим MASM'ом TASM'ом и с моими руками???
Спасиба.
Отправлен: 02.02.2006, 15:58
Вопрос задал: Denton (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 6)
Отвечает: Seamanmur
Здравствуйте, Denton!
Если тебе Tlink пишет:
Fatal: Unable to open file prog.obj
Значит tasm не создал .obj файл. Значит была какая-то синтаксическая ошибка. Смотрим выше написано:
**Error** prog04.asm(32) Near jump or call to different CS
Что в строке 32?
loop Next_face
Значит наш ассемблер не понял описания сегментов, если он думает что мы здесь прыгаем в другой сегмент.
Исправим описание как приведено в приложении и все заработает.
Приложение:
Ответ отправил: Seamanmur (статус: 2-ой класс)
Отправлен: 02.02.2006, 16:45
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Denton!
Ошибочки сам исправил, это хорошо.
Теперь осталось добавить после begin:
mov ax,3
int 10h и все заработает :)
PS. Этот вопрос был уже наверное несколько десятков раз...
Право слово, можно было бы сначала и поиском поискать...
--------- Удачи!