概要
思えば、paizaでアセンブラがやりたいだけの一年だった。
paizaでアセンブラ、やってみた。
pythonとgcc使った。
サンプルコード
import subprocess
import os
def gcc():
c_file = 'hello.s'
test_c = """
.code64
.text
.globl main
main:
mov $1, %rax;
mov $1, %rdi;
mov $msg, %rsi;
mov $12, %rdx;
syscall;
mov $0, %rax;
syscall;
.data
msg:
.asciz "Hello world!"
"""
with open(c_file, 'w') as f:
f.write(test_c)
os.system("gcc -no-pie %s" % c_file)
result = subprocess.Popen('./a.out', stdout = subprocess.PIPE).communicate()[0]
for i, v in enumerate(result[ : -1].split('\n')):
print v
if __name__ == '__main__':
gcc()
成果物
以上。