Ошибка протея: неверный код операции 0x000D на ПК =0x0118

Я написал этот код на Bascom но, как я бегу и нажимаю на клавиатуре Proteus Я вижу эту ошибку:

Invalid opcode 0x000D at PC=0x0118

это мой код на Bascom

$regfile = "m16def.dat"
$crystal = 1000000
Config Kbd = Portd , Debounce = 30
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , Rs = Portb.3 , E = Portb.2
Dim Adad As Byte
Dim Andis As Byte
Dim Lable As Byte

Scan1:
Waitms 200
Adad = 0
Andis = Getkbd()
If Andis > 15 Then Goto Scan1

Lable = Lookup(andis , Dta)
If Lable < 10 Then
Adad = Adad * 10
Adad = Adad + Lable
Lcd Adad
End If

Dta:
Data 7 , 8 , 9 , 10 , 4 , 5 , 6 , 11 , 1 , 2 , 3 , 12 , 13 , 0 , 14 , 15

а это мой proteus симуляция для simple calculation: введите описание изображения здесь

и когда я нажимаю на клавиатуру, я вижу это: введите описание изображения здесь

Я понятия не имею, что там произошло. любая помощь будет оценена.

0 ответов

Это из-за версии ПОС или его типа. Например, при использовании с arduino вы должны указать тип (UNO, NANO, MEGA).

Вероятно, это.include, когда я впервые столкнулся с этой проблемой при программировании на ассемблере avr в той же программе (proteus) с использованием atmega328p. Мне удалось поставить inculde на 1-е место, и у меня была демонстрационная версия proteus (которая требует запуска от имени администратора каждый раз, когда вы снова запускаете приложение). Попробуйте это и дайте мне знать, что это сработало.

Другие вопросы по тегам