#概要
paizaでアセンブラ、やってみた。
gas調べたら、puts使えた。
#サンプルコード
import subprocess
import os
def gcc():
c_file = 'test.s'
test_c = """
.code64
.text
.global main
main:
mov $message, %rdi
call puts
ret
.data
message:
.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()
#成果物
以上。