2014-04-04
InvaderVM worked successfully.
VM(Virtual Machine) on Morikawa as one of the Morikawa Apps worked successfully.
Now we can upload various codes to INVADER from ground station and execute them on orbit.
SOUECE CODE
DOCUMENT
ASSEMBLER
We have tested the following 2 programs and executed correctly on orbit.
1. Write CURRENT_SOLAR to TEXT_Y three times and transmit “invader” in Morse
—- Assembly
SETC, FUNC, getTelemetryCurrent
SETC, ARG0, 2
CALL
SET, HCUR, 0
MOV, HEAP, RETV
SET, HCUR, 4
MOV, HEAP, RETV
SET, HCUR, 8
MOV, HEAP, RETV
CLR, HCUR
SETC, ARG0, 1
SETC, ARG1, 12
SETC, FUNC, setText
CALL
TXT, 7, invader
SETI, ARG0, 1047
SETC, ARG1, 7
SETC, FUNC, playMorse
CALL
SETI, ARG2, 1200
WAIT, ARG2
END
—- Hex Dump by iva
2109 0301 1d03 0502 0802 0300 2000 0506
0402 0203 04c0 0800 0880 080d 0503 0305
0103 060c 0301 2308 1f07 2013 1869 6e76
6164 6572 0405 1704 0306 0703 0149 0804
07b0 041e 0700
—- Result
2. Mapping each current data into pitch and duration of tone signal and transmit it
—- Assembly
SETC, FUNC, getTelemetryCurrent
MOV, ARG0, HEAP
CALL
SETI, ARG4, 1024
SETC, ARG6, 110
SETC, ARG7, 64
MOV, ARG1, RETV
MUL, RETV, RETV
MUL, RETV, ARG6
DIV, RETV, ARG5, ARG7
DIV, RETV, ARG5, ARG7
DIV, RETV, ARG5, ARG4
MOV, ARG0, ARG5
SETC, FUNC, playFrequency
CALL
SETC, ARG9, 19
MOV, ARGA, HEAP
INC, ARGA
DIV, ARGA, HEAP, ARG9
END
—- Hex Dump by iva (Compressed)
2115 0301 1d06 0504 0804 0900 0403 0b6e
030c 4006 0602 1102 2002 040b 1202 0a0c
a003 1409 0605 0a03 0145 0803 0e13 060f
040c 0f12 0f04 0e00
—- Result