Agner Fog's objconv shows several instances in my source disassembly where a message appears "Note: Immediate operand could be made smaller by zero extension."
For example, it appears right above these two lines:
mov rdi,out_fname_L
mov rsi,file_mode_open_read
just before a call to fopen.
out_fname_L is defined in the .data section as:
out_fname_L: db "/opt/Output_Data/A_Output_40MB",0x00
I tried these:
movzx edi,out_fname_L
movzx edi,dword out_fname_L
movzx edi,qword out_fname_L
movzx edi,byte out_fname_L (because it's a db memory operand)
but none of them works. NASM responds with "invalid combination of opcode and operands." The memory operand is a 64-bit address.
What's my mistake?
Assembled with NASM assembler for Ubuntu 18.04.