WMmail.ru - сервис почтовых рассылок

вторник, 13 февраля 2018 г.

RFpro.ru: Ассемблер? Это просто! Учимся программировать

  
  
Subscribe.ru
RFpro.ru: Ассемблер? Это просто! Учимся программировать

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 443
• повысить рейтинг »
Evgen aka Chuma
Статус: 6-й класс
Рейтинг: 52
• повысить рейтинг »
quirck
Статус: 1-й класс
Рейтинг: 0
• повысить рейтинг »

• Assembler

Номер выпуска: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 smile ), то увидели бы, то имя загружаемого файла должно быть не ASM, а COM.
Т.к. программа грузит свой же код на свое же место. Вы же пытаетесь грузить исходник, текстовый файл...
Так что последствия интерпретации текста, как кода, абсолютно правильные... smile

Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 08.02.2018, 13:24
Рейтинг ответа:

НЕ одобряю +1 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


 
     Прошлые выпуски
RFpro.ru: Ассемблер? Это просто! Учимся программировать RFpro.ru: Ассемблер? Это просто! Учимся программировать RFpro.ru: Ассемблер? Это просто! Учимся программировать Все выпуски рассылки
 
Если выпуск не отображается, вы можете прочесть его на сайте

Это сообщение было отправлено на admin10383.deep@blogger.com потому, что вы подписались на рассылку comp.prog.assembler на subscribe.ru.
Чтобы гарантировать получение писем от нас — добавьте наш адрес в адресную книгу.

Вы можете отказаться от получения писем.

Архив рассылки Поддержка подписчиков

Комментариев нет:

Отправить комментарий