What is the relationship between assembly and multi-core?

view story

http://stackoverflow.com – This is hard to word/ask so please bear with me: When we see the output of assembly, this is what is going to be executed on the core(s) of the CPU. However, if a CPU has multiple cores- is all of the assembly executed on the same core? At what point would the assembly from the same program begin executed on a different core? So if I had (assembly pseudo): ADD x, y, z SUB p, x, q how will I know whether ADD and SUB will execute on the same core? Is this linked to affinity? I thought affinity only pinned a process to a CPU, not a core? I am asking this because I want to try and understand (HowTos)