Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/donno2048/printable

compile printable com executables
https://github.com/donno2048/printable

assembly executable

Last synced: about 1 month ago
JSON representation

compile printable com executables

Awesome Lists containing this project

README

        

# Printable

Compile printable com executables with just nasm macros.

## Usage

Given "x.asm" which we want to turn into a printable executable "x.com" we will run:

```sh
nasm printable.asm -dinput="$(nasm x.asm -o /dev/stdout | xxd -p - | tr -d '\n')" -o x.com
```

## Examples

### snake

Let's say we want to make a printable executable that acts the same as my [snake game](https://github.com/donno2048/snake)

We can run the following code:

```sh
root@/root$ wget -q https://github.com/donno2048/snake/raw/master/snake.asm
root@/root$ nasm printable.asm -dinput="$(nasm snake.asm -o /dev/stdout | xxd -p - | tr -d '\n')" -o snake.com
root@/root$ cat snake.com ; echo
u> 8# M02 +?-"e@!C~';/4?1); }s$|'w#nHWWi5'UPX!-!$)x1KN=56;F'<2&?o_|83 M08#$3).]_#%8: ; :".8o~' 3I:@")$ 90_w1h'Xf?~' 2@__9H s*3@15:H#f>u~_o3nBQ1#Pg*&nf__FbxXY~@Jbkh 'fG_{&5%'2!:Z#l((e{t{h#s",}7'OO >'% u!y2&%t$~.}{h%|:xF&0>-0*,'!{f/*1#>(#K-Vm^<_/5.,0u:8_652W+"k8+u~(r ?)# Y~.k+;98?;*\!),!//|_I6;#8?k8B/%d_gnh(8m-)>mo>"?h*-~V2t/;s2Y7Tw:;-5".dCm`~H=&_>V~0C_&%%i#M}6 |fG+)Ml%"C_] %$!%_ ,%8&-aw%u~~%f!7>"FOLl_(v% $%x>M._|^~$}%&~%x_78$%i!iPQSfR%_fV+{;@!wc5.pg/6.m%6\>Q&zV^>3*{.>3Rm[f$>[;u~R9QR+x:G\::YbXQ)+^F{[oY&ZC;4 !)$_Ahi9>U+envC82+>3MBk#=$*=8@ .X6 +n)>:#P?}6CD3!1N~^8>-,!+o5h&(xSNg{=C u~&1|7#2|=!{:!_7V-C"v4}v%6"};f9n,3t*+;9,_.u1[_$,wk7*CC0P6#C&=^P-5#@h#[[;Cu~A[cW1 4*xvv{|3 !8!&=5:\+*_2`xh'&xn|8;o>2_3@7#@u%x5W 'NP&C(4~6#X%}?-,9@);Y_%)]M7uJKN&;[V1*C33[;R:*-oJun~@w#c!t% _-3!+AA`"= )>m~#8$U;T81#v'$;&"|3/SE']k&o"fY~+65%9* ?{9!Q94.I&=0[_t<_/u~ k|g57[m$g&'#dv 0~.>5iI u_Y#]m (f+__C.=G\Bu*=pku~[+|/mg;k7H/^a]u.J.k3g7k]3k!ZM} `!=-MtKA9/ 3("/Cak.AB-^{_i0;1Y!+Ca?X)`x'/-e_Zt[_.^_+Pg._1xN>fy*#x+Fx7u?_@a[:7.z7im=$zt8\n<+"Lh+u~9c!iRvi&T0)k37$w~6!7v/(6~"JXA1_;*Ap77@hugnn_o-s=&%>n&1He@;_s/@s.Q`_V0a:bu~Yi'n@`hG0ee+]!0B*HZ0,,X7#K"*#sH,=e*Gi6e[?~]f9p4=rBe*\T>(W5k{,_#0Ca!n43"gtR;PD#BxBW8@,7^-)50'Rk59lO_4&)t-*RSt&u~[u&cag]2#{.%!4g_-:i ?aj!*Nl_gt53[Q.qw]8< 1#C,:cYbm:7k%5f2q# +C[!0%b{Q |W,vG7*`$/@l7

