The Pascal source:
begin
if (x >= 0) and (x<640) and (y>=0)
and (y<200) then punkt(x,y);
end;
will be compiled to
(disassembled version) :
POP IY
POP HL
LD (X),HL
POP HL
LD (Y),HL
PUSH IY
LD HL,(Y)
PUSH HL
LD HL,0
POP DE
CALL 06A5H ; 1st call
PUSH HL
LD HL,(Y)
PUSH HL
LD HL,0280H
POP DE
CALL 06E0H ; 2nd call
POP DE
LD A,L
AND E
|
|
LD L,A
PUSH HL
LD HL,(X)
PUSH HL
LD HL,0
POP DE
CALL 06A5H ; 3rd call
POP DE
LD A,L
AND E
LD L,A
PUSH HL
LD HL,(X)
PUSH HL
LD HL,0C8H
POP DE
CALL 06E0H ; 4th call
POP DE
LD A,L
AND E
LD L,A
BIT 0,L
JP Z,2163H ; Jump to the RET instruction
LD HL,(Y)
PUSH HL
LD HL,(X)
PUSH HL
CALL PUNKT
END
|
|