{"id":10482,"date":"2023-05-25T21:08:00","date_gmt":"2023-05-25T19:08:00","guid":{"rendered":"https:\/\/monodes.com\/predaelli\/?p=10482"},"modified":"2023-05-25T10:22:38","modified_gmt":"2023-05-25T08:22:38","slug":"a-c-compiler-that-fits-within-the-512-byte-boot-sector","status":"publish","type":"post","link":"https:\/\/monodes.com\/predaelli\/2023\/05\/25\/a-c-compiler-that-fits-within-the-512-byte-boot-sector\/","title":{"rendered":"A C compiler that fits within the 512 byte boot sector"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>SectorC (<a href=\"https:\/\/github.com\/xorvoid\/sectorc\">github<\/a>) is a C compiler written in x86-16 assembly that fits within the 512 byte boot sector of an x86 machine. It supports a subset of C that is large enough to write real and interesting programs. It is quite likely the smallest C compiler ever written.<\/p>\n<\/blockquote>\n\n\n\n<p>Source: <em><a href=\"https:\/\/xorvoid.com\/sectorc.html\">xorvoid<\/a><\/em><\/p>\n\n\n\n<p>That&#8217;s quite an impressive achievement!<\/p>\n","protected":false},"excerpt":{"rendered":"<p class=\"excerpt\">SectorC (github) is a C compiler written in x86-16 assembly that fits within the 512 byte boot sector of an x86 machine. It supports a subset of C that is large enough to write real and interesting programs. It is quite likely the smallest C compiler ever written. Source: xorvoid That&#8217;s quite an impressive achievement!<\/p>\n<p class=\"more-link-p\"><a class=\"more-link\" href=\"https:\/\/monodes.com\/predaelli\/2023\/05\/25\/a-c-compiler-that-fits-within-the-512-byte-boot-sector\/\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[105],"tags":[],"class_list":["post-10482","post","type-post","status-publish","format-standard","hentry","category-fun"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6daft-2J4","jetpack-related-posts":[{"id":6636,"url":"https:\/\/monodes.com\/predaelli\/2020\/02\/05\/oh-debug-symbols\/","url_meta":{"origin":10482,"position":0},"title":"Oh, debug symbols","author":"Paolo Redaelli","date":"2020-02-05","format":false,"excerpt":"I forgot how big an executable can become when you compile it with debug symbols. I was recompiling IfcOpenShell. For a moment my 16Gb, 12core machine froze. Well, an executable of six hundred, thirty five millions of bytes! paolo@rigel:\/mnt\/dati\/paolo\/src\/IfcOpenShell\/build\/Linux\/x86_64\/install\/ifcopenshell\/bin$ file * IfcConvert: ELF 64-bit LSB pie executable, x86-64, version 1\u2026","rel":"","context":"In &quot;Senza categoria&quot;","block_context":{"text":"Senza categoria","link":"https:\/\/monodes.com\/predaelli\/category\/senza-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":457,"url":"https:\/\/monodes.com\/predaelli\/2015\/06\/24\/the-amazing-javascript\/","url_meta":{"origin":10482,"position":1},"title":"The amazing JavaScript","author":"Paolo Redaelli","date":"2015-06-24","format":false,"excerpt":"Javascript, HTML5 and the browser in all its incarnations are quickly becoming the new amazing way of developing applications for the \"plain and simple end-user\". On the MacBook Pro Javascript was 44% slower than C (Java only 1.5%). The Javascript Nitro VM on my iPhone 4S was 99% slower than\u2026","rel":"","context":"In &quot;Javascript&quot;","block_context":{"text":"Javascript","link":"https:\/\/monodes.com\/predaelli\/category\/javascript\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":297,"url":"https:\/\/monodes.com\/predaelli\/2015\/06\/12\/javascript-other-languages\/","url_meta":{"origin":10482,"position":2},"title":"JavaScript + Other Languages","author":"Paolo Redaelli","date":"2015-06-12","format":"link","excerpt":"JavaScript+OtherLanguages Those slides JavaScript + Other Languages are really useful to implement an eventual Eiffel to JavaScript compiler. Well, actually it should be called transcompiler.... We could just feed the C files made by current Liberty compiler but it seems to me that passing throught C which is a procedural\u2026","rel":"","context":"In &quot;Eiffel&quot;","block_context":{"text":"Eiffel","link":"https:\/\/monodes.com\/predaelli\/category\/eiffel\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1286,"url":"https:\/\/monodes.com\/predaelli\/2016\/04\/17\/eiffel-a-viable-candidate-as-a-language-for-the-gnome-platform\/","url_meta":{"origin":10482,"position":3},"title":"Eiffel: A viable candidate as a language for the Gnome platform ?","author":"Paolo Redaelli","date":"2016-04-17","format":false,"excerpt":"Eiffel: A viable candidate as a language for the Gnome platform ? It was 2004. Linux were labelled as a cancer by Ballmer, Android and iPhone didn't existed. Multi-core CPU were still high-end. It was a different world. From archive.org, before it got lost.... Twelve years ago. And it was\u2026","rel":"","context":"In &quot;Eiffel&quot;","block_context":{"text":"Eiffel","link":"https:\/\/monodes.com\/predaelli\/category\/eiffel\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":639,"url":"https:\/\/monodes.com\/predaelli\/2015\/08\/24\/pc-in-pericolo-con-i-processori-x86-difettosi-per-18-anni-ictbusiness-it\/","url_meta":{"origin":10482,"position":4},"title":"Pc in pericolo con i processori x86, \u201cdifettosi\u201d per 18 anni &#8211; ictBusiness.it","author":"Paolo Redaelli","date":"2015-08-24","format":"link","excerpt":"Come dire: ah, bello, ottimo! Un difetto introdotto nell\u2019architettura x86 nel 1997 e passato inosservato fino a oggi permette di realizzare attacchi al livello del firmware, particolarmente insidiosi. Lo ha svelato un ricercatore del Battelle Memorial Institute, con un test realizzato su chip Intel. Sorgente: Pc in pericolo con i\u2026","rel":"","context":"In &quot;Senza categoria&quot;","block_context":{"text":"Senza categoria","link":"https:\/\/monodes.com\/predaelli\/category\/senza-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4966,"url":"https:\/\/monodes.com\/predaelli\/2018\/11\/29\/facebook-bolt-speeds-up-large-x86-arm64-binaries-by-up-to-15\/","url_meta":{"origin":10482,"position":5},"title":"Facebook BOLT Speeds Up Large x86 &#038; ARM64 Binaries by up to 15%","author":"Paolo Redaelli","date":"2018-11-29","format":false,"excerpt":"http:\/\/feedproxy.google.com\/~r\/cnx-software\/blog\/~3\/8q9jt5GFPGI\/","rel":"","context":"In &quot;Senza categoria&quot;","block_context":{"text":"Senza categoria","link":"https:\/\/monodes.com\/predaelli\/category\/senza-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/10482","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/comments?post=10482"}],"version-history":[{"count":0,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/10482\/revisions"}],"wp:attachment":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/media?parent=10482"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/categories?post=10482"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/tags?post=10482"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}