BBS: Inland Empire Archive Date: 07-23-92 (22:04) Number: 119 From: STEVE HALKO Refer#: NONE To: DOUGLAS LUSHER Recvd: NO Subj: Functions Conf: (2) Quik_Bas
DL> Thanks 10^6. That's exactly what I was needing. Gotta wonder
DL> why these weren't included in QB itself. BTW, where did you
DL> get the variable names for the DEF SEG and VIEW PRINT parameters?
Glad I could help. I got the variable names by writing a short QB
program and running it through CODEVIEW. For example, for VIEW PRINT,
here's the QB code:
DEFINT A-Z
VIEW PRINT 2 TO 3
and here's the CODEVIEW version:
1: DEFINT A-Z
2: VIEW PRINT 2 TO 3
4051:0030 B80200 MOV AX,0002
4051:0033 50 PUSH AX
4051:0034 B80300 MOV AX,0003
4051:0037 50 PUSH AX
4051:0038 9A1E065540 CALL B$VWPT (4055:061E)
You can see where the arguments to the VIEW PRINT statement are first
pushed onto the stack, and then QB calls the internal routine to do
the dirty work - in this case it's called B$VWPT. I single step into
the call to B$VWPT, and look around until I find where those stack
parameters are called into use, and see what symbolic name has been
assigned to them:
B$VWPT:
4055:061E 55 PUSH BP
4055:061F 8BEC MOV BP,SP
4055:0621 F606300402 TEST Byte Ptr [b$IOFLAG (0430)],02
4055:0626 7539 JNZ B$VWPT+43 (0661)
4055:0628 8A264301 MOV AH,Byte Ptr [b$KEY_SW (0143)]
.
.
[Deleted about 16 lines of code]
.
.
4055:064E 8AD0 MOV DL,AL
4055:0650 2AD4 SUB DL,AH
4055:0652 881E7C03 MOV Byte Ptr [b$WDOTOP (037C)],BL
4055:0656 88167D03 MOV Byte Ptr [b$WDOBOT (037D)],DL
^^^^^^^^
|
There's the rascals! ----------------'
In the stuff I deleted, the VIEW PRINT parameters were shuffled around
a bit, and eventually ended up in the BL and DL registers. And from
there, you can see that they are saved in memory locations having the
symbolic names b$WDOTOP and b$WDOBOT.
Piece o' cake - and actually quite educational to plow thru QB's
internals like this.
* SLMR 2.1a * Two wrongs don't make a right, but 3 lefts do.
--- DB B1073/002487
* Origin: Gulf Coast BBS -QuickSHARE #2- (904)563-2547 HST/V.32bis (1:365/12)

Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET