A very simple example for a dual core processor:
include \masm32\include\masm32rt.inc
.code
core0 proc pvoid:PVOID
; do whatever
invoke ExitThread,0
core0 endp
core1 proc pvoid:PVOID
; do whatever
invoke ExitThread,0
core1 endp
main proc
LOCAL hThread[2]:HANDLE
LOCAL thread0:DWORD
LOCAL thread1:DWORD
mov hThread[0],rv(CreateThread,0,0,core0,0,CREATE_SUSPENDED,ADDR thread0)
mov hThread[4],rv(CreateThread,0,0,core1,0,CREATE_SUSPENDED,ADDR thread1)
invoke SetThreadAffinityMask,hThread[0],1
invoke SetThreadAffinityMask,hThread[4],2
invoke ResumeThread,hThread[0]
invoke ResumeThread,hThread[4]
invoke WaitForMultipleObjects,2,ADDR hThread,TRUE,INFINITE
invoke ExitProcess,0
main endp
end main