91 lines
2.8 KiB
Plaintext
91 lines
2.8 KiB
Plaintext
|
stx(1) xpkit
|
||
|
|
||
|
NAME
|
||
|
stx - xpkit embeddable smalltalk system
|
||
|
|
||
|
SYNOPSIS
|
||
|
stx [-f imageFile] MainClass
|
||
|
|
||
|
DESCRIPTION
|
||
|
The virtual machine executes "MainClass main" on start-up.
|
||
|
|
||
|
|
||
|
method 1.
|
||
|
push lookup_class(#MainClass) -> receiver.
|
||
|
send a unary(no argument) message with the selector #main.
|
||
|
return the returned value from main and exits.
|
||
|
|
||
|
method 2. - take a command parameter
|
||
|
push lookup_class(#MainClass) -> receiver.
|
||
|
push argc as an argument.
|
||
|
push argv as an argument.
|
||
|
send a double-argument message the the selector #main:withArgv:.
|
||
|
return the returned value from #main:withArgv and exits.
|
||
|
|
||
|
|
||
|
AUTHOR(S)
|
||
|
Chung, Hyung-Hwan (bacon@piowave.com) is the sole designer and implementer of stx.
|
||
|
|
||
|
BUG REPORTS
|
||
|
Report bugs to bacon@piowave.com if you find any bugs. but make sure that it is really a bug before you report it.
|
||
|
|
||
|
COPYRIGHT
|
||
|
Copyright(c) 2005 bacon@piowave.com
|
||
|
|
||
|
SEE ALSO
|
||
|
xpkit(7)
|
||
|
|
||
|
|
||
|
-- stack bytecodes --
|
||
|
0 0000 XXXX push_receiver_variable
|
||
|
1 0001 XXXX push_temporary_location
|
||
|
2 0010 XXXX push_literal_constant
|
||
|
3 0011 XXXX push_literal_variable
|
||
|
4 0100 XXXX store_receiver_variable
|
||
|
5 0101 XXXX store_temporary_location
|
||
|
6 0110 0000 XXXXXXXX push_receiver_variable_extended
|
||
|
0110 0001 XXXXXXXX push_temporary_location_extended
|
||
|
0110 0010 XXXXXXXX push_literal_constant_extended
|
||
|
0110 0011 XXXXXXXX push_literal_variable_extended
|
||
|
0110 0100 XXXXXXXX store_receiver_variable_extended
|
||
|
0110 0101 XXXXXXXX store_temporary_location_extended
|
||
|
0110 0110 unused
|
||
|
0110 0111 unused
|
||
|
0110 1000 pop_stack_top
|
||
|
0110 1001 duplicate_stack_top
|
||
|
0110 1010 push_active_context
|
||
|
0110 1011 unused
|
||
|
0110 1100 unused
|
||
|
0110 1101 unused
|
||
|
0110 1110 unused
|
||
|
0110 1111 unused
|
||
|
|
||
|
-- send bytecodes --
|
||
|
7 0111 0000 JJJKKKKK send_to_self
|
||
|
0111 0001 JJJKKKKK send_to_super
|
||
|
0111 0010 JJJJJJJJ KKKKKKKK send_to_self_extended
|
||
|
0111 0011 JJJJJJJJ KKKKKKKK send_to_super_extended
|
||
|
|
||
|
0111 0100 XXXXXXXX
|
||
|
0111 0101 XXXXXXXX
|
||
|
0111 0110 XXXXXXXX
|
||
|
0111 0111 XXXXXXXX
|
||
|
|
||
|
-- return bytecodes --
|
||
|
0111 1000 return receiver
|
||
|
0111 1001 return_true
|
||
|
0111 1010 return_false
|
||
|
0111 1011 return_nil
|
||
|
|
||
|
0111 1100 return_from_message
|
||
|
0111 1101 return_from_block
|
||
|
0111 1110
|
||
|
0111 1111
|
||
|
|
||
|
-- jump bytecodes --
|
||
|
8 1000 0XXX jump_forward
|
||
|
1000 1XXX XXXXXXXX jump_forward
|
||
|
|
||
|
-- primitive --
|
||
|
F 1111 XXXX XXXXXXXX do_primitive
|