Hello,
You don't need the PUBLIC statement in your procedure. The PROC statement declares your symbol as PUBLIC :
;Expression Evaluation Operations
; Convert up to uo
.code
;********** Convert up to uo **********
uo_up proc
xor eax,eax
;Dst.6~7 = 0
mov [rcx+6],ax
;Dst.5 = 0
mov [rcx+5],al
;Dst.4 = Src.4
mov al,[rdx+4]
mov [rcx+4],al
;Dst.0~3 = Src.0~3
mov eax,[rdx]
mov [rcx],eax
;Done
xor eax,eax
ret
uo_up endp
end
objconv.exe -fmasm uo_up.obj Disasm.txt
; Disassembly of file: uo_up.obj
; Sat Apr 11 16:41:54 2020
; Mode: 64 bits
; Syntax: MASM/ML64
; Instruction set: 8086, x64
public uo_up
_text SEGMENT PARA 'CODE'
uo_up PROC
xor eax, eax
mov word ptr [rcx+6H], ax
mov byte ptr [rcx+5H], al
mov al, byte ptr [rdx+4H]
mov byte ptr [rcx+4H], al
mov eax, dword ptr [rdx]
mov dword ptr [rcx], eax
xor eax, eax
ret
uo_up ENDP
_text ENDS
END