РАССЫЛКИ ПОРТАЛА RFPRO.RU Лучшие эксперты в разделе Номер выпуска: | 1688 | Дата выхода: | 13.02.2018, 21:45 | Администратор рассылки: | Лысков Игорь Витальевич (Старший модератор) | Подписчиков / экспертов: | 54 / 18 | Вопросов / ответов: | 1 / 1 | Консультация # 192544: Здравствуйте! Прошу помощи в следующем вопросе: работаю на WinXP, опять проблема с примером из Калашникова: ;открытие, чтение и вывод файла на экран CS ... Консультация # 192544: Здравствуйте! Прошу помощи в следующем вопросе: работаю на WinXP, опять проблема с примером из Калашникова: ;открытие, чтение и вывод файла на экран CSEG segment ;в com-файлах существует только один сегмент assume cs:CSEG, ds:CSEG, es:CSEG, ss:CSEG org 100h Start: ;mov ax,0003h ;int 10h mov dx,offset File_name call Open_file jc Error_file mov bx,ax ;сохраняем id файла mov ah,3Fh mov cx,offset Finish-100h ;сколько байтов будем читать mov dx,offset Start ;читаем файл в память... int 21h ;...с метки Start call Close_file ;вызываем процедуру закрытия и... mov ah,9 mov dx,offset Mess_ok ;...сообщаем об этом int 21h ret Error_file: ;сигнал, если файл не нашли mov ah,2 mov dl,7 int 21h ret Open_file proc cmp Handle,0FFFFh ;открыт-ли файл... jne Quit_open ;...если нет-открываем mov ax,3D00h int 21h mov Handle,ax ret Quit_open: stc ;установка флага переноса в 1 (3Dh) ret ;подтверждение факта открытия-для jc Handle dw 0FFFFh Open_file endp Close_file proc mov ah,3Eh mov bx,Handle int 21h ret Close_file endp File_name db '07.asm', 0 Mess_ok db 'Все нормально!', 0Ah, 0Dh, '$' Finish equ $ ;адрес конца программы CSEG ends end Start При попытке создать com-файл появляется форточка с сообщением : Процессор NTVDM обнаружил недопустимую инструкцию. CS:00cf IP:0911 OP:de df 90 91 92. А при подключении (mov ax,0003h int 10h) появляется чистая панель с мигающим курсором.
Дата отправки: 08.02.2018, 12:50 Вопрос задал: cupoma58 (Посетитель) Всего ответов: 1 Страница онлайн-консультации » Консультирует Лысков Игорь Витальевич (Старший модератор): Здравствуйте, cupoma58! Если бы Вы внимательно просмотрели листинг из 9 главы (кстати, почему у Вас имя файла 07 ), то увидели бы, то имя загружаемого файла должно быть не ASM, а COM. Т.к. программа грузит свой же код на свое же место. Вы же пытаетесь грузить исходник, текстовый файл... Так что последствия интерпретации текста, как кода, абсолютно правильные...
Оценить выпуск | Задать вопрос экспертам главная страница | стать участником | получить консультацию техническая поддержка Дорогой читатель! Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно! МЫ РАБОТАЕМ ДЛЯ ВАС! |
Комментариев нет:
Отправить комментарий