sersad
Гость
|
|
« : 23-12-2008 10:36 » |
|
Добрый день, подскажите что не так делаю, но ни какой информации на экране нет. .model tiny ; модель памяти используемая для COM .code ; начало сегмента кода org 100h ;начальное значение счетчика - 100h
begin: jmp setup переменные
setup: mov ah,09h mov bx,1 mov bl,01 mov cx,11 lea dx,titl1 int 10h
int 21h int 20h
SEGMENT .data titl1 db 'Hello$',13,10
RET ; завершение COM-программы
end begin
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #1 : 23-12-2008 10:55 » |
|
расскажи о прерываниях 10h, 21h, 20h
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
4y4z
Участник
Offline
Младший саппорт
|
|
« Ответ #2 : 23-12-2008 11:52 » |
|
А можно условие задачи целиком? Если программа просто закрывается сразу после запуска, то запусти ее в дос-эмуляторе или в окне cmd =)
|
|
|
Записан
|
Ищу работу. (разработка/тестирование/отладка)
|
|
|
sersad
Гость
|
|
« Ответ #3 : 23-12-2008 12:26 » |
|
Посредством этой программы хотелось увидеть надпись , которая должна судя по программе отобразиться на экране, по скольку познания в асме совсем не велики , то текст этой программы был скопирован с этого сайта, правда он не сработал и его пришлось немного поправить чтобы tasm перестал выдавать сообщения о не возможности ввода команды. 20h - завершает программу, 21h - прерывает выполнение 09, а вот по поводу 10h я не знаю(пока) . А как запустить в dos-эмуляторе?
|
|
|
Записан
|
|
|
|
4y4z
Участник
Offline
Младший саппорт
|
|
« Ответ #4 : 23-12-2008 13:16 » |
|
TASM? под МАСМ будет так: CSEG segment
org 100h
Begin:
mov ah,9
mov dx,offset Mess2
int 21h
int 20h
Mess2 db 'kentachtis$'
CSEG ends end Begin
|
|
« Последнее редактирование: 23-12-2008 13:37 от 4y4z »
|
Записан
|
Ищу работу. (разработка/тестирование/отладка)
|
|
|
4y4z
Участник
Offline
Младший саппорт
|
|
« Ответ #5 : 23-12-2008 13:22 » |
|
если дос-эмулятора нет, то делается так. пуск - выполнить - cmd. в появившемся окне переходим в папку_где_сохранен_com-файл (cd путь_до_com-файла) и запускаем файл, набрав его полное имя
|
|
|
Записан
|
Ищу работу. (разработка/тестирование/отладка)
|
|
|
sersad
Гость
|
|
« Ответ #6 : 23-12-2008 14:13 » |
|
После неудачных попыток прописать путь до файла, скачал Дос-эмулятор, и исходя из того что вижу его в первые не могли бы подсказать как им пользоваться?
|
|
|
Записан
|
|
|
|
4y4z
Участник
Offline
Младший саппорт
|
|
« Ответ #7 : 24-12-2008 07:30 » |
|
Что-то я погорячился, посоветовав дос-эмуль. Если есть под рукой FAR или Volcov Commander (Norton Coomander), то запускай файл прямо оттуда.
|
|
|
Записан
|
Ищу работу. (разработка/тестирование/отладка)
|
|
|
sersad
Гость
|
|
« Ответ #8 : 24-12-2008 10:47 » |
|
FAR есть , простите за простоту . это вот такая синенькая табличка и там есть активная строка , значит туда надо ввести путь до программы?
|
|
|
Записан
|
|
|
|
4y4z
Участник
Offline
Младший саппорт
|
|
« Ответ #9 : 24-12-2008 11:13 » |
|
да.да. именно туда.
|
|
|
Записан
|
Ищу работу. (разработка/тестирование/отладка)
|
|
|
sersad
Гость
|
|
« Ответ #10 : 24-12-2008 12:40 » |
|
Окно программы открывается и тут же закрывается , нет ли какой команды оставить открытое окно, или задать ему другой интервал времени.
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #11 : 24-12-2008 13:00 » |
|
есть делаешь батничек твоя программа pause или найди прерывание, которое будет ждать нажатие клавиши
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
4y4z
Участник
Offline
Младший саппорт
|
|
« Ответ #12 : 24-12-2008 14:12 » |
|
а прерывание такое: int 21,9 CSEG segment
org 100h
Start:
mov ah,9 mov dx,offset String int 21h mov ah,10h int 16h int 20h String db 'Press any key...$' CSEG ends end Start
образец =)
|
|
|
Записан
|
Ищу работу. (разработка/тестирование/отладка)
|
|
|
sersad
Гость
|
|
« Ответ #13 : 24-12-2008 14:25 » |
|
Спасибо всем, заработала вот так. .model tiny .code org 100h
begin: jmp setup titl1 db,'долбанная запись$' setup: mov ah,09 lea dx,titl1 int 21h xor ax,ax int 16h int 20h end begin
|
|
|
Записан
|
|
|
|
|