blob: 1cbe5dc12bdfc41e57dd3825987e9fb230b241c7 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
## first program: same as https://www.muppetlabs.com/~breadbox/software/tiny/teensy.html
# Just return 42.
#
# To run:
# $ subx translate ex1.1.subx ex1
# $ subx run ex1
# Expected result:
# $ echo $?
# 42
== 0x08048054 # code segment, after leaving room for ELF header
# opcode ModR/M SIB displacement immediate
# instruction mod, reg, Reg/Mem bits scale, index, base
# 1-3 bytes 0/1 byte 0/1 byte 0/1/2/4 bytes 0/1/2/4 bytes
bb 2a 00 00 00 # copy 0x2a (42) to EBX
# exit(EBX)
b8 01 00 00 00 # copy 1 to EAX
cd 80 # int 80h
# vim:ft=subx
|