#-.=5(=_e;+?+#/200)>m7"?&4,(_2"<*-).716__%0 ' 1&Q"u~1012'__R13E31R'#210123(_{S2$'$'$)$32!}K23T3j34j4~M,j?9>,:M<>->fL<-*8KmL;"-;<[[;0JklkN _{&%078"8):868=59#,7067/"6(&7Jgn9J8%-;?41"4P#:w94U#2/5;7 !" y^$##*"%#k_1!2 V> )* /#A.0u~J00n(A>01*1_01: Ng)/ 3w')'0{)$'6~$ >H!#$!;v* .;v$" .O6;"#$/$=>e j-v@ ,-d'*.,,--. l0*..7l+ .^2-/!5{ ;8j) C, &*31 &;81.M~L#Hu~321.^ L=g+H.F%J'/=.N2 {M&+.#e_ 4.e3#.6[7?6[U'Va@j+t'(*P#v+'v "--B)!)~9/"'(!*!(gF-#//E:+!-1o/.)-l=$/=-ll /*-s_j. _{m*"(-Z]80%%"u~%/.B^ .=7/-^;./-=w.Y[@8&6{>4-4#.'60i./a'.=V2K ~&j%1%rv"& lij$()X-$0Y/.&d#"XB--$,YC:+(^$#I(}37/!d3-*/o4#Z/Ie !R,*WDV-)s'j90 0+u~9 70 YY2j (+yA6[62 j`_d}61$.^W/*.*-3w./-l{K 6,8n6)l;0!,#F&.'.[v/=;*,!()L8p"3+E\`3>$0%#0w&+3-9#{o0, 3!$"!,3le;c{0*3X)&$'5RbF4 %-9RDI33(#&M#({C2(u~8&?;l6&&'Y(O+[w=a3'r0 ! 2%,W2k7@>3-dd- C. 2e 3lY\3s"''X2D,d3X)63 $,&M3C9i3 -d ,L^Z3{'f#3'm-4#na309s63&l%2'l- 326i3/XB/t4'-!'wu~Y3[H%c&X'[v 3OL& 0%H3l%,;l0UK9l#3 g (70)02%y" ,73T@."'n0) 0{&*k2&l-#2Yo3CY!#7903&^9%D2w4*'-l,&&;3F#=EQ c+!-)O3m&& 2M.k3%lU'6l u~%['{#w%/ [X$$$^7$(4; M/)=s #:%~i)cAA0 CzzYMI)))\6{)2&,;=).;624$-24=424=42^242ov674Kz2;Kf4f/e*+ld+_=<,%O);/w7=)}=; ;-#_vm; /]:=;[;-,>-0MN_6}M- 50-5}-8"=mRMZ-+}5O6ym5v/-.#+@7W06(;Ms'<)#GW\E36=;Q+0;A0[,p0] KY[*@K" >ap+ZP<-WE[,`o%+1u~[';@1 MK]*={0=P;[3 A%`%]<=+=*2"k.G.X6405`7gi`O}P{[m@L@]KM;0Tn_aP-L@Ms[=0d]V+>v`=30@u~/0sl+%G.Ka'0/}@<,[kyKq0:\[p_}Y>90}o'8>8!7;lrU@@;9P08';P@X']2hA@72m:(B>l.;(7(=.;0C8s[09hu~M@gC7vwv;'`@;mH^[6=x'6Y6'_ A;1`!7[u C7f1=_E7v;y2nGF?n~#@)&0$kgI@7d0+\Y7KX'{K!'O9#6=.U97K3W)p#/M>&Op_A#/UwadMQx'PVKLE)iYlY/MYlu~%XY` 6>^XF.v(}ALjhd3L>7&lw0&+'xfH6GBw(?GOM6'-Pl=_X-${?h5AP7poBss6:FYx! Lv=F /87& r_Nv6'6?X7wKC~W87808(]{e0.B';[email protected]&X2%'578Hu~6+&3 <)aeL0W%1&NHI@Vp2!76=6]T v S2\G#+=B$@@2"U^l7(US93VXt>Y /l$>PVG4%Y\H`WO72 ?72Q71=sQ&d`&Viy76Db+1,39v$;=&P*O2#&/X{V fM}2>%u~<7%+?}7Xq7V'%5(!b-X7}cd20K7lVlI{%_f6aW<97,q6f>=8HX'Fv#K%hzN8W[x"IDv'-'EP!1&fv1#p>B8#6 9{'H5@p`n18%06@v&k)K;"BvP=(,00=dcOw76pS6u~g84'[.c&'UG,~&WvF vV #-&@/M}&0&0!v_&'f`1-{K,#_=^q1"3. .s_v.`0L=.!.qq?X"#1];-+-_5{%.0N0^`}1!+*0?;'>!KOr<=. 01 21!B`4M^!,o}O^ 1'u~:PSn('d0.0;lgcUn)1k30T{PK>N@n7{ nN70uR7X`(;_w:!a#L82!`w73M+=AN1;u!qln86n`.03p0'cq0Nw(g;0! 8:8=l 80#@82)70-r ( 6%!40{B0 H R3=0.u~Q.H4(un?-}6m(&&!7(4@4?ns5&>-kn)0>?!s;"(7"w]#/;# $&h!$5"x=mY\0!#`;*! 6U"B @ ! _$h: rzAh/ c;sy#i#r&(L,wP51Ih; 1Iu(Ah3 s{AA!}u-#Q!-#6s$6kHh" 1I![u$-1@3C^9@ ,,h