Exploiting a service on 32bit OS on a 64bit processor with ShellCode

Let’s theoretically assume I have an overflow vulnerability on a certain service I want to exploit. The service reside in 32bit Operating System on a 64bit Processor.

I’m attempting to wrap my head around the coding challenges in regards to the different architecture used on these layers.

Let’s also set aside ASLR, DEP, Rebase, etc. How would the exploit be coded in terms of architecture compatibility if I am to use a shellcode?