Subj : TP 7.0 pointer passing convension To : Anton Shepelev From : Anton Shepelev Date : Sat Feb 15 2020 10:40 pm I wrote: > procedure AtoB(a: byte; var b: byte); > begin asm > PUSH AX { store AX } > MOV DI, [BP+4] { store offset of b in DI } > MOV ES, [BP+2] { store segment of b in ES } > MOV AX, [BP+8] { store a in AX } > MOV [DI], AX { assign AX to a } > POP AX { restore AX } > end end; Here is a fixed version, without redundant opera- tions and with single-byte write: procedure AtoB(a: byte; var b: byte); begin asm MOV ES, [BP+2] { store segment of b in ES } MOV DI, [BP+4] { store offset of b in DI } MOV AX, [BP+8] { store a in AX } MOV [DI], AL { assign AL to a } end end; --- * Origin: nntps://fidonews.mine.nu - Lake Ylo - Finland (2:221/360.0) .