#include <90s2313.h>
#include <delay.h>
void LCD (unsigned char temp, unsigned char temp1){
unsigned char temp2
#asm
outind:
//temp1- адрес, temp2- данные
//запись адреса
LCD_WA:
mov temp,temp1
andi temp,0x0f
ori temp,0x10
out portb,temp
nop
nop
cbi portb, WR1
sbi portb, A0
//запись данных (запись тетрады)
LCD_WN:
mov temp,temp2 //запись младшей тетрады
andi temp,0x0f
ori temp,0x30
out portb,temp
nop
nop
cbi portb, WR1
nop
nop
swap temp2 //запись старшей тетрады
mov temp,temp2
andi temp,0x0f
ori temp,0x30
out portb,temp
nop
nop
cbi portb, WR1
ret
#endasm
}
void main(void) {
DDRB = 0x20; // 0010 0000 output pin pb5
LCD (2,3);
}
я назвал переменные темп, затем сразу пишу на асме, выдаёт ошибку, что- то там про мои переменные говорит, не знаю в чём дело, может нельзя так делать?