Do you have a link to obtain a copy of the assembler?
You best bet is to upload it, then hit up-arrow to see a copy of what was uploaded. Eg.
var adder = E.asm("int(int)",
"movs r1, #3",
"adds r0, r0, r1", // add two 32 bit values
"bx lr"); // return
Gives var adder = E.nativeCall(1, "int(int)", atob("AyFAGHBH"))
and you can just use atob("AyFAGHBH"):
var data = atob("AyFAGHBH");
var addr = process.memory().stackEndAddress-data.length;
poke8(addr, data);
What is the opcode for disable and enable interrupt?
You don't actually have to disable interrupts - I believe the ARM does this for you (the only thing that will interrupt you is an interrupt of higher priority, which you should probably allow anyway).
Does the ARM use a special return from interrupt? If so what is the opcode?
It's just a simple bx lr I believe (a normal return) - the ARM instruction set is quite nice :)
How to queue the Javascript?
I don't think that is possible for now...
You'd have to toggle the state of a pin, feed it back, and then use setWatch. There's info on toggling pins states under the ACCESSING IO heading on the assembler page
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
You best bet is to upload it, then hit up-arrow to see a copy of what was uploaded. Eg.
Gives
var adder = E.nativeCall(1, "int(int)", atob("AyFAGHBH"))
and you can just use
atob("AyFAGHBH")
:You don't actually have to disable interrupts - I believe the ARM does this for you (the only thing that will interrupt you is an interrupt of higher priority, which you should probably allow anyway).
It's just a simple
bx lr
I believe (a normal return) - the ARM instruction set is quite nice :)I don't think that is possible for now...
You'd have to toggle the state of a pin, feed it back, and then use
setWatch
. There's info on toggling pins states under theACCESSING IO
heading on the assembler page