Assembler Programming Problem

Anything QL Software or Programming Related.
User avatar
t0nyt
QL Wafer Drive
Posts: 1215
Joined: Wed Nov 22, 2023 6:46 pm
Location: UK

Re: Assembler Programming Problem

Post by t0nyt »

Will take a look, thanks Norm

What I was doing was calling GTSTR, check for $0101 on the name table

If there was a match then I would use the string

If it wasn’t a match I’d then call GTINT but that didn’t return the 1 or 2 integers, but debugging showed the ascii version of the 1st integer value on the stack

In isolation both of my GTSTR and GTINT routines work fine, but not one after the other


User avatar
t0nyt
QL Wafer Drive
Posts: 1215
Joined: Wed Nov 22, 2023 6:46 pm
Location: UK

Re: Assembler Programming Problem

Post by t0nyt »

When I debug, the parameter(s) don't appear on the name table A6,A3.l until after GTSTR or GTINT are called

So that rules out checking the parameter type BEFORE making a GTSTR/GTINT call

And once I make a GTSTR call, and there's not a string parameter, the call to GTINT doesn't work to get the numeric parameter(s), but it does work if GTSTR isn't called first


User avatar
t0nyt
QL Wafer Drive
Posts: 1215
Joined: Wed Nov 22, 2023 6:46 pm
Location: UK

Re: Assembler Programming Problem

Post by t0nyt »

After doing just GTSTRG, but with 2 numeric parameters (in this case 16,1), the name table shows first entry as a numeric on the RI stack and the 2nd parameter as type $0203 so not on RI stack

When I look at the RI stack the number 16 is actually a string (2 bytes of length & ascii characters for "16")

|'m assuming that's why I can't get the first parameter then with GTINT, because it's already been processed?

EDIT: I also tried calling GTINT first, but that doesn’t work either (breaks reading the text)

Many thanks
Tony


Post Reply