Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
POKE STRING and @string$
#16
LCD Wrote:Okay, so I do now know which one was not working... LD registerpair,(IX+offset) is invalid. Then this should work:
Code:
sub cpymempaged(src as Uinteger,des as Uinteger,length as Uinteger,bank as ubyte)
  asm
    ld a,(ix+11)
    ld bc,32765
    out (c),a
    ld h,(ix+5)
    ld l,(ix+4)
    ld d,(ix+7)
    ld e,(ix+6)
    ld b,(ix+9)
    ld c,(ix+8)
    ldir
    ld a,(23388)
    ld bc,32765
    out (c),a
  end asm
end sub
Ok, I like this. My two cents: I think it's better to FASCALL it and use the POP sequence in this case:
Code:
sub fastcall cpymempaged(src as Uinteger,des as Uinteger,length as Uinteger,bank as ubyte)
  asm
    ex de, hl       ; de = src
    pop hl          ; RET address
    pop af          ; bank
    ld bc,32765
    out (c),a
    pop bc          ; length
    ex (sp), hl     ; hl = des, RET addr back in the stack
    ex de, hl       ; hl = src, de = dest
    ldir
    ld a,(23388)
    ld bc,32765
    out (c),a
  end asm
end sub
Untested. Can you try it?
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)