https://github.com/akkartik/mu/blob/main/baremetal/101screen.subx
1
2
3 == code
4
5 pixel:
6
7 55/push-ebp
8 89/<- %ebp 4/r32/esp
9
10 50/push-eax
11 51/push-ecx
12
13 8b/-> *(ebp+8) 1/r32/ecx
14 81 7/subop/compare %ecx 0/imm32
15 {
16 75/jump-if-!= break/disp8
17
18 8b/-> *(ebp+0xc) 0/r32/eax
19 3d/compare-eax-and 0/imm32
20 7c/jump-if-< $pixel:end/disp8
21 3d/compare-eax-and 0x400/imm32/1024
22 7d/jump-if->= $pixel:end/disp8
23 8b/-> *(ebp+0x10) 0/r32/eax
24 3d/compare-eax-and 0/imm32
25 7c/jump-if-< $pixel:end/disp8
26 3d/compare-eax-and 0x300/imm32/768
27 7d/jump-if->= $pixel:end/disp8
28
29 8b/-> *(ebp+0x10) 0/r32/eax
30 c1/shift 4/subop/left %eax 0xa/imm8
31 03/add-> *(ebp+0xc) 0/r32/eax
32
33 03/add-> *0x7f28 0/r32/eax
34
35 8b/-> *(ebp+0x14) 1/r32/ecx
36 88/byte<- *eax 1/r32/CL
37
38 eb $pixel:end/disp8
39 }
40
41 $pixel:end:
42
43 59/pop-to-ecx
44 58/pop-to-eax
45
46 89/<- %esp 5/r32/ebp
47 5d/pop-to-ebp
48 c3/return