.globl main
.data
_string: .ascii "Hello\0"
_string2: .ascii "World\0"
_format: .ascii "%s %s\n\0"
.text
main: // push params, format params, call fn, clear params, return
pushl $_string2
pushl $_string
call _printStr
addl $8, %esp
xor %eax, %eax
ret
//function to print a string passed to it on the stack
_printStr:
push %ebp # save old frame ptr
movl %esp, %ebp # set frame ptr
pushl 12(%ebp)
pushl 8(%ebp)
pushl $_format
addl $12, %esp # clear params from stack
leave
ret
ICAgICAgICAgICAgLmdsb2JsICAgICAgbWFpbgouZGF0YQpfc3RyaW5nOiAgICAuYXNjaWkgICAgICAiSGVsbG9cMCIKX3N0cmluZzI6ICAgLmFzY2lpICAgICAgIldvcmxkXDAiCl9mb3JtYXQ6ICAgIC5hc2NpaSAgICAgICIlcyAlc1xuXDAiCgoudGV4dAptYWluOiAvLyBwdXNoIHBhcmFtcywgZm9ybWF0IHBhcmFtcywgY2FsbCBmbiwgY2xlYXIgcGFyYW1zLCByZXR1cm4KCiAgICAgICAgICAgIHB1c2hsICAgICAgJF9zdHJpbmcyCiAgICAgICAgICAgIHB1c2hsICAgICAgJF9zdHJpbmcKICAgICAgICAgICAgY2FsbCAgICAgIF9wcmludFN0cgogICAgICAgICAgICBhZGRsICAgICAgICQ4LCAlZXNwCiAgICAgICAgICAgIHhvciAlZWF4LCAlZWF4CiAgICAgICAgICAgIHJldAoKLy9mdW5jdGlvbiB0byBwcmludCBhIHN0cmluZyBwYXNzZWQgdG8gaXQgb24gdGhlIHN0YWNrCl9wcmludFN0cjoKICAgICAgICAgICAgcHVzaCAgICAgICAgJWVicCAgICAgICAgICAgICAgICMgc2F2ZSBvbGQgZnJhbWUgcHRyCiAgICAgICAgICAgIG1vdmwgICAgICAgICVlc3AsICVlYnAgICAgICMgc2V0IGZyYW1lIHB0cgogICAgICAgICAgICBwdXNobCAgICAgICAxMiglZWJwKQogICAgICAgICAgICBwdXNobCAgICAgICA4KCVlYnApCiAgICAgICAgICAgIHB1c2hsICAgICAgICRfZm9ybWF0CiAgICAgICAgICAgIGNhbGwgcHJpbnRmCiAgICAgICAgICAgIGFkZGwgICAgICAgICQxMiwgJWVzcCAgICAgICAgICAjIGNsZWFyIHBhcmFtcyBmcm9tIHN0YWNrCiAgICAgICAgICAgIGxlYXZlCiAgICAgICAgICAgIHJldAo=