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

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: не выводит сообщение на экран  (Прочитано 14596 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
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
Команда клуба

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

WWW
« Ответ #1 : 23-12-2008 10:55 » 

расскажи о прерываниях 10h, 21h, 20h
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
4y4z
Участник

ru
Offline Offline
Младший саппорт


« Ответ #2 : 23-12-2008 11:52 » 

А можно условие задачи целиком? Если программа просто закрывается сразу после запуска, то запусти ее в дос-эмуляторе или в окне cmd =)

Записан

Ищу работу. (разработка/тестирование/отладка)
sersad
Гость
« Ответ #3 : 23-12-2008 12:26 » 

Посредством этой программы хотелось увидеть надпись , которая должна судя по программе отобразиться на экране, по скольку познания в асме совсем не велики , то текст этой программы был скопирован с этого сайта, правда он не сработал и его пришлось немного поправить чтобы tasm  перестал выдавать сообщения о не возможности ввода команды.    20h - завершает программу, 21h - прерывает выполнение 09, а вот по поводу 10h я не знаю(пока) . А как запустить в dos-эмуляторе?
Записан
4y4z
Участник

ru
Offline 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
Участник

ru
Offline Offline
Младший саппорт


« Ответ #5 : 23-12-2008 13:22 » 

если дос-эмулятора нет, то делается так. пуск - выполнить - cmd.
 в появившемся окне переходим в папку_где_сохранен_com-файл (cd путь_до_com-файла) и запускаем файл, набрав его полное имя
Записан

Ищу работу. (разработка/тестирование/отладка)
sersad
Гость
« Ответ #6 : 23-12-2008 14:13 » 

После неудачных попыток прописать путь до файла, скачал Дос-эмулятор, и исходя из того что вижу его в первые не могли бы подсказать как им пользоваться?
Записан
4y4z
Участник

ru
Offline Offline
Младший саппорт


« Ответ #7 : 24-12-2008 07:30 » 

Что-то я погорячился, посоветовав дос-эмуль. Если есть под рукой FAR или Volcov Commander (Norton Coomander), то запускай файл прямо оттуда.
Записан

Ищу работу. (разработка/тестирование/отладка)
sersad
Гость
« Ответ #8 : 24-12-2008 10:47 » 

FAR есть , простите за простоту . это вот такая синенькая табличка и там есть активная строка , значит туда надо ввести путь до программы?
Записан
4y4z
Участник

ru
Offline Offline
Младший саппорт


« Ответ #9 : 24-12-2008 11:13 » 

да.да. именно туда.
Записан

Ищу работу. (разработка/тестирование/отладка)
sersad
Гость
« Ответ #10 : 24-12-2008 12:40 » 

Окно программы открывается и тут же закрывается , нет ли какой команды оставить открытое окно, или задать ему другой интервал времени.
Записан
Sla
Команда клуба

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

WWW
« Ответ #11 : 24-12-2008 13:00 » 

есть
делаешь батничек
Код: (Text)
твоя программа
pause


или найди прерывание, которое будет ждать нажатие клавиши Улыбаюсь
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
4y4z
Участник

ru
Offline 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
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines