2007-11-12 18:04:00 +00:00
|
|
|
stx(1) ase
|
2007-05-02 01:07:00 +00:00
|
|
|
|
|
|
|
NAME
|
2007-11-12 18:04:00 +00:00
|
|
|
stx - ase embeddable smalltalk system
|
2007-05-02 01:07:00 +00:00
|
|
|
|
|
|
|
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)
|
2007-06-16 01:01:00 +00:00
|
|
|
Hyung-Hwan Chung (bacon@abiyo.net) is the sole designer and implementer of stx.
|
2007-05-02 01:07:00 +00:00
|
|
|
|
|
|
|
BUG REPORTS
|
2007-06-16 01:01:00 +00:00
|
|
|
Report bugs to bacon@abiyo.net if you find any bugs. but make sure that it is really a bug before you report it.
|
2007-05-02 01:07:00 +00:00
|
|
|
|
|
|
|
COPYRIGHT
|
2007-06-16 01:01:00 +00:00
|
|
|
Copyright(c) 2005 bacon@abiyo.net
|
2007-05-02 01:07:00 +00:00
|
|
|
|
|
|
|
SEE ALSO
|
2007-06-16 01:01:00 +00:00
|
|
|
ase(7)
|
2007-05-02 01:07:00 +00:00
|
|
|
|
|
|
|
|
|
|
|
-- 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
|