; reset segments rstseg mov ax, cs mov ds, ax mov es, ax ret ; copy to far memory ; IN es:bx far memory ptr (preserved) ; ds:dx local ptr (preserved) ; cx number of bytes to transfer ; OUT cx set to zero ; si & di trashed stofar mov si, dx mov di, bx rep movsb ret ; copy from far memory ; IN es:bx far memory ptr (preserved) ; ds:dx local ptr (preserved) ; cx number of bytes to copy ; OUT cx set to zero ; si & di trashed lodfar call xchgdes mov si, bx mov di, dx rep movsb ; exchange es and ds xchgdes push ds push es pop ds pop es ret