Процессор ntvdm обнаружил недопустимую инструкцию - Assembler
Формулировка задачи:
Эта программа имитирует звук сирены. После первого цикла выдает вот такую ошибку " Процессор ntvdm обнаружил недопустимую инструкцию". В чем может быть проблема? Прошу ваши варианты, желательно с кодом в комментарии.
.386 .model small stack 100h delay macro time local ext, iter push cx mov cx, time ext: push cx mov cx, 5000 iter: loop iter pop cx loop ext pop cx endm .data tonelow dw 2651 cnt db 0 temp dw ? .code main: mov ax ,@data mov ds ,ax mov ax ,0 go: mov al, 0B6h out 43h, al in al, 61h or al, 3 out 61h, al mov cx, 2083 musicup: mov ax, tonelow out 42h, al xchg al, ah out 42h, al add tonelow, 1 delay 1 mov dx, tonelow mov temp, dx loop musicup mov cx, 2083 musicdown: mov ax, temp out 42h, al mov al, ah out 42h, al sub temp, 1 delay 1 loop musicdown nosound: in al, 61h and al, 0FCh out 61h, al mov dx, 2651 mov tonelow, dx inc cnt cmp cnt, 5 jne go exit: mov ax, 4c00h int 21h end main
Решение задачи: «Процессор ntvdm обнаружил недопустимую инструкцию - Assembler»
textual
Листинг программы
.386 .model small
Объяснение кода листинга программы
- Указывает модель памяти компьютера - .model small
- Устанавливает сегмент данных на 386 - .386
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д