- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
INTERRUPT_TABLE section:
00> FF FF | . .
02> 9F 00 | . .
DATA section:
32> 48 65 6C 6C 6F 20 77 6F | Hello.wo
3A> 72 6C 64 21 00 00 00 00 | rld . . . . .
42> 00 00 00 00 00 00 00 00 | . . . . . . . .
4A> 00 00 00 00 00 00 00 00 | . . . . . . . .
_START section:
8F> 9B 00 32 00 PUSH 32
93> 18 00 00 00 INT 0
97> 18 00 01 00 INT 1
9B> 94 40 01 00 ADD %B 1
EXIT interrupt:
9F> 81 40 16 E8 MOV %B E816
A3> 20 00 00 00 RET
RUNFLOW:
8F> 9B 00 32 00 PUSH 32
93> 18 00 00 00 INT 0 DEBUG OUTPUT: Hello world!
97> 18 00 01 00 INT 1
9F> 81 40 16 E8 MOV %B E816
A3> 20 00 00 00 RET
9B> 94 40 01 00 ADD %B 1
HALT SEQUENCE REACHED: 0xE817
Закодил свою виртуальную машину и ассемблер под неё.
Заспидранил Hello world за неделю.
https://pastebin.com/NmLEuGMU
digitalEugene 08.05.2021 08:59 # 0
JloJle4Ka 08.05.2021 09:59 # 0
_PHP_ 08.05.2021 13:23 # +1
digitalEugene 08.05.2021 13:32 # 0
_PHP_ 08.05.2021 13:33 # 0
digitalEugene 08.05.2021 15:15 # +1
enjoy
bormand 10.05.2021 00:19 # 0
> 00> FF FF
Фейковое прерывание, которое пишет в лог? Ну что за читерство... А как же высирание в сериал порт по байтику?
MAKAKA 10.05.2021 02:19 # +1
В 21h тоже было овердохуя высокоуровневой хуиты, может он уже DOS для своей машины написал?
bormand 10.05.2021 07:45 # 0
Но она была реализована через низкоуровневую хуиту, а не захардкожена в процессор...
digitalEugene 10.05.2021 03:48 # 0
bormand 10.05.2021 07:41 # 0