Just a sample of the Echomail archive
[ << oldest | < older | list | newer > | newest >> ]
|  Message 325  |
|  Anton Shepelev to Anton Shepelev  |
|  TP 7.0 pointer passing convension  |
|  15 Feb 20 22:40:34  |
 
MSGID: 2:221/360.0 5e48573e
REPLY: 2:221/360.0 5e483984
PID: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32)
CHRS: IBMPC 2
TZUTC: 0200
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)
SEEN-BY: 1/123 90/1 221/1 6 242 360 226/16 227/114 229/426 452 616
SEEN-BY: 229/1014 240/5832 249/206 317 400 280/464 5003 317/3 320/219
SEEN-BY: 322/757 342/200 423/81 633/0 267 280 281 412 414 640/1138
SEEN-BY: 640/1321 1384 712/620 848 770/1
PATH: 221/1 640/1384 712/848 633/280 229/426
|
[ << oldest | < older | list | newer > | newest >> ]