DELPHI FAQ: Аналог функции С memcmp


Аналог функции С memcmp
Previous  Home  Next



Автор: Dennis Passmore

Я создал следующие две функции, существенно повышающие произвотельность в приложениях, активно работающих с данными. Вам нужно всего-лишь обеспечить контроль типов и границ допустимого диапазона, все остальное они сделают с любым типом данных лучше нас :-) .

function
 Keys_are_Equal(var OldRec, NewRec;
KeyLn : word): boolean; assembler
;
asm

  PUSH    DS
  MOV     AL,01

  CLD
  LES     DI,NewRec
  LDS     SI,OldRec
  MOV     CX,KeyLn
  CLI
  REPE    CMPSB
  STI
  JZ      @1

  XOR
     AL,AL
  @1
:
  POP     DS
end
;

function First_Key_is_Less(var NewRec, OldRec; Keyln : word): boolean; assembler;
asm

  PUSH    DS
  MOV     AL,01

  CLD
  LES     DI,NewRec
  LDS     SI,OldRec
  MOV     CX,KeyLn
  CLI
  REPE    CMPSB
  STI
  JZ      @5

  JGE     @6

  @5
XOR     AL,AL
  @6
: POP     DS
end
;




Взято с www.delphiworld.narod.ru





DELPHI FAQ




EOMY TOP 100      Рейтинг@Mail.ru      Rambler's Top100