С Новым годом! Форум программистов, компьютерный форум, киберфорум
FASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
1 / 1 / 1
Регистрация: 28.11.2020
Сообщений: 110

illegal instruction

11.07.2021, 17:53. Показов 4048. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Assembler
1
2
3
4
5
6
7
8
9
.model tiny
.code
org 100h
start: mov ah, 9
       mov dx, offset message
       int 21h
       ret
message db "hello, world!",0Dh, 0Ah, '$'
end start
После компиляции выдает ошибку illegal instruction, подскажите где проблема
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.07.2021, 17:53
Ответы с готовыми решениями:

Illegal instruction
Помогите, почему компилятор выдает ошибки ? (6) Illegal instruction (14) Undefined symbol: MESS_LEN .model small .stack 100h ...

Ошибка Illegal Instruction
Программа находит ошибки Illegal instruction и прочее! Помогите с решением текст .asm вставлена ниже .386P .MODEL FLAT, stdcall ...

rlc illegal instruction
Здравствуйте. Опять таки перепечатал текст с методы...Но наш любымый преподователь не рассказывает как оно работает. Помогите пожалуйста. ...

12
 Аватар для FFPowerMan
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,240
11.07.2021, 17:58
В какой строке?

Добавлено через 55 секунд
Перед .org точка ставится. Не на ret случайно ругается, потому что возвращаться по сути не из чего?
0
1 / 1 / 1
Регистрация: 28.11.2020
Сообщений: 110
11.07.2021, 19:15  [ТС]
DOS box'овский ассемблер выделяет первую строчку, но я не уверен, что это выделение ошибки, а не просто какая-то особенность работы программы
0
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
11.07.2021, 19:48
Код Fasm:
Assembler
1
2
3
4
5
6
7
8
9
10
11
;.model tiny
;.code
org 100h
;start:
       mov ah, 9
       mov dx, offset message
       mov dx, message
       int 21h
       ret
message db "hello, world!",0Dh, 0Ah, '$'
;end start
0
1 / 1 / 1
Регистрация: 28.11.2020
Сообщений: 110
13.07.2021, 11:36  [ТС]
Constantin Cat, тогда какие команды исполняют такие же функции в fasm?
0
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
13.07.2021, 11:43
Честно я не понял о чем Вы. Это
Цитата Сообщение от Constantin Cat Посмотреть сообщение
Код Fasm:
0
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
13.07.2021, 12:13
Цитата Сообщение от Avgust Pier Посмотреть сообщение
тогда какие команды исполняют такие же функции в fasm
.model = format, но для tiny не актуально
.code = segment, но для tiny не актуально
org = org
mov dx, offset message = mov dx, message - получить адрес
end start = entry, но для tiny не актуально
0
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16372 / 7684 / 1080
Регистрация: 11.11.2010
Сообщений: 13,758
13.07.2021, 12:22
Avgust Pier,
Мануал по flat assembler
0
1 / 1 / 1
Регистрация: 28.11.2020
Сообщений: 110
13.07.2021, 14:43  [ТС]
Constantin Cat, что вы имеете ввиду под "не актуально" ? Если мне нужно указать формат tiny, что я должен сделать?
0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
13.07.2021, 15:25
Avgust Pier, Constantin Cat Вам написал пример. Проверьте.
org 256 должно быть достаточно. format binary действует по умолчанию.
https://www.cyberforum.ru/post6567086.html
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6809 / 2049 / 238
Регистрация: 14.12.2014
Сообщений: 4,300
Записей в блоге: 12
13.07.2021, 15:27
Avgust Pier, синтаксис инструкций MASM, fasm (а также NASM и пр) немного отличается. В частности, в отношении адресации: в MASM можно написать mov ax,[var] или mov ax,var – без разницы. А в fasmNASM) первое – это обращение к памяти, а второе аналогично MASM'овскому mov ax,offset var.

Директивы вообще у каждого свои. Например, у MASM.model, .286, .startup, locals, if/endif, end и пр.; у fasmformat, use16, segment, stack, heap, if/end if + куча макросов типа .code, proc и пр.; у NASMbits, segment, %if/%endif и т.д..

Неактуально – значит для .COM-программ можно не использовать format binary as 'com', а segment вообще не применяется, только org 100h. И end тоже не используется (в fasm это вообще макрос, определённый в inc-файлах).
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8647 / 4482 / 1669
Регистрация: 01.02.2015
Сообщений: 13,889
Записей в блоге: 12
13.07.2021, 15:31
Avgust Pier, инструкции процессора и их мнемоники одинаковы для всех (или почти всех) компиляторов - TASM, FASM, MASM, NASM...
Но служебные слова, определяющие результат компиляции, абсолютно разные у каждого из этих компиляторов.

Тот исходник, что вы привели в первом сообщении, создан для компилятора TASM. Абсолютно тот же код для синтаксиса компилятора FASM привёл Constantin Cat в сообщении 4.

В самом общем виде, минимальная программа для DOS в формате com для компилятора FASM выглядит
Assembler
1
2
3
4
5
6
use16                                   ;Генерировать 16-битный код
org 100h                                ;Программа начинается с адреса 100h
 
;здесь мог располагаться код вашей программы
 
        int     20h                     ;Завершение программы
Программа Hello
Assembler
1
2
3
4
5
6
7
8
9
10
11
use16                                   ;Генерировать 16-битный код
org 100h                                ;Программа начинается с адреса 100h
 
        mov     dx,     hello           ;В DX адрес строки.
        mov     ah,     9               ;Номер функции DOS.
        int     21h                     ;Обращение к функции DOS.
 
        mov     ax,     4C00h           ;В регистр AH помещаем 4Ch, в AL – 00h.
        int     21h                     ;Завершение программы
;-------------------------------------------------------
hello db 'Hello, world!$'
Открывайте методичку и продолжайте изучать.

Добавлено через 1 минуту

Не по теме:

Соскучились, набросились )

0
1 / 1 / 1
Регистрация: 28.11.2020
Сообщений: 110
13.07.2021, 15:44  [ТС]
politoto, Jin X, ФедосеевПавел, благодарю вас за развернутый ответ
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.07.2021, 15:44
Помогаю со студенческими работами здесь

Ошибка: Illegal instruction
Задание: Выбор одинаковых элементов из двух массивов целых чисел. В программе FASM. Вот есть код, но выдает ошибку: cld mov...

the NTVDM CPU has encountered an illegal instruction.
при запуске .еxe файла этой программы - .model TINY .stack 100h .data .code start: mov ax,@data mov dx,ax mov ...

Нужно найти причину ошибки (illegal instruction)
Совсем новичек в данной теме.(23 минуты опыта). Набрал текст программы из книги пытался скомпилировать выдало данную ошибку. Можете...

Illegal instruction: datas db'string' or wrong parameters
Как исправить эти ошибки? (3) illegal instruction: datas db'string' or wrong parameters. (16) wrong parameters: INC byte ptr ...

Ошибка: "the ntvdm cpu has encountered an illegal instruction"
помогите сделать скриншоты. для кода. сделала только скрин начало и компилирование..а ход и конец не могу..выдает ошибку. the ntvdm cpu has...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru