view bin/asm @ 10288:2914125a0a85

<oerjan> le/rn tmp//tmp/ is a directory for files that are not worth saving in HackEgo history, but which should still survive a single command. Note that it interacts funnily with HackEgo\'s lock and re-run commit check: files can disappear if you don\'t know what you\'re doing. Basically, don\'t modify files inside and outside tmp/ in the same HackEgo command.
author HackBot
date Thu, 16 Feb 2017 17:28:09 +0000
parents c989a1669243
children
line wrap: on
line source

#!/bin/sh
echo "$1" > /tmp/asm.s; for o in ',' '-msyntax=intel -mnaked-reg,-M intel'; do if as ${o%,*} /tmp/asm.s -o /tmp/asm.o 2>>/tmp/asm.err; then objdump ${o#*,} -d --insn-width=20 /tmp/asm.o | sed -e "1,/0000000000000000/d" | perl -pe 'if (/^\s*(\w+:)\s*((?:\w\w )+)\s*(\S.*)$/) { ($a,$b,$c) = ($1,$2,$3); $_ = "$a  $b  ".($c =~ s/\s+/ /rg)."\n"; }'; exit; fi; done; cat /tmp/asm.err