Код ::
Консультация # 189747:
Уважаемые эксперты! Пожалуйста, ответьте на вопрос:
Здравствуйте, изучаю книгу Олега Калашникова "Ассемблер это просто 2 издание", остановился на теме 10.4. Первый обработчик прерывания, вот код который написал
prog10.asm
CSEG segment assume cs:CSEG, ds:CSEG, es:CSEG, ss:CSEG org 100h Start: jmp Init Int_21h_proc proc cmp ah,9 je Ok_09 jmp dword ptr cs:[Int_21h_vect] Ok_09: push ds push dx push cs pop ds mov dx,offset My_string pushf call dword ptr cs:[Int_21h_vect] pop dx pop ds iret Int_21h_vect dd ? My_string db 'Моя строка!$' Int_21h_proc endp Init: mov ah,35h mov al,21h int 21h mov word ptr Int_21h_vect, bx mov word ptr Int_21h_vect+2, es mov ax,2521h mov dx,offset Int_21h_proc int 21h mov dx,offset Init int 27h CSEG ends end Start
и код второй программы
test10.asm
CSEG segment assume cs:CSEG, ds:CSEG, es:CSEG, ss:CSEG org 100h Start: mov ah, 9h mov dx, offset t int 21h mov ah, 10h int 16h int 20h t db 'my text test10.asm!$' CSEG ends end Start
запустил с начало prog10.com, напрямую без отладчика, программа отработала и завершилась, затем я запустил test10.com и она вывела текст "my text test10.asm", а по идеи книги prog10.com должен был перехватить прерывание 21h с командой 9h и вывести свой текст "Моя строка!"
я использую
Windows 7 х86
masm32
Дата отправки: 06.09.2016, 19:35
Вопрос задал: arti-779 (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »
Консультирует Лысков Игорь Витальевич (Старший модератор):
Здравствуйте, arti-779!
Досовские программы необходимо запускать в одной "сессии", запустив предварительно CMD.
Иначе, после завершения первой программы, система уничтожит процесс, созданный первой программой.
В результате, вторая программа запустится "с чистого листа". Изменений, сделанных первой, не будет.
Оценить выпуск | Задать вопрос экспертам
главная страница | стать участником | получить консультацию
техническая поддержка
Дорогой читатель! Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста,
оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете
оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив
наш форум, почитав
журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете
зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!
Комментариев нет:
Отправить комментарий