NASM 2.05 based x86 Instruction Reference[ch219]
A.5.195.1 Pseudo-code examples a16 OUTSB without segment override and with Direction Flag clear (UP) is equal to OUT DX, BYTE [SI] LEA SI, [SI + 1] a16 REP OUTSW without segment override and with Direction Flag clear (UP) is equal to JCXZ @FF @@: OUT DX, WORD [SI] LEA SI, [SI + 2] a16 LOOP @B @@: a32 ES OUTSD with Direction Flag set (DN) is equal to OUT DX, DWORD [ES:ESI] LEA ESI, [ESI - 4]