Tidy HTML
This commit is contained in:
parent
b8e7ce7165
commit
3760ddbdd3
362 changed files with 72376 additions and 62837 deletions
161
01-01.html
161
01-01.html
File diff suppressed because one or more lines are too long
171
01-02.html
171
01-02.html
File diff suppressed because one or more lines are too long
323
01-03.html
323
01-03.html
File diff suppressed because one or more lines are too long
170
01-04.html
170
01-04.html
File diff suppressed because one or more lines are too long
140
01-05.html
140
01-05.html
File diff suppressed because one or more lines are too long
140
01-06.html
140
01-06.html
File diff suppressed because one or more lines are too long
159
02-01.html
159
02-01.html
File diff suppressed because one or more lines are too long
153
02-02.html
153
02-02.html
File diff suppressed because one or more lines are too long
139
02-03.html
139
02-03.html
File diff suppressed because one or more lines are too long
147
03-01.html
147
03-01.html
File diff suppressed because one or more lines are too long
100
03-02.html
100
03-02.html
|
|
@ -1,22 +1,17 @@
|
||||||
<HTML>
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||||
<HEAD>
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<META name=vsisbn content="1576101746">
|
|
||||||
<META name=vstitle content="Michael Abrash's Graphics Programming Black Book, Special Edition">
|
|
||||||
<META name=vsauthor content="Michael Abrash">
|
|
||||||
<META name=vspublisher content="The Coriolis Group">
|
|
||||||
<META name=vspubdate content="07/01/97">
|
|
||||||
<META name=vscategory content="Web and Software Development: Game Development,Web and Software Development: Graphics and Multimedia Development">
|
|
||||||
|
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta name="vsisbn" content="1576101746" />
|
||||||
|
<meta name="vstitle" content="Michael Abrash's Graphics Programming Black Book, Special Edition" />
|
||||||
|
<meta name="vsauthor" content="Michael Abrash" />
|
||||||
|
<meta name="vspublisher" content="The Coriolis Group" />
|
||||||
|
<meta name="vspubdate" content="07/01/97" />
|
||||||
|
<meta name="vscategory" content="Web and Software Development: Game Development,Web and Software Development: Graphics and Multimedia Development" />
|
||||||
|
|
||||||
|
<title>Michael Abrash's Graphics Programming Black Book Special Edition: Assume Nothing</title><!-- HEADER -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<TITLE>Michael Abrash's Graphics Programming Black Book Special Edition: Assume Nothing</TITLE>
|
|
||||||
|
|
||||||
<!-- HEADER -->
|
|
||||||
<!-- Empty Reference Subhead -->
|
<!-- Empty Reference Subhead -->
|
||||||
|
|
||||||
<!--ISBN=1576101746//-->
|
<!--ISBN=1576101746//-->
|
||||||
<!--TITLE=Michael Abrash's Graphics Programming Black Book Special Edition//-->
|
<!--TITLE=Michael Abrash's Graphics Programming Black Book Special Edition//-->
|
||||||
<!--AUTHOR=Michael Abrash//-->
|
<!--AUTHOR=Michael Abrash//-->
|
||||||
|
|
@ -24,21 +19,26 @@
|
||||||
<!--CHAPTER=03//-->
|
<!--CHAPTER=03//-->
|
||||||
<!--PAGES=035-042//-->
|
<!--PAGES=035-042//-->
|
||||||
<!--UNASSIGNED1//-->
|
<!--UNASSIGNED1//-->
|
||||||
<!--UNASSIGNED2//--></HEAD><body>
|
<!--UNASSIGNED2//-->
|
||||||
|
</head>
|
||||||
|
|
||||||
<CENTER>
|
<body>
|
||||||
<TABLE BORDER>
|
<center>
|
||||||
<TR>
|
<table border="1">
|
||||||
<TD><A HREF="03-01.html">Previous</A></TD>
|
<tr>
|
||||||
<TD><A HREF="index.html">Table of Contents</A></TD>
|
<td><a href="03-01.html">Previous</a></td>
|
||||||
<TD><A HREF="03-03.html">Next</A></TD>
|
|
||||||
</TR>
|
<td><a href="index.html">Table of Contents</a></td>
|
||||||
</TABLE>
|
|
||||||
</CENTER>
|
<td><a href="03-03.html">Next</a></td>
|
||||||
<P><BR></P>
|
</tr>
|
||||||
<P><B>LISTING 3.1 PZTIMER.ASM</B></P>
|
</table>
|
||||||
<!-- CODE //-->
|
</center>
|
||||||
<PRE>
|
|
||||||
|
<p><br /></p>
|
||||||
|
|
||||||
|
<p><b>LISTING 3.1 PZTIMER.ASM</b></p><!-- CODE //-->
|
||||||
|
<pre>
|
||||||
; The precision Zen timer (PZTIMER.ASM)
|
; The precision Zen timer (PZTIMER.ASM)
|
||||||
;
|
;
|
||||||
; Uses the 8253 timer to time the performance of code that takes
|
; Uses the 8253 timer to time the performance of code that takes
|
||||||
|
|
@ -478,31 +478,29 @@ ZTimerReport endp
|
||||||
|
|
||||||
Code ends
|
Code ends
|
||||||
end
|
end
|
||||||
</PRE>
|
</pre><!-- END CODE //-->
|
||||||
<!-- END CODE //-->
|
|
||||||
<P><BR></P>
|
<p><br /></p>
|
||||||
<CENTER>
|
|
||||||
<TABLE BORDER>
|
<center>
|
||||||
<TR>
|
<table border="1">
|
||||||
<TD><A HREF="03-01.html">Previous</A></TD>
|
<tr>
|
||||||
<TD><A HREF="index.html">Table of Contents</A></TD>
|
<td><a href="03-01.html">Previous</a></td>
|
||||||
<TD><A HREF="03-03.html">Next</A></TD>
|
|
||||||
</TR>
|
<td><a href="index.html">Table of Contents</a></td>
|
||||||
</TABLE>
|
|
||||||
</CENTER>
|
<td><a href="03-03.html">Next</a></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</center>
|
||||||
|
<hr width="90%" size="1" noshade="noshade" />
|
||||||
|
|
||||||
<hr width="90%" size="1" noshade>
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
Graphics Programming Black Book © 2001 Michael Abrash
|
Graphics Programming Black Book © 2001 Michael Abrash
|
||||||
</div>
|
</div><!-- all of the reference materials (books) have the footer and subfoot reveresed -->
|
||||||
<!-- all of the reference materials (books) have the footer and subfoot reveresed -->
|
|
||||||
<!-- reference_subfoot = footer -->
|
<!-- reference_subfoot = footer -->
|
||||||
<!-- reference_footer = subfoot -->
|
<!-- reference_footer = subfoot -->
|
||||||
|
|
||||||
<!-- BEGIN SUB FOOTER -->
|
<!-- BEGIN SUB FOOTER -->
|
||||||
</BODY>
|
|
||||||
</HTML>
|
|
||||||
|
|
||||||
<!-- END FOOTER -->
|
<!-- END FOOTER -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
|
||||||
150
03-03.html
150
03-03.html
File diff suppressed because one or more lines are too long
151
03-04.html
151
03-04.html
File diff suppressed because one or more lines are too long
141
03-05.html
141
03-05.html
File diff suppressed because one or more lines are too long
152
03-06.html
152
03-06.html
File diff suppressed because one or more lines are too long
126
03-07.html
126
03-07.html
File diff suppressed because one or more lines are too long
128
03-08.html
128
03-08.html
File diff suppressed because one or more lines are too long
148
03-09.html
148
03-09.html
File diff suppressed because one or more lines are too long
184
03-10.html
184
03-10.html
File diff suppressed because one or more lines are too long
162
04-01.html
162
04-01.html
File diff suppressed because one or more lines are too long
191
04-02.html
191
04-02.html
File diff suppressed because one or more lines are too long
200
04-03.html
200
04-03.html
File diff suppressed because one or more lines are too long
163
04-04.html
163
04-04.html
File diff suppressed because one or more lines are too long
162
04-05.html
162
04-05.html
File diff suppressed because one or more lines are too long
146
04-06.html
146
04-06.html
File diff suppressed because one or more lines are too long
155
04-07.html
155
04-07.html
File diff suppressed because one or more lines are too long
158
04-08.html
158
04-08.html
File diff suppressed because one or more lines are too long
138
04-09.html
138
04-09.html
File diff suppressed because one or more lines are too long
156
04-10.html
156
04-10.html
File diff suppressed because one or more lines are too long
156
05-01.html
156
05-01.html
File diff suppressed because one or more lines are too long
163
05-02.html
163
05-02.html
File diff suppressed because one or more lines are too long
100
05-03.html
100
05-03.html
|
|
@ -1,22 +1,17 @@
|
||||||
<HTML>
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||||
<HEAD>
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<META name=vsisbn content="1576101746">
|
|
||||||
<META name=vstitle content="Michael Abrash's Graphics Programming Black Book, Special Edition">
|
|
||||||
<META name=vsauthor content="Michael Abrash">
|
|
||||||
<META name=vspublisher content="The Coriolis Group">
|
|
||||||
<META name=vspubdate content="07/01/97">
|
|
||||||
<META name=vscategory content="Web and Software Development: Game Development,Web and Software Development: Graphics and Multimedia Development">
|
|
||||||
|
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta name="vsisbn" content="1576101746" />
|
||||||
|
<meta name="vstitle" content="Michael Abrash's Graphics Programming Black Book, Special Edition" />
|
||||||
|
<meta name="vsauthor" content="Michael Abrash" />
|
||||||
|
<meta name="vspublisher" content="The Coriolis Group" />
|
||||||
|
<meta name="vspubdate" content="07/01/97" />
|
||||||
|
<meta name="vscategory" content="Web and Software Development: Game Development,Web and Software Development: Graphics and Multimedia Development" />
|
||||||
|
|
||||||
|
<title>Michael Abrash's Graphics Programming Black Book Special Edition: Crossing the Border</title><!-- HEADER -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<TITLE>Michael Abrash's Graphics Programming Black Book Special Edition: Crossing the Border</TITLE>
|
|
||||||
|
|
||||||
<!-- HEADER -->
|
|
||||||
<!-- Empty Reference Subhead -->
|
<!-- Empty Reference Subhead -->
|
||||||
|
|
||||||
<!--ISBN=1576101746//-->
|
<!--ISBN=1576101746//-->
|
||||||
<!--TITLE=Michael Abrash's Graphics Programming Black Book Special Edition//-->
|
<!--TITLE=Michael Abrash's Graphics Programming Black Book Special Edition//-->
|
||||||
<!--AUTHOR=Michael Abrash//-->
|
<!--AUTHOR=Michael Abrash//-->
|
||||||
|
|
@ -24,21 +19,26 @@
|
||||||
<!--CHAPTER=05//-->
|
<!--CHAPTER=05//-->
|
||||||
<!--PAGES=118-121//-->
|
<!--PAGES=118-121//-->
|
||||||
<!--UNASSIGNED1//-->
|
<!--UNASSIGNED1//-->
|
||||||
<!--UNASSIGNED2//--></HEAD><body>
|
<!--UNASSIGNED2//-->
|
||||||
|
</head>
|
||||||
|
|
||||||
<CENTER>
|
<body>
|
||||||
<TABLE BORDER>
|
<center>
|
||||||
<TR>
|
<table border="1">
|
||||||
<TD><A HREF="05-02.html">Previous</A></TD>
|
<tr>
|
||||||
<TD><A HREF="index.html">Table of Contents</A></TD>
|
<td><a href="05-02.html">Previous</a></td>
|
||||||
<TD><A HREF="05-04.html">Next</A></TD>
|
|
||||||
</TR>
|
<td><a href="index.html">Table of Contents</a></td>
|
||||||
</TABLE>
|
|
||||||
</CENTER>
|
<td><a href="05-04.html">Next</a></td>
|
||||||
<P><BR></P>
|
</tr>
|
||||||
<P><B>LISTING 5.1 SEARCH.C</B></P>
|
</table>
|
||||||
<!-- CODE //-->
|
</center>
|
||||||
<PRE>
|
|
||||||
|
<p><br /></p>
|
||||||
|
|
||||||
|
<p><b>LISTING 5.1 SEARCH.C</b></p><!-- CODE //-->
|
||||||
|
<pre>
|
||||||
/* Program to search the file specified by the first command-line
|
/* Program to search the file specified by the first command-line
|
||||||
* argument for the string specified by the second command-line
|
* argument for the string specified by the second command-line
|
||||||
* argument. Performs the search by reading and searching blocks
|
* argument. Performs the search by reading and searching blocks
|
||||||
|
|
@ -204,31 +204,29 @@ main(int argc, char *argv[]) {
|
||||||
exit(Found); /* Return the found/not found status as the
|
exit(Found); /* Return the found/not found status as the
|
||||||
DOS errorlevel */
|
DOS errorlevel */
|
||||||
}
|
}
|
||||||
</PRE>
|
</pre><!-- END CODE //-->
|
||||||
<!-- END CODE //-->
|
|
||||||
<P><BR></P>
|
<p><br /></p>
|
||||||
<CENTER>
|
|
||||||
<TABLE BORDER>
|
<center>
|
||||||
<TR>
|
<table border="1">
|
||||||
<TD><A HREF="05-02.html">Previous</A></TD>
|
<tr>
|
||||||
<TD><A HREF="index.html">Table of Contents</A></TD>
|
<td><a href="05-02.html">Previous</a></td>
|
||||||
<TD><A HREF="05-04.html">Next</A></TD>
|
|
||||||
</TR>
|
<td><a href="index.html">Table of Contents</a></td>
|
||||||
</TABLE>
|
|
||||||
</CENTER>
|
<td><a href="05-04.html">Next</a></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</center>
|
||||||
|
<hr width="90%" size="1" noshade="noshade" />
|
||||||
|
|
||||||
<hr width="90%" size="1" noshade>
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
Graphics Programming Black Book © 2001 Michael Abrash
|
Graphics Programming Black Book © 2001 Michael Abrash
|
||||||
</div>
|
</div><!-- all of the reference materials (books) have the footer and subfoot reveresed -->
|
||||||
<!-- all of the reference materials (books) have the footer and subfoot reveresed -->
|
|
||||||
<!-- reference_subfoot = footer -->
|
<!-- reference_subfoot = footer -->
|
||||||
<!-- reference_footer = subfoot -->
|
<!-- reference_footer = subfoot -->
|
||||||
|
|
||||||
<!-- BEGIN SUB FOOTER -->
|
<!-- BEGIN SUB FOOTER -->
|
||||||
</BODY>
|
|
||||||
</HTML>
|
|
||||||
|
|
||||||
<!-- END FOOTER -->
|
<!-- END FOOTER -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
|
||||||
127
05-04.html
127
05-04.html
File diff suppressed because one or more lines are too long
144
05-05.html
144
05-05.html
File diff suppressed because one or more lines are too long
180
06-01.html
180
06-01.html
File diff suppressed because one or more lines are too long
256
06-02.html
256
06-02.html
File diff suppressed because one or more lines are too long
174
07-01.html
174
07-01.html
File diff suppressed because one or more lines are too long
154
07-02.html
154
07-02.html
File diff suppressed because one or more lines are too long
105
07-03.html
105
07-03.html
File diff suppressed because one or more lines are too long
113
07-04.html
113
07-04.html
File diff suppressed because one or more lines are too long
239
07-05.html
239
07-05.html
File diff suppressed because one or more lines are too long
163
08-01.html
163
08-01.html
File diff suppressed because one or more lines are too long
214
08-02.html
214
08-02.html
File diff suppressed because one or more lines are too long
122
08-03.html
122
08-03.html
File diff suppressed because one or more lines are too long
272
08-04.html
272
08-04.html
File diff suppressed because one or more lines are too long
130
08-05.html
130
08-05.html
File diff suppressed because one or more lines are too long
234
09-01.html
234
09-01.html
File diff suppressed because one or more lines are too long
205
09-02.html
205
09-02.html
File diff suppressed because one or more lines are too long
123
09-03.html
123
09-03.html
File diff suppressed because one or more lines are too long
109
09-04.html
109
09-04.html
|
|
@ -1,22 +1,17 @@
|
||||||
<HTML>
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||||
<HEAD>
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<META name=vsisbn content="1576101746">
|
|
||||||
<META name=vstitle content="Michael Abrash's Graphics Programming Black Book, Special Edition">
|
|
||||||
<META name=vsauthor content="Michael Abrash">
|
|
||||||
<META name=vspublisher content="The Coriolis Group">
|
|
||||||
<META name=vspubdate content="07/01/97">
|
|
||||||
<META name=vscategory content="Web and Software Development: Game Development,Web and Software Development: Graphics and Multimedia Development">
|
|
||||||
|
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta name="vsisbn" content="1576101746" />
|
||||||
|
<meta name="vstitle" content="Michael Abrash's Graphics Programming Black Book, Special Edition" />
|
||||||
|
<meta name="vsauthor" content="Michael Abrash" />
|
||||||
|
<meta name="vspublisher" content="The Coriolis Group" />
|
||||||
|
<meta name="vspubdate" content="07/01/97" />
|
||||||
|
<meta name="vscategory" content="Web and Software Development: Game Development,Web and Software Development: Graphics and Multimedia Development" />
|
||||||
|
|
||||||
|
<title>Michael Abrash's Graphics Programming Black Book Special Edition: Hints My Readers Gave Me</title><!-- HEADER -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<TITLE>Michael Abrash's Graphics Programming Black Book Special Edition: Hints My Readers Gave Me</TITLE>
|
|
||||||
|
|
||||||
<!-- HEADER -->
|
|
||||||
<!-- Empty Reference Subhead -->
|
<!-- Empty Reference Subhead -->
|
||||||
|
|
||||||
<!--ISBN=1576101746//-->
|
<!--ISBN=1576101746//-->
|
||||||
<!--TITLE=Michael Abrash's Graphics Programming Black Book Special Edition//-->
|
<!--TITLE=Michael Abrash's Graphics Programming Black Book Special Edition//-->
|
||||||
<!--AUTHOR=Michael Abrash//-->
|
<!--AUTHOR=Michael Abrash//-->
|
||||||
|
|
@ -24,21 +19,26 @@
|
||||||
<!--CHAPTER=09//-->
|
<!--CHAPTER=09//-->
|
||||||
<!--PAGES=178-180//-->
|
<!--PAGES=178-180//-->
|
||||||
<!--UNASSIGNED1//-->
|
<!--UNASSIGNED1//-->
|
||||||
<!--UNASSIGNED2//--></HEAD><body>
|
<!--UNASSIGNED2//-->
|
||||||
|
</head>
|
||||||
|
|
||||||
<CENTER>
|
<body>
|
||||||
<TABLE BORDER>
|
<center>
|
||||||
<TR>
|
<table border="1">
|
||||||
<TD><A HREF="09-03.html">Previous</A></TD>
|
<tr>
|
||||||
<TD><A HREF="index.html">Table of Contents</A></TD>
|
<td><a href="09-03.html">Previous</a></td>
|
||||||
<TD><A HREF="09-05.html">Next</A></TD>
|
|
||||||
</TR>
|
<td><a href="index.html">Table of Contents</a></td>
|
||||||
</TABLE>
|
|
||||||
</CENTER>
|
<td><a href="09-05.html">Next</a></td>
|
||||||
<P><BR></P>
|
</tr>
|
||||||
<P><B>LISTING 9.2 L9-2.ASM</B></P>
|
</table>
|
||||||
<!-- CODE //-->
|
</center>
|
||||||
<PRE>
|
|
||||||
|
<p><br /></p>
|
||||||
|
|
||||||
|
<p><b>LISTING 9.2 L9-2.ASM</b></p><!-- CODE //-->
|
||||||
|
<pre>
|
||||||
; Searches a text buffer for a text string. Uses REPNZ SCASB to scan
|
; Searches a text buffer for a text string. Uses REPNZ SCASB to scan
|
||||||
; the buffer for locations that match a specified character of the
|
; the buffer for locations that match a specified character of the
|
||||||
; searched-for string, then uses REPZ CMPS to check fully only those
|
; searched-for string, then uses REPZ CMPS to check fully only those
|
||||||
|
|
@ -135,11 +135,10 @@ FindStringDone:
|
||||||
ret
|
ret
|
||||||
_FindStringendp
|
_FindStringendp
|
||||||
end
|
end
|
||||||
</PRE>
|
</pre><!-- END CODE //-->
|
||||||
<!-- END CODE //-->
|
|
||||||
<P><B>LISTING 9.3 L9-3.C</B></P>
|
<p><b>LISTING 9.3 L9-3.C</b></p><!-- CODE //-->
|
||||||
<!-- CODE //-->
|
<pre>
|
||||||
<PRE>
|
|
||||||
/* Program to exercise buffer-search routines in Listings 9.1 & 9.2 */
|
/* Program to exercise buffer-search routines in Listings 9.1 & 9.2 */
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
@ -172,31 +171,29 @@ void main() {
|
||||||
strncpy(TempBuffer, MatchPtr, DISPLAY_LENGTH));
|
strncpy(TempBuffer, MatchPtr, DISPLAY_LENGTH));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</PRE>
|
</pre><!-- END CODE //-->
|
||||||
<!-- END CODE //-->
|
|
||||||
<P><BR></P>
|
<p><br /></p>
|
||||||
<CENTER>
|
|
||||||
<TABLE BORDER>
|
<center>
|
||||||
<TR>
|
<table border="1">
|
||||||
<TD><A HREF="09-03.html">Previous</A></TD>
|
<tr>
|
||||||
<TD><A HREF="index.html">Table of Contents</A></TD>
|
<td><a href="09-03.html">Previous</a></td>
|
||||||
<TD><A HREF="09-05.html">Next</A></TD>
|
|
||||||
</TR>
|
<td><a href="index.html">Table of Contents</a></td>
|
||||||
</TABLE>
|
|
||||||
</CENTER>
|
<td><a href="09-05.html">Next</a></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</center>
|
||||||
|
<hr width="90%" size="1" noshade="noshade" />
|
||||||
|
|
||||||
<hr width="90%" size="1" noshade>
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
Graphics Programming Black Book © 2001 Michael Abrash
|
Graphics Programming Black Book © 2001 Michael Abrash
|
||||||
</div>
|
</div><!-- all of the reference materials (books) have the footer and subfoot reveresed -->
|
||||||
<!-- all of the reference materials (books) have the footer and subfoot reveresed -->
|
|
||||||
<!-- reference_subfoot = footer -->
|
<!-- reference_subfoot = footer -->
|
||||||
<!-- reference_footer = subfoot -->
|
<!-- reference_footer = subfoot -->
|
||||||
|
|
||||||
<!-- BEGIN SUB FOOTER -->
|
<!-- BEGIN SUB FOOTER -->
|
||||||
</BODY>
|
|
||||||
</HTML>
|
|
||||||
|
|
||||||
<!-- END FOOTER -->
|
<!-- END FOOTER -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
|
||||||
134
09-05.html
134
09-05.html
File diff suppressed because one or more lines are too long
134
09-06.html
134
09-06.html
File diff suppressed because one or more lines are too long
203
09-07.html
203
09-07.html
File diff suppressed because one or more lines are too long
151
10-01.html
151
10-01.html
File diff suppressed because one or more lines are too long
374
10-02.html
374
10-02.html
File diff suppressed because one or more lines are too long
161
10-03.html
161
10-03.html
File diff suppressed because one or more lines are too long
124
10-04.html
124
10-04.html
File diff suppressed because one or more lines are too long
169
11-01.html
169
11-01.html
File diff suppressed because one or more lines are too long
153
11-02.html
153
11-02.html
File diff suppressed because one or more lines are too long
190
11-03.html
190
11-03.html
File diff suppressed because one or more lines are too long
211
11-04.html
211
11-04.html
File diff suppressed because one or more lines are too long
157
11-05.html
157
11-05.html
File diff suppressed because one or more lines are too long
150
11-06.html
150
11-06.html
File diff suppressed because one or more lines are too long
129
11-07.html
129
11-07.html
File diff suppressed because one or more lines are too long
163
11-08.html
163
11-08.html
File diff suppressed because one or more lines are too long
186
12-01.html
186
12-01.html
File diff suppressed because one or more lines are too long
253
12-02.html
253
12-02.html
File diff suppressed because one or more lines are too long
209
12-03.html
209
12-03.html
File diff suppressed because one or more lines are too long
204
12-04.html
204
12-04.html
File diff suppressed because one or more lines are too long
164
13-01.html
164
13-01.html
File diff suppressed because one or more lines are too long
157
13-02.html
157
13-02.html
File diff suppressed because one or more lines are too long
165
13-03.html
165
13-03.html
File diff suppressed because one or more lines are too long
152
13-04.html
152
13-04.html
File diff suppressed because one or more lines are too long
158
14-01.html
158
14-01.html
File diff suppressed because one or more lines are too long
159
14-02.html
159
14-02.html
File diff suppressed because one or more lines are too long
336
14-03.html
336
14-03.html
File diff suppressed because one or more lines are too long
111
14-04.html
111
14-04.html
File diff suppressed because one or more lines are too long
100
14-05.html
100
14-05.html
|
|
@ -1,22 +1,17 @@
|
||||||
<HTML>
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||||
<HEAD>
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<META name=vsisbn content="1576101746">
|
|
||||||
<META name=vstitle content="Michael Abrash's Graphics Programming Black Book, Special Edition">
|
|
||||||
<META name=vsauthor content="Michael Abrash">
|
|
||||||
<META name=vspublisher content="The Coriolis Group">
|
|
||||||
<META name=vspubdate content="07/01/97">
|
|
||||||
<META name=vscategory content="Web and Software Development: Game Development,Web and Software Development: Graphics and Multimedia Development">
|
|
||||||
|
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta name="vsisbn" content="1576101746" />
|
||||||
|
<meta name="vstitle" content="Michael Abrash's Graphics Programming Black Book, Special Edition" />
|
||||||
|
<meta name="vsauthor" content="Michael Abrash" />
|
||||||
|
<meta name="vspublisher" content="The Coriolis Group" />
|
||||||
|
<meta name="vspubdate" content="07/01/97" />
|
||||||
|
<meta name="vscategory" content="Web and Software Development: Game Development,Web and Software Development: Graphics and Multimedia Development" />
|
||||||
|
|
||||||
|
<title>Michael Abrash's Graphics Programming Black Book Special Edition: Boyer-Moore String Searching</title><!-- HEADER -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<TITLE>Michael Abrash's Graphics Programming Black Book Special Edition: Boyer-Moore String Searching</TITLE>
|
|
||||||
|
|
||||||
<!-- HEADER -->
|
|
||||||
<!-- Empty Reference Subhead -->
|
<!-- Empty Reference Subhead -->
|
||||||
|
|
||||||
<!--ISBN=1576101746//-->
|
<!--ISBN=1576101746//-->
|
||||||
<!--TITLE=Michael Abrash's Graphics Programming Black Book Special Edition//-->
|
<!--TITLE=Michael Abrash's Graphics Programming Black Book Special Edition//-->
|
||||||
<!--AUTHOR=Michael Abrash//-->
|
<!--AUTHOR=Michael Abrash//-->
|
||||||
|
|
@ -24,21 +19,26 @@
|
||||||
<!--CHAPTER=14//-->
|
<!--CHAPTER=14//-->
|
||||||
<!--PAGES=271-274//-->
|
<!--PAGES=271-274//-->
|
||||||
<!--UNASSIGNED1//-->
|
<!--UNASSIGNED1//-->
|
||||||
<!--UNASSIGNED2//--></HEAD><body>
|
<!--UNASSIGNED2//-->
|
||||||
|
</head>
|
||||||
|
|
||||||
<CENTER>
|
<body>
|
||||||
<TABLE BORDER>
|
<center>
|
||||||
<TR>
|
<table border="1">
|
||||||
<TD><A HREF="14-04.html">Previous</A></TD>
|
<tr>
|
||||||
<TD><A HREF="index.html">Table of Contents</A></TD>
|
<td><a href="14-04.html">Previous</a></td>
|
||||||
<TD><A HREF="14-06.html">Next</A></TD>
|
|
||||||
</TR>
|
<td><a href="index.html">Table of Contents</a></td>
|
||||||
</TABLE>
|
|
||||||
</CENTER>
|
<td><a href="14-06.html">Next</a></td>
|
||||||
<P><BR></P>
|
</tr>
|
||||||
<P><B>LISTING 14.3 L14-3.ASM</B></P>
|
</table>
|
||||||
<!-- CODE //-->
|
</center>
|
||||||
<PRE>
|
|
||||||
|
<p><br /></p>
|
||||||
|
|
||||||
|
<p><b>LISTING 14.3 L14-3.ASM</b></p><!-- CODE //-->
|
||||||
|
<pre>
|
||||||
; Searches a buffer for a specified pattern. In case of a mismatch,
|
; Searches a buffer for a specified pattern. In case of a mismatch,
|
||||||
; uses the value of the mismatched byte to skip across as many
|
; uses the value of the mismatched byte to skip across as many
|
||||||
; potential match locations as possible (partial Boyer-Moore).
|
; potential match locations as possible (partial Boyer-Moore).
|
||||||
|
|
@ -199,31 +199,29 @@ Done:
|
||||||
ret
|
ret
|
||||||
_FindString endp
|
_FindString endp
|
||||||
end
|
end
|
||||||
</PRE>
|
</pre><!-- END CODE //-->
|
||||||
<!-- END CODE //-->
|
|
||||||
<P><BR></P>
|
<p><br /></p>
|
||||||
<CENTER>
|
|
||||||
<TABLE BORDER>
|
<center>
|
||||||
<TR>
|
<table border="1">
|
||||||
<TD><A HREF="14-04.html">Previous</A></TD>
|
<tr>
|
||||||
<TD><A HREF="index.html">Table of Contents</A></TD>
|
<td><a href="14-04.html">Previous</a></td>
|
||||||
<TD><A HREF="14-06.html">Next</A></TD>
|
|
||||||
</TR>
|
<td><a href="index.html">Table of Contents</a></td>
|
||||||
</TABLE>
|
|
||||||
</CENTER>
|
<td><a href="14-06.html">Next</a></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</center>
|
||||||
|
<hr width="90%" size="1" noshade="noshade" />
|
||||||
|
|
||||||
<hr width="90%" size="1" noshade>
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
Graphics Programming Black Book © 2001 Michael Abrash
|
Graphics Programming Black Book © 2001 Michael Abrash
|
||||||
</div>
|
</div><!-- all of the reference materials (books) have the footer and subfoot reveresed -->
|
||||||
<!-- all of the reference materials (books) have the footer and subfoot reveresed -->
|
|
||||||
<!-- reference_subfoot = footer -->
|
<!-- reference_subfoot = footer -->
|
||||||
<!-- reference_footer = subfoot -->
|
<!-- reference_footer = subfoot -->
|
||||||
|
|
||||||
<!-- BEGIN SUB FOOTER -->
|
<!-- BEGIN SUB FOOTER -->
|
||||||
</BODY>
|
|
||||||
</HTML>
|
|
||||||
|
|
||||||
<!-- END FOOTER -->
|
<!-- END FOOTER -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
|
||||||
124
14-06.html
124
14-06.html
File diff suppressed because one or more lines are too long
154
15-01.html
154
15-01.html
File diff suppressed because one or more lines are too long
176
15-02.html
176
15-02.html
File diff suppressed because one or more lines are too long
142
15-03.html
142
15-03.html
File diff suppressed because one or more lines are too long
136
15-04.html
136
15-04.html
File diff suppressed because one or more lines are too long
238
16-01.html
238
16-01.html
File diff suppressed because one or more lines are too long
120
16-02.html
120
16-02.html
File diff suppressed because one or more lines are too long
130
16-03.html
130
16-03.html
File diff suppressed because one or more lines are too long
162
16-04.html
162
16-04.html
File diff suppressed because one or more lines are too long
288
16-05.html
288
16-05.html
|
|
@ -1,22 +1,17 @@
|
||||||
<HTML>
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||||
<HEAD>
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<META name=vsisbn content="1576101746">
|
|
||||||
<META name=vstitle content="Michael Abrash's Graphics Programming Black Book, Special Edition">
|
|
||||||
<META name=vsauthor content="Michael Abrash">
|
|
||||||
<META name=vspublisher content="The Coriolis Group">
|
|
||||||
<META name=vspubdate content="07/01/97">
|
|
||||||
<META name=vscategory content="Web and Software Development: Game Development,Web and Software Development: Graphics and Multimedia Development">
|
|
||||||
|
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta name="vsisbn" content="1576101746" />
|
||||||
|
<meta name="vstitle" content="Michael Abrash's Graphics Programming Black Book, Special Edition" />
|
||||||
|
<meta name="vsauthor" content="Michael Abrash" />
|
||||||
|
<meta name="vspublisher" content="The Coriolis Group" />
|
||||||
|
<meta name="vspubdate" content="07/01/97" />
|
||||||
|
<meta name="vscategory" content="Web and Software Development: Game Development,Web and Software Development: Graphics and Multimedia Development" />
|
||||||
|
|
||||||
|
<title>Michael Abrash's Graphics Programming Black Book Special Edition: There Ain't No Such Thing as the Fastest Code</title><!-- HEADER -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<TITLE>Michael Abrash's Graphics Programming Black Book Special Edition: There Ain't No Such Thing as the Fastest Code</TITLE>
|
|
||||||
|
|
||||||
<!-- HEADER -->
|
|
||||||
<!-- Empty Reference Subhead -->
|
<!-- Empty Reference Subhead -->
|
||||||
|
|
||||||
<!--ISBN=1576101746//-->
|
<!--ISBN=1576101746//-->
|
||||||
<!--TITLE=Michael Abrash's Graphics Programming Black Book Special Edition//-->
|
<!--TITLE=Michael Abrash's Graphics Programming Black Book Special Edition//-->
|
||||||
<!--AUTHOR=Michael Abrash//-->
|
<!--AUTHOR=Michael Abrash//-->
|
||||||
|
|
@ -24,81 +19,154 @@
|
||||||
<!--CHAPTER=16//-->
|
<!--CHAPTER=16//-->
|
||||||
<!--PAGES=308-311//-->
|
<!--PAGES=308-311//-->
|
||||||
<!--UNASSIGNED1//-->
|
<!--UNASSIGNED1//-->
|
||||||
<!--UNASSIGNED2//--></HEAD><body>
|
<!--UNASSIGNED2//-->
|
||||||
|
</head>
|
||||||
|
|
||||||
<CENTER>
|
<body>
|
||||||
<TABLE BORDER>
|
<center>
|
||||||
<TR>
|
<table border="1">
|
||||||
<TD><A HREF="16-04.html">Previous</A></TD>
|
<tr>
|
||||||
<TD><A HREF="index.html">Table of Contents</A></TD>
|
<td><a href="16-04.html">Previous</a></td>
|
||||||
<TD><A HREF="16-06.html">Next</A></TD>
|
|
||||||
</TR>
|
<td><a href="index.html">Table of Contents</a></td>
|
||||||
</TABLE>
|
|
||||||
</CENTER>
|
<td><a href="16-06.html">Next</a></td>
|
||||||
<P><BR></P>
|
</tr>
|
||||||
<P>Table 16.2 has two times for each entry listed: the first value is the overall counting time, including time spent in the main program, disk I/O, and everything else; the second value is the time actually spent counting words, the time spent in <B>ScanBuffer</B> . The first value is the time perceived by the user, but the second value best reflects the quality of the optimization in each entry, since the rest of the overall execution time is fixed.</P>
|
</table>
|
||||||
<TABLE WIDTH="85%"><TR>
|
</center>
|
||||||
<TD COLSPAN="3"><HR>
|
|
||||||
<TR>
|
<p><br /></p>
|
||||||
<TD VALIGN="TOP" ALIGN="LFFT">
|
|
||||||
<TH ALIGN="CENTER" COLSPAN="2">Word-Counting Time
|
<p>Table 16.2 has two times for each entry listed: the first value is the overall counting time, including time spent in the main program, disk I/O, and everything else; the second value is the time actually spent counting words, the time spent in <b>ScanBuffer</b> . The first value is the time perceived by the user, but the second value best reflects the quality of the optimization in each entry, since the rest of the overall execution time is fixed.</p>
|
||||||
<TR>
|
|
||||||
<TH WIDTH="35%" ALIGN="LEFT" VALIGN="TOP">Name
|
<table width="85%">
|
||||||
<TH WIDTH="25%" ALIGN="LEFT" VALIGN="TOP">Overall time
|
<tr>
|
||||||
<TH WIDTH="25%" ALIGN="LEFT" VALIGN="TOP">(ScanBuffer only)
|
<td colspan="3">
|
||||||
<TR>
|
<hr />
|
||||||
<TD COLSPAN="3"><HR>
|
</td>
|
||||||
<TR>
|
</tr>
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">David Stafford Listing 16.5 <TD ALIGN="LEFT" VALIGN="TOP">0.61 seconds
|
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">0.33 seconds
|
<tr>
|
||||||
<TR>
|
<td valign="top" align="lfft"></td>
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">Dave Methvin
|
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">0.66
|
<th align="center" colspan="2">Word-Counting Time</th>
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">0.39
|
</tr>
|
||||||
<TR>
|
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">Mick Brown
|
<tr>
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">0.70
|
<th width="35%" align="left" valign="top">Name</th>
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">0.41
|
|
||||||
<TR>
|
<th width="25%" align="left" valign="top">Overall time</th>
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">Wendell Neubert
|
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">0.92
|
<th width="25%" align="left" valign="top">(ScanBuffer only)</th>
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">0.65
|
</tr>
|
||||||
<TR>
|
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP"><B>For Comparison:</B>
|
<tr>
|
||||||
<TR>
|
<td colspan="3">
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">Michael Abrash
|
<hr />
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">1.73
|
</td>
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">1.44
|
</tr>
|
||||||
<TR>
|
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">assembly code
|
<tr>
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">
|
<td align="left" valign="top">David Stafford Listing 16.5</td>
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">
|
|
||||||
<TR>
|
<td align="left" valign="top">0.61 seconds</td>
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">Listing 16.1
|
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">
|
<td align="left" valign="top">0.33 seconds</td>
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">
|
</tr>
|
||||||
<TR>
|
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">Michael Abrash
|
<tr>
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">4.70
|
<td align="left" valign="top">Dave Methvin</td>
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">4.43
|
|
||||||
<TR>
|
<td align="left" valign="top">0.66</td>
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">C code
|
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">
|
<td align="left" valign="top">0.39</td>
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">
|
</tr>
|
||||||
<TR>
|
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">Listing 16.4
|
<tr>
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">
|
<td align="left" valign="top">Mick Brown</td>
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP">
|
|
||||||
<TR>
|
<td align="left" valign="top">0.70</td>
|
||||||
<TD ALIGN="LEFT" VALIGN="TOP" COLSPAN="3"><SMALL><B>Note:</B> All times measured on a 20 MHz cached 386 DX.</SMALL>
|
|
||||||
<TR>
|
<td align="left" valign="top">0.41</td>
|
||||||
<TH ALIGN="LEFT" VALIGN="TOP" COLSPAN="3">Table 16.2 The top four word-counting entries.
|
</tr>
|
||||||
<TR>
|
|
||||||
<TD COLSPAN="3"><HR>
|
<tr>
|
||||||
</TABLE>
|
<td align="left" valign="top">Wendell Neubert</td>
|
||||||
<P><B>LISTING 16.5 QSCAN3.ASM</B></P>
|
|
||||||
<!-- CODE //-->
|
<td align="left" valign="top">0.92</td>
|
||||||
<PRE>
|
|
||||||
|
<td align="left" valign="top">0.65</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td align="left" valign="top"><b>For Comparison:</b></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td align="left" valign="top">Michael Abrash</td>
|
||||||
|
|
||||||
|
<td align="left" valign="top">1.73</td>
|
||||||
|
|
||||||
|
<td align="left" valign="top">1.44</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td align="left" valign="top">assembly code</td>
|
||||||
|
|
||||||
|
<td align="left" valign="top"></td>
|
||||||
|
|
||||||
|
<td align="left" valign="top"></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td align="left" valign="top">Listing 16.1</td>
|
||||||
|
|
||||||
|
<td align="left" valign="top"></td>
|
||||||
|
|
||||||
|
<td align="left" valign="top"></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td align="left" valign="top">Michael Abrash</td>
|
||||||
|
|
||||||
|
<td align="left" valign="top">4.70</td>
|
||||||
|
|
||||||
|
<td align="left" valign="top">4.43</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td align="left" valign="top">C code</td>
|
||||||
|
|
||||||
|
<td align="left" valign="top"></td>
|
||||||
|
|
||||||
|
<td align="left" valign="top"></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td align="left" valign="top">Listing 16.4</td>
|
||||||
|
|
||||||
|
<td align="left" valign="top"></td>
|
||||||
|
|
||||||
|
<td align="left" valign="top"></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td align="left" valign="top" colspan="3"><small><b>Note:</b> All times measured on a 20 MHz cached 386 DX.</small></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th align="left" valign="top" colspan="3">Table 16.2 The top four word-counting entries.</th>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td colspan="3">
|
||||||
|
<hr />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<p><b>LISTING 16.5 QSCAN3.ASM</b></p><!-- CODE //-->
|
||||||
|
<pre>
|
||||||
; QSCAN3.ASM
|
; QSCAN3.ASM
|
||||||
; David Stafford
|
; David Stafford
|
||||||
|
|
||||||
|
|
@ -277,31 +345,29 @@ jumping.
|
||||||
.fardata WordTable
|
.fardata WordTable
|
||||||
include qscan3.inc ;built by MAKETAB
|
include qscan3.inc ;built by MAKETAB
|
||||||
end
|
end
|
||||||
</PRE>
|
</pre><!-- END CODE //-->
|
||||||
<!-- END CODE //-->
|
|
||||||
<P><BR></P>
|
<p><br /></p>
|
||||||
<CENTER>
|
|
||||||
<TABLE BORDER>
|
<center>
|
||||||
<TR>
|
<table border="1">
|
||||||
<TD><A HREF="16-04.html">Previous</A></TD>
|
<tr>
|
||||||
<TD><A HREF="index.html">Table of Contents</A></TD>
|
<td><a href="16-04.html">Previous</a></td>
|
||||||
<TD><A HREF="16-06.html">Next</A></TD>
|
|
||||||
</TR>
|
<td><a href="index.html">Table of Contents</a></td>
|
||||||
</TABLE>
|
|
||||||
</CENTER>
|
<td><a href="16-06.html">Next</a></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</center>
|
||||||
|
<hr width="90%" size="1" noshade="noshade" />
|
||||||
|
|
||||||
<hr width="90%" size="1" noshade>
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
Graphics Programming Black Book © 2001 Michael Abrash
|
Graphics Programming Black Book © 2001 Michael Abrash
|
||||||
</div>
|
</div><!-- all of the reference materials (books) have the footer and subfoot reveresed -->
|
||||||
<!-- all of the reference materials (books) have the footer and subfoot reveresed -->
|
|
||||||
<!-- reference_subfoot = footer -->
|
<!-- reference_subfoot = footer -->
|
||||||
<!-- reference_footer = subfoot -->
|
<!-- reference_footer = subfoot -->
|
||||||
|
|
||||||
<!-- BEGIN SUB FOOTER -->
|
<!-- BEGIN SUB FOOTER -->
|
||||||
</BODY>
|
|
||||||
</HTML>
|
|
||||||
|
|
||||||
<!-- END FOOTER -->
|
<!-- END FOOTER -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
|
||||||
129
16-06.html
129
16-06.html
File diff suppressed because one or more lines are too long
121
16-07.html
121
16-07.html
File diff suppressed because one or more lines are too long
169
16-08.html
169
16-08.html
File diff suppressed because one or more lines are too long
130
17-01.html
130
17-01.html
File diff suppressed because one or more lines are too long
109
17-02.html
109
17-02.html
|
|
@ -1,22 +1,17 @@
|
||||||
<HTML>
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||||
<HEAD>
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<META name=vsisbn content="1576101746">
|
|
||||||
<META name=vstitle content="Michael Abrash's Graphics Programming Black Book, Special Edition">
|
|
||||||
<META name=vsauthor content="Michael Abrash">
|
|
||||||
<META name=vspublisher content="The Coriolis Group">
|
|
||||||
<META name=vspubdate content="07/01/97">
|
|
||||||
<META name=vscategory content="Web and Software Development: Game Development,Web and Software Development: Graphics and Multimedia Development">
|
|
||||||
|
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta name="vsisbn" content="1576101746" />
|
||||||
|
<meta name="vstitle" content="Michael Abrash's Graphics Programming Black Book, Special Edition" />
|
||||||
|
<meta name="vsauthor" content="Michael Abrash" />
|
||||||
|
<meta name="vspublisher" content="The Coriolis Group" />
|
||||||
|
<meta name="vspubdate" content="07/01/97" />
|
||||||
|
<meta name="vscategory" content="Web and Software Development: Game Development,Web and Software Development: Graphics and Multimedia Development" />
|
||||||
|
|
||||||
|
<title>Michael Abrash's Graphics Programming Black Book Special Edition: The Game of Life</title><!-- HEADER -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<TITLE>Michael Abrash's Graphics Programming Black Book Special Edition: The Game of Life</TITLE>
|
|
||||||
|
|
||||||
<!-- HEADER -->
|
|
||||||
<!-- Empty Reference Subhead -->
|
<!-- Empty Reference Subhead -->
|
||||||
|
|
||||||
<!--ISBN=1576101746//-->
|
<!--ISBN=1576101746//-->
|
||||||
<!--TITLE=Michael Abrash's Graphics Programming Black Book Special Edition//-->
|
<!--TITLE=Michael Abrash's Graphics Programming Black Book Special Edition//-->
|
||||||
<!--AUTHOR=Michael Abrash//-->
|
<!--AUTHOR=Michael Abrash//-->
|
||||||
|
|
@ -24,21 +19,26 @@
|
||||||
<!--CHAPTER=17//-->
|
<!--CHAPTER=17//-->
|
||||||
<!--PAGES=325-329//-->
|
<!--PAGES=325-329//-->
|
||||||
<!--UNASSIGNED1//-->
|
<!--UNASSIGNED1//-->
|
||||||
<!--UNASSIGNED2//--></HEAD><body>
|
<!--UNASSIGNED2//-->
|
||||||
|
</head>
|
||||||
|
|
||||||
<CENTER>
|
<body>
|
||||||
<TABLE BORDER>
|
<center>
|
||||||
<TR>
|
<table border="1">
|
||||||
<TD><A HREF="17-01.html">Previous</A></TD>
|
<tr>
|
||||||
<TD><A HREF="index.html">Table of Contents</A></TD>
|
<td><a href="17-01.html">Previous</a></td>
|
||||||
<TD><A HREF="17-03.html">Next</A></TD>
|
|
||||||
</TR>
|
<td><a href="index.html">Table of Contents</a></td>
|
||||||
</TABLE>
|
|
||||||
</CENTER>
|
<td><a href="17-03.html">Next</a></td>
|
||||||
<P><BR></P>
|
</tr>
|
||||||
<P><B>LISTING 17.1 L17-1.CPP</B></P>
|
</table>
|
||||||
<!-- CODE //-->
|
</center>
|
||||||
<PRE>
|
|
||||||
|
<p><br /></p>
|
||||||
|
|
||||||
|
<p><b>LISTING 17.1 L17-1.CPP</b></p><!-- CODE //-->
|
||||||
|
<pre>
|
||||||
/* C++ Game of Life implementation for any mode for which mode set
|
/* C++ Game of Life implementation for any mode for which mode set
|
||||||
and draw pixel functions can be provided.
|
and draw pixel functions can be provided.
|
||||||
Tested with Borland C++ in the small model. */
|
Tested with Borland C++ in the small model. */
|
||||||
|
|
@ -233,11 +233,10 @@ void cellmap::next_generation(cellmap& next_map)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</PRE>
|
</pre><!-- END CODE //-->
|
||||||
<!-- END CODE //-->
|
|
||||||
<P><B>LISTING 17.2 L17-2.CPP</B></P>
|
<p><b>LISTING 17.2 L17-2.CPP</b></p><!-- CODE //-->
|
||||||
<!-- CODE //-->
|
<pre>
|
||||||
<PRE>
|
|
||||||
/* VGA mode 13h functions for Game of Life.
|
/* VGA mode 13h functions for Game of Life.
|
||||||
Tested with Borland C++. */
|
Tested with Borland C++. */
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
@ -294,31 +293,29 @@ void show_text(int x, int y, char *text)
|
||||||
gotoxy(TEXT_X_OFFSET + x, y);
|
gotoxy(TEXT_X_OFFSET + x, y);
|
||||||
puts(text);
|
puts(text);
|
||||||
}
|
}
|
||||||
</PRE>
|
</pre><!-- END CODE //-->
|
||||||
<!-- END CODE //-->
|
|
||||||
<P><BR></P>
|
<p><br /></p>
|
||||||
<CENTER>
|
|
||||||
<TABLE BORDER>
|
<center>
|
||||||
<TR>
|
<table border="1">
|
||||||
<TD><A HREF="17-01.html">Previous</A></TD>
|
<tr>
|
||||||
<TD><A HREF="index.html">Table of Contents</A></TD>
|
<td><a href="17-01.html">Previous</a></td>
|
||||||
<TD><A HREF="17-03.html">Next</A></TD>
|
|
||||||
</TR>
|
<td><a href="index.html">Table of Contents</a></td>
|
||||||
</TABLE>
|
|
||||||
</CENTER>
|
<td><a href="17-03.html">Next</a></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</center>
|
||||||
|
<hr width="90%" size="1" noshade="noshade" />
|
||||||
|
|
||||||
<hr width="90%" size="1" noshade>
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
Graphics Programming Black Book © 2001 Michael Abrash
|
Graphics Programming Black Book © 2001 Michael Abrash
|
||||||
</div>
|
</div><!-- all of the reference materials (books) have the footer and subfoot reveresed -->
|
||||||
<!-- all of the reference materials (books) have the footer and subfoot reveresed -->
|
|
||||||
<!-- reference_subfoot = footer -->
|
<!-- reference_subfoot = footer -->
|
||||||
<!-- reference_footer = subfoot -->
|
<!-- reference_footer = subfoot -->
|
||||||
|
|
||||||
<!-- BEGIN SUB FOOTER -->
|
<!-- BEGIN SUB FOOTER -->
|
||||||
</BODY>
|
|
||||||
</HTML>
|
|
||||||
|
|
||||||
<!-- END FOOTER -->
|
<!-- END FOOTER -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
|
||||||
310
17-03.html
310
17-03.html
File diff suppressed because one or more lines are too long
125
17-04.html
125
17-04.html
File diff suppressed because one or more lines are too long
137
17-05.html
137
17-05.html
File diff suppressed because one or more lines are too long
160
17-06.html
160
17-06.html
File diff suppressed because one or more lines are too long
100
17-07.html
100
17-07.html
|
|
@ -1,22 +1,17 @@
|
||||||
<HTML>
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||||
<HEAD>
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<META name=vsisbn content="1576101746">
|
|
||||||
<META name=vstitle content="Michael Abrash's Graphics Programming Black Book, Special Edition">
|
|
||||||
<META name=vsauthor content="Michael Abrash">
|
|
||||||
<META name=vspublisher content="The Coriolis Group">
|
|
||||||
<META name=vspubdate content="07/01/97">
|
|
||||||
<META name=vscategory content="Web and Software Development: Game Development,Web and Software Development: Graphics and Multimedia Development">
|
|
||||||
|
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta name="vsisbn" content="1576101746" />
|
||||||
|
<meta name="vstitle" content="Michael Abrash's Graphics Programming Black Book, Special Edition" />
|
||||||
|
<meta name="vsauthor" content="Michael Abrash" />
|
||||||
|
<meta name="vspublisher" content="The Coriolis Group" />
|
||||||
|
<meta name="vspubdate" content="07/01/97" />
|
||||||
|
<meta name="vscategory" content="Web and Software Development: Game Development,Web and Software Development: Graphics and Multimedia Development" />
|
||||||
|
|
||||||
|
<title>Michael Abrash's Graphics Programming Black Book Special Edition: The Game of Life</title><!-- HEADER -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<TITLE>Michael Abrash's Graphics Programming Black Book Special Edition: The Game of Life</TITLE>
|
|
||||||
|
|
||||||
<!-- HEADER -->
|
|
||||||
<!-- Empty Reference Subhead -->
|
<!-- Empty Reference Subhead -->
|
||||||
|
|
||||||
<!--ISBN=1576101746//-->
|
<!--ISBN=1576101746//-->
|
||||||
<!--TITLE=Michael Abrash's Graphics Programming Black Book Special Edition//-->
|
<!--TITLE=Michael Abrash's Graphics Programming Black Book Special Edition//-->
|
||||||
<!--AUTHOR=Michael Abrash//-->
|
<!--AUTHOR=Michael Abrash//-->
|
||||||
|
|
@ -24,21 +19,26 @@
|
||||||
<!--CHAPTER=17//-->
|
<!--CHAPTER=17//-->
|
||||||
<!--PAGES=340-345//-->
|
<!--PAGES=340-345//-->
|
||||||
<!--UNASSIGNED1//-->
|
<!--UNASSIGNED1//-->
|
||||||
<!--UNASSIGNED2//--></HEAD><body>
|
<!--UNASSIGNED2//-->
|
||||||
|
</head>
|
||||||
|
|
||||||
<CENTER>
|
<body>
|
||||||
<TABLE BORDER>
|
<center>
|
||||||
<TR>
|
<table border="1">
|
||||||
<TD><A HREF="17-06.html">Previous</A></TD>
|
<tr>
|
||||||
<TD><A HREF="index.html">Table of Contents</A></TD>
|
<td><a href="17-06.html">Previous</a></td>
|
||||||
<TD><A HREF="17-08.html">Next</A></TD>
|
|
||||||
</TR>
|
<td><a href="index.html">Table of Contents</a></td>
|
||||||
</TABLE>
|
|
||||||
</CENTER>
|
<td><a href="17-08.html">Next</a></td>
|
||||||
<P><BR></P>
|
</tr>
|
||||||
<P><B>LISTING 17.5 L17-5.CPP</B></P>
|
</table>
|
||||||
<!-- CODE //-->
|
</center>
|
||||||
<PRE>
|
|
||||||
|
<p><br /></p>
|
||||||
|
|
||||||
|
<p><b>LISTING 17.5 L17-5.CPP</b></p><!-- CODE //-->
|
||||||
|
<pre>
|
||||||
/* C++ Game of Life implementation for any mode for which mode set
|
/* C++ Game of Life implementation for any mode for which mode set
|
||||||
and draw pixel functions can be provided. The cellmap stores the
|
and draw pixel functions can be provided. The cellmap stores the
|
||||||
neighbor count for each cell as well as the state of each cell;
|
neighbor count for each cell as well as the state of each cell;
|
||||||
|
|
@ -312,31 +312,29 @@ void cellmap::init()
|
||||||
}
|
}
|
||||||
} while (—init_length);
|
} while (—init_length);
|
||||||
}
|
}
|
||||||
</PRE>
|
</pre><!-- END CODE //-->
|
||||||
<!-- END CODE //-->
|
|
||||||
<P><BR></P>
|
<p><br /></p>
|
||||||
<CENTER>
|
|
||||||
<TABLE BORDER>
|
<center>
|
||||||
<TR>
|
<table border="1">
|
||||||
<TD><A HREF="17-06.html">Previous</A></TD>
|
<tr>
|
||||||
<TD><A HREF="index.html">Table of Contents</A></TD>
|
<td><a href="17-06.html">Previous</a></td>
|
||||||
<TD><A HREF="17-08.html">Next</A></TD>
|
|
||||||
</TR>
|
<td><a href="index.html">Table of Contents</a></td>
|
||||||
</TABLE>
|
|
||||||
</CENTER>
|
<td><a href="17-08.html">Next</a></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</center>
|
||||||
|
<hr width="90%" size="1" noshade="noshade" />
|
||||||
|
|
||||||
<hr width="90%" size="1" noshade>
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
Graphics Programming Black Book © 2001 Michael Abrash
|
Graphics Programming Black Book © 2001 Michael Abrash
|
||||||
</div>
|
</div><!-- all of the reference materials (books) have the footer and subfoot reveresed -->
|
||||||
<!-- all of the reference materials (books) have the footer and subfoot reveresed -->
|
|
||||||
<!-- reference_subfoot = footer -->
|
<!-- reference_subfoot = footer -->
|
||||||
<!-- reference_footer = subfoot -->
|
<!-- reference_footer = subfoot -->
|
||||||
|
|
||||||
<!-- BEGIN SUB FOOTER -->
|
<!-- BEGIN SUB FOOTER -->
|
||||||
</BODY>
|
|
||||||
</HTML>
|
|
||||||
|
|
||||||
<!-- END FOOTER -->
|
<!-- END FOOTER -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
|
||||||
143
17-08.html
143
17-08.html
File diff suppressed because one or more lines are too long
138
18-01.html
138
18-01.html
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue