MdeModulePkg DebugSupportDxe: Fix build error with GNU assembler

The GNU assembler (2.24.51.20140918) is failing to build when movw is
used on this instruction. Instead use the mov instruction, which
matches the other cases of loading segment registers.

The error message seen is:
  AsmFuncs.iii:283: Error: incorrect register `%rax' used with `w' suffix

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
MdePkg BaseLib: EXTERNDEF=>EXTERN in X64/SetJump

NASM doesn't support EXTERNDEF, so convert this to EXTERN.

This will make it easier to convert this code to NASM using an
automated script.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
MdePkg BaseMemoryLibSse2: Use movq for 64-bit move to xmm0

movd is intended for a 32-bit move, but we want to use a 64-bit move
of r8 into the low 64-bits of xmm0.

Without this change, after converting this code to NASM, this error
will be reported:
error: invalid combination of opcode and operands

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
MdePkg BaseLib Ia32 assembly: Specify DWORD sizes

NASM wants this code to specify a size.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
MdeModulePkg BootScriptExecutorDxe: Use NASM compatible syntax

Without this change, after converting this code to NASM, this error
will be reported:
error: invalid combination of opcode and operands

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
MdeModulePkg BootScriptExecutorDxe: EXTERNDEF=>EXTERN in S3Asm

NASM doesn't support EXTERNDEF, so convert this to PUBLIC.

This will make it easier to convert this code to NASM using an
automated script.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
MdeModulePkg EbcDxe: Use NASM compatible syntax

Without this change, after converting this code to NASM, this error
will be reported:
error: comma or end of line expected

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
BaseTools: Add ConvertMasmToNasm.py script

This script is intended to assist with MASM to NASM syntax
conversions.

The output should be manually inspected and further adjusted as
needed, since it does not provide a perfect conversion.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>