Difference between revisions of "Category:84PCE:OS Information:VAT"

From WikiTI
Jump to: navigation, search
(Created page with "<pre>;-------------------------------------------- ; fdetect ; detects appvars, prot progs, and ; progs given a 0-terminated string ; pointed to by ix. ;-----------------...")
 
(Blanked the page)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
−
<pre>;--------------------------------------------
+
 
−
; fdetect
+
−
; detects appvars, prot progs, and
+
−
; progs given a 0-terminated string
+
−
; pointed to by ix.
+
−
;--------------------------------------------
+
−
; INPUTS:
+
−
; hl->place to start searching
+
−
; ix->string to find
+
−
;
+
−
; OUTPUTS:
+
−
; hl->place stopped searching
+
−
; de->file data after string
+
−
; bc=file size after string
+
−
; z flag set if found, nz if not found
+
−
;--------------------------------------------
+
−
fdetect:
+
−
ld de,(ptemp)
+
−
or a,a 
+
−
sbc hl,de 
+
−
add hl,de
+
−
ld a,(hl)
+
−
jr nz,fcontinue
+
−
inc a
+
−
ret
+
−
fcontinue:
+
−
push hl
+
−
cp appvarobj
+
−
jr z,fgoodtype
+
−
cp protprogobj
+
−
jr z,fgoodtype
+
−
cp progobj
+
−
jr nz,fskip
+
−
fgoodtype:
+
−
dec hl
+
−
dec hl
+
−
dec hl
+
−
ld e, (hl)
+
−
dec hl
+
−
ld d,(hl)
+
−
dec hl
+
−
ld a,(hl)
+
−
call _SetDEUtoA
+
−
push de
+
−
pop hl
+
−
cp 0D0h
+
−
jr nc,finRAM
+
−
push ix
+
−
  push de
+
−
  push hl
+
−
  pop ix
+
−
  ld a,10
+
−
  add a,(ix+9)
+
−
  ld de,0
+
−
  ld e,a
+
−
  add hl,de
+
−
  ex (sp),hl
+
−
  add hl,de
+
−
  pop de
+
−
  ex de,hl
+
−
pop ix
+
−
finRAM:
+
−
inc de
+
−
inc de
+
−
ld bc,0
+
−
ld c,(hl)
+
−
inc hl
+
−
ld b,(hl)
+
−
inc hl    ; hl -> data
+
−
push bc  ; bc = size
+
−
  push ix
+
−
  pop bc
+
−
fchkstr:
+
−
  ld a,(bc)
+
−
  or a
+
−
  jr z,ffound
+
−
  cp (hl)
+
−
  inc bc
+
−
  inc de
+
−
  inc hl
+
−
  jr z,fchkstr
+
−
  pop bc
+
−
fskip:
+
−
pop hl
+
−
call fbypassname
+
−
jr fdetect
+
−
ffound:
+
−
  push bc
+
−
  pop hl
+
−
  push ix
+
−
  pop bc
+
−
  or a
+
−
  sbc hl,bc
+
−
  push hl
+
−
  pop bc
+
−
  pop hl  ; size
+
−
  or a
+
−
  sbc hl,bc
+
−
  push hl
+
−
  pop bc
+
−
pop hl      ; current search location
+
−
push bc
+
−
  call fbypassname
+
−
pop bc
+
−
xor a
+
−
ret
+
−
fbypassname:
+
−
ld bc,-6
+
−
add hl,bc
+
−
ld b,(hl)
+
−
dec hl
+
−
fbypassnameloop:
+
−
dec hl
+
−
djnz fbypassnameloop
+
−
ret</pre>
+

Latest revision as of 12:06, 26 May 2015

This category currently contains no pages or media.