[{"data":1,"prerenderedAt":271},["ShallowReactive",2],{"project-43698801":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":44,"post_text":46,"what":47,"said":69,"maker_in_thread":140,"shape":151,"grid":156,"attempts":233,"same_week":234,"maker_shows":45,"maker_hidden":263,"reader_version":264,"card":265},"43698801","Torque","A lightweight meta-assembler for any processor","title","Show HN: Torque – A lightweight meta-assembler for any processor","https:\u002F\u002Fbenbridle.com\u002Fprojects\u002Ftorque.html","benbridle.com","benbridle",1744753605,2025,79,31,898,3837,24,"notable","dev_tools","assembler","cli",[24,25,26,27,28],"meta-assembler","macro assembler","microcontroller assembly","pic assembler","z80 assembler","mixed",0.401,{"positive":32,"neutral":33,"mixed":34,"critical":35},9,7,0,2,18,{"idea":38,"execution":40,"design":42,"docs":43},{"positive":39,"critical":34},5,{"positive":34,"critical":41},1,{"positive":34,"critical":34},{"positive":34,"critical":41},[39,34,45,34,34,39,34,39,34,39,45,39,41,34,45,34,45,45,34,39,34,39,39,45,41,34,34,45,34,39,34],3,"Hello everyone, I've been working on this project for the past few months.\n\nTorque is a meta-assembler: instead of having an instruction set built into the assembler, you use macros to build up a small language that decribes an instruction set and then you use that to write your program. It's designed to work for any microcontroller\u002Fprocessor architecture, you build from the bit level upwards so there aren't any assumptions around word widths, instruction formats, or endianness.\n\nI created Torque initially to write programs for a PIC microcontroller, after running into difficulties with the of",{"problem":48,"audience":54,"pricing":54,"motivation":55,"time_to_build":54,"stack":59,"openness":66,"stage":67,"team_size":68},{"value":49,"source":50,"evidence":51},"Official assemblers for some microcontrollers are difficult to use; Torque builds instruction sets from bits via macros","maker",[52],{"id":53},"post",null,{"value":56,"source":50,"evidence":57},"Created to write programs for a PIC microcontroller after difficulties with the official assembler",[58],{"id":53},[60],{"value":61,"source":50,"evidence":62},"Rust",[63],{"id":64,"by":11,"text":65},"43701369","Thank you! My main inspiration was the Uxn assembly language [0], which is itself heavily inspired by Forth. I loved how easy it was to build something that looks like a…","open_source","launched","solo",{"praise":70,"objections":87,"requests":99,"questions":115,"alternatives":124},[71],{"value":72,"source":73,"evidence":74},"Interesting idea and well executed macro-based design","commenter",[75,79,83],{"id":76,"by":77,"text":78},"43701760","2ton_jeff","Very cool and I like the idea of a \"meta-assembler.\" The most-recent version of flatassembler (fasm 2) is built with fasmg which is also a \"meta-assembler\" of sorts, in that it…",{"id":80,"by":81,"text":82},"43700755","sitkack","Super fun site! Did you get inspiration from other assemblers or macro processors? You have it running on a TRS-80, how does that work? I had no idea Rust could target a TRS-80.…",{"id":84,"by":85,"text":86},"43700836","zadkey","Excellent work man! I know some low level guys who would really appreciate this.",[88,95],{"value":89,"source":73,"evidence":90},"Octal and non-Unicode text support were initially missing",[91],{"id":92,"by":93,"text":94},"43711819","zzo38computer","Is there any support for non-Unicode text? Is there any support for octal numbers? These things should be corrected, hopefully. Also, some of the links in the table of contents…",{"value":96,"source":73,"evidence":97},"Documentation table of contents had broken links",[98],{"id":92,"by":93,"text":94},[100,109],{"value":101,"source":73,"evidence":102},"Support octal literals with a 0o prefix",[103,106],{"id":104,"by":93,"text":105},"43712588","I think the \"0\" prefix for octal (as used in the C programming language) is not so good and that \"0o\" is better; so, if octal literals are implemented then \"0o\" is better. For…",{"id":107,"by":11,"text":108},"43713647","I wholeheartedly agree with using \"0o\" as the octal prefix, I've never been a fan of \"0\". I've jut implemented this feature and released it in v2.2.0, you can grab it from the…",{"value":110,"source":73,"evidence":111},"Support non-Unicode byte input and character mapping tables",[112],{"id":113,"by":93,"text":114},"43720605","I meant that the input should not have to be Unicode. The input could be any extended ASCII encoding (supporting ASCII is necessary, in order that the syntax will work; therefore…",[116,120],{"value":117,"source":73,"evidence":118},"How the TRS-80 port works and how structs are laid out in memory",[119],{"id":80,"by":81,"text":82},{"value":121,"source":73,"evidence":122},"Whether there is an internal IR and whether constraint solving is planned",[123],{"id":80,"by":81,"text":82},[125,129,136],{"value":126,"source":73,"evidence":127},"fasmg (flat assembler), a macro assembler",[128],{"id":76,"by":77,"text":78},{"value":130,"source":73,"evidence":131},"TDASM meta-assembler",[132],{"id":133,"by":134,"text":135},"43702260","userbinator","Reminds me of TDASM from the turn of the century: https:\u002F\u002Fweb.archive.org\u002Fweb\u002F20230906054935\u002Fhttp:\u002F\u002Fwww.penguin.cz\u002F~niki\u002Ftdasm\u002F I remember there were a few other meta-assemblers…",{"value":137,"source":50,"evidence":138},"Uxn assembly language, the maker's inspiration",[139],{"id":64,"by":11,"text":65},{"comments":141,"answered":142,"key":143},10,4,[144,147,150],{"id":145,"text":146},"43702003","Oh neat! Thanks for the link, I hadn't heard of fasmg before. It looks like fasmg builds up from the byte level, so it would only work for architectures that use 8-bit words.…",{"id":148,"text":149},"43702629","Thank you so much! It looks like the issue I described is what he calls the 'oscillator problem' [0]. This is an absolute goldmine, I'm going to be reading for days. [0]…",{"id":64,"text":65},{"commenters":152,"max_depth":153,"maker_replies":141,"first_comment_mins":154,"lifespan_hours":155},15,6,276,248,[157,159,161,164,166,169,170,171,174,177,178,181,185,187,190,191,192,196,197,199,201,203,206,209,214,219,222,224,227,229,231],[76,34,39,158,77,34],"project\u002Fpositive\u002Fidea",[145,34,34,160,11,41],"project\u002Fneutral\u002Fidea",[162,34,45,163,77,34],"43702541","maker\u002Fneutral\u002Fnone",[148,34,34,165,11,41],"maker\u002Fpositive\u002Fnone",[167,34,34,168,77,34],"43703039","other\u002Fneutral\u002Fnone",[80,41,39,158,81,34],[64,41,34,160,11,41],[172,35,39,158,173,34],"43702739","bjackman",[175,45,34,168,176,34],"43703136","MathMonkeyMan",[133,142,39,158,134,34],[179,39,45,160,180,34],"43801153","2ro",[182,153,39,183,184,34],"43701785","project\u002Fpositive\u002Fnone","angelmm",[92,33,41,186,93,34],"project\u002Fcritical\u002Fexecution",[188,33,34,189,11,41],"43712523","project\u002Fneutral\u002Fexecution",[104,33,45,189,93,34],[107,33,34,189,11,41],[193,33,45,194,195,34],"43720102","project\u002Fneutral\u002Fdesign","vanderZwan",[113,33,45,189,93,34],[198,33,34,189,11,41],"43722344",[84,200,39,183,85,34],8,[202,200,34,163,11,41],"43701435",[204,32,39,183,205,34],"43700974","anonzzzies",[207,141,39,158,208,34],"43703840","roetlich",[210,211,45,212,213,34],"43702073",11,"project\u002Fneutral\u002Fnone","eterps",[215,216,41,217,218,34],"43702268",12,"project\u002Fcritical\u002Fdocs","kunley",[220,216,34,221,11,41],"43702363","project\u002Fneutral\u002Fdocs",[223,216,34,168,218,34],"43702539",[225,226,45,212,195,34],"43712679",13,[228,226,34,212,11,41],"43713730",[230,226,39,183,195,34],"43714509",[232,226,34,212,11,41],"43723054",[],[235,239,244,249,254,259],{"id":236,"name":237,"points":238,"category":20},"43690289","Unsure Calculator",930,{"id":240,"name":241,"points":242,"category":243},"43675248","SignalBloom",292,"finance_crypto",{"id":245,"name":246,"points":247,"category":248},"43667061","memEx",194,"productivity",{"id":250,"name":251,"points":252,"category":253},"43652968","Chonky",169,"ai",{"id":255,"name":256,"points":257,"category":258},"43677909","Infocom Unix Z-Machine (pez)",157,"languages",{"id":260,"name":261,"points":262,"category":258},"43682547","protobuf-ts-types",138,false,"v2",{"id":266,"name":5,"line":6,"ai":263,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":267,"top":18,"kw":268,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":269,"url":9,"mix":270,"praise":72,"objection":89,"sub":21},43698801,0.4,[24,25,26,27,28],"5030050505351030330505531003050",[32,33,34,35],1794036672973]