Hi,
how can i get interrupts?
Best regards,
Nordwind64
how can i get interrupts?
Best regards,
Nordwind64
I hear windows hides the interrupts in some part of memory, and feeds info for them to VxD's, but if you had a way of figuring out where the interrupts are kept and calling them from ring3 (or getting into ring0) then you should be able to call them
Win9x: VXD or ring0 hack
NT: KMD (Kernel Mode Driver), or WDM (Windows Driver Model)
NT: KMD (Kernel Mode Driver), or WDM (Windows Driver Model)
Thanks alot!
This is the code, it is AVR Assembler (?).
How can I portable it to MASM32 code. Is that possible?
Greetings,
Nordwind64
This is the code, it is AVR Assembler (?).
How can I portable it to MASM32 code. Is that possible?
.include "8515def.inc"
.def ERRORFLAG_ =r0 ;..byte variable..ERRORFLAG
.def M_ =r1 ;..byte variable..M
RJMP RST__0 ;..reset location
RJMP INT__0 ;..ext interrupt0
RJMP INT__1 ;..ext interrupt1
RETI ;..timer1 capture
RETI ;..timer1 compare A
RETI ;..timer1 compare B
RJMP INT_1T ;..timer1 overflow
RJMP INT_0T ;..timer0 interrupt
RJMP STC__0 ;..Serial Transfer Complete
RJMP RXC__0 ;...UART RX complete..
RETI ;...UART empty..
RETI ;...UART TX complete..
RJMP ADC__0 ;..ADC complete
;***END OF VECTOR TABLE********************
RST__0:
RJMP RST_00
INT__0:
RJMP INT_00
INT__1:
RJMP INT_01
INT_1T:
RJMP INT_T1
INT_0T:
RJMP INT_T0
STC__0:
RJMP STC_00
RXC__0:
RJMP RXC_00
ADC__0:
RJMP ADC_00
STC_00: RETI
INT_T0: RETI
INT_T1: RETI
INT_00: RETI
INT_01: RETI
ADC_00: RETI ;ignore A/D interrupts
;........................................
RST_00: CLR r31 ;...main program begins here..
OUT ACSR,r31;..power up anlg comp...
OUT DDRA,r31
OUT DDRB,r31
OUT DDRC,r31
OUT DDRD,r31
LDI r31,$5F
LDI r30,$02
OUT SPL,r31 ;..init stack ptr..
OUT SPH,r30
IN r31,MCUCR;XMEM disable
CBR r31,SRE
OUT MCUCR,r31
;MHZ 4
IN r31,UCR ;RECV INIT 9600
ORI r31,$10
OUT UCR,r31
LDI r31,$19
OUT UBRR,r31
IN r31,UCR ;RECV INTERRUPT ON
ORI r31,$80
SEI
OUT UCR,r31
CBI DDRD,$0;makein d,0 'Empf?ngerpin
;ERRORFLAG=1
LDI r31,$1
MOV ERRORFLAG_,r31
;Interrupt RECV
;Interrupt RECV
RXC_00: PUSH r31 ;pushreg
PUSH r30
PUSH r29
PUSH r28
;pushreg
IN r31,SREG;pushflags
PUSH r31
;pushflags
IN r31,USR ;RECV IN m,errorflag
IN M_,UDR
ANDI r31,$80
BREQ RX001
IN r31,USR
ANDI r31,$18
MOV ERRORFLAG_,r31
RJMP RX002
RX001: LDI r31,$FF
MOV ERRORFLAG_,r31
RX002: POP r31 ;popflags
OUT SREG,r31
POP r28 ;popreg
POP r29
POP r30
POP r31
RETI ;end interrupt
DL001B: ;do
LDI r29,$0 ;if errorflag = 0
CPSE ERRORFLAG_,r29
RJMP IF001E
; errorflag=1
LDI r31,$1
MOV ERRORFLAG_,r31
;end if
IF001E:
RJMP DL001B
EN001: RJMP EN001 ;end
.dseg
.eseg
.exit
Greetings,
Nordwind64
Hi Nordwind64,
You can convert opcodes and you can create interrupt table but, AVR asm interrupt functions different than 80x86. AVR assembler using interrupts for internal configuration and external communication. Maybe you can use/make a simulator.
Best Regards,
You can convert opcodes and you can create interrupt table but, AVR asm interrupt functions different than 80x86. AVR assembler using interrupts for internal configuration and external communication. Maybe you can use/make a simulator.
Best Regards,
Thank you, CYDONIA!
I will try that. :shock:
Greetings,
Nordwind64
I will try that. :shock:
Greetings,
Nordwind64