What is the meaning of parentheses in opcodes in a NASM generated listing file?
When looking at a listing file that was generated by NASM, I see that there are three kinds of opcodes: Without parentheses. With round parentheses. With square parentheses. What they mean? when each of them is used? This is an example of a listing file that demonstrate all of the above: 1 section .text 2 extern printf 3 extern fgets 4 00000000 313233 str3: db "123" 5 main: 6 00000003 68[00000000] push str1 7 00000008 68[09000000] push str2 8 0000000D 68[00000000] push str3 9 00000012 E8(00000000) call func1 10 00000017 E8(04000000) call func2 11 0000001C E80B000000 call func3 12 00000021 E8