The QBasic Forum      Other Subforums, Links and Downloads      Archived Pascal Resources    Search


Non-QBasic Discussion Forum
Have a computer related question we don't have a forum for? Try asking it here.

* Testing 1,2,3

by (Premier Login iorr5t)
Forum Owner

Posted on Feb 11, 2007, 7:27 AM

Respond to this message   

Return to Index


it worked! mac you're a genius!

by mennonite (no login)

waston come here, i want you!

Posted on Feb 11, 2007, 11:32 PM

Respond to this message   

Return to Index


'*i'm not here right now, please leave a message after the beep: PRINT CHR$(7)

by waston (no login)

Posted on Feb 11, 2007, 11:34 PM

Respond to this message   

Return to Index


*While we're on the subject of testing... I need to test something, too. :-P

by (Login ComputerGhost)
R

Posted on Feb 26, 2007, 8:12 PM

Respond to this message   

Return to Index


*K, it worked.

by (Login ComputerGhost)
R

Posted on Feb 26, 2007, 8:18 PM

Respond to this message   

Return to Index


Anyone want to test my program?

by (Premier Login iorr5t)
Forum Owner

It is a utility that I just wrote for myself, but I am curious whether it will run on systems other than WindowsNT.

SCENARIO
========

I have a lot of files and directories scattered here and there and have trouble remembering where they are. For example, I have CLOCKS.TXT, an inventory of the clocks that need adjustment when daylight savings time comes or goes. But when that happens, I wind up searching my entire hard drive for "CLOCK", hoping I called it that, rather than "Lose or Gain an Hour.txt".

SO, I created a Shortcuts Directory where I put a shortcut to those places. Maybe for the above, I have

Clocks Change Daylight Savings.lnk

OK, things are faster. Now I just have to search my Shortcuts Directory.

That worked for about a year, but I got bored yesterday and decided to create a VB program to search "better". (That part is a matter of taste).

I can still search the Shortcuts Directory the old way if I want, but I already enjoy the new program better.

TO TEST
=======

1) Create a Shortcuts Directory of your own. If you like the concept, fill it up with goodies, otherwise just put a couple.

2) Create a Work Directory such as c:\temp\LookIt

3) Download and unzip
http://www.network54.com/Realm/QBZips/LookIt.zip

4) This includes another ZIP file with the source. Ignore and delete that unless you have VB and want to run in developer mode.

5) You should have
LookIt.EXE <---- The program to be tested
LookIt.TXT <---- The HELP file for the program
LookIt.ICO <---- Just an icon to use if you make a shortcut to the EXE

6) OK, then also create
LookIt.INI <---- Contains two lines
1) Shortcuts Directory
2) Work Directory

Now try it out. If you like it, great. If you don't, that's OK too.

But I would just like to know if it fails to work or not.

Thanks,

Mac

Posted on Feb 9, 2007, 12:40 PM

Respond to this message   

Return to Index


Works fine for me...

by (Login evil_chicken)

Well it worked fine for me and it is quite useful, I'm gonna use it for my .html files. :) Nice work!

Posted on Feb 9, 2007, 3:27 PM

Respond to this message   

Return to Index


* Thanks. What OP system were you using?

by (Premier Login iorr5t)
Forum Owner

Posted on Feb 9, 2007, 4:19 PM

Respond to this message   

Return to Index


*XP home.

by (no login)

Posted on Feb 9, 2007, 4:27 PM

Respond to this message   

Return to Index


Don't download it Blondie..It only works on a Tandy.

by The Universe (no login)

We call these utilities Mac's handy dandy only works on his Radio Shack Tandy computer utilities. I would recommend sticking with a trusted source...like Micro$oft. Bartender, another double!

Posted on Feb 9, 2007, 3:35 PM

Respond to this message   

Return to Index


*I wish I had VB 6! I've only VB4 and VB1

by Iain (no login)

*

Posted on Mar 21, 2007, 11:11 AM

Respond to this message   

Return to Index


Marvelous Twilight (A cute-em-up game)

by relsoft (no login)

Yep, I present to you...
Marvelous Twilight


Development Tools

Freebasic / GFXlib 2 for FB /GLFW
Mappy as Map Editor
PP256 and Jasc Paintshop Pro as sprite editors

Full credits:
Programming: Relsoft, Adigun A. Polack , DR.D
Artwork: Adigun A. Polack
Game concept and design: Relsoft/Adigun A. Polack
Music: Adigun A. Polack

Credits to:
Eric Cowles(1000101) for some collision base-code.
DrV, yetifoot for FBMLD(FB mem leak detector)

Download available:
http://rel.betterwebber.com/junk.php?id=84


A 2 player manic-shooter in the likes of Strikers 1945, Dodon Patchi and a cute-em-up from the likes of Parodius and Harmful Park.

Gameplay:

This game uses an original RFG system. (R)apid (F)ire (G)rowth. This system
does not rely on power-ups that you can get by killing enemies. Instead you power up
your fire power by continously pressing the fire key. The RFG meter will slowly
go up when you press the fire button. As the meter levels up, your fire power will increase. Stop firing and your meter goes back to zero.
Once you RFG meter reaches level 6, the RFG gauge will blink and your character
will fire either the wave beam (Rhemi) or the Homing missiles(Teija). Having a full
RFG meter would allow you to fire your special shots:

Rhemi:
"Jelly deflector". This acts as a shield and stops the enemies' bullets.
It also deflects bullets to the enemies and damages them 3 times the
original bullet energy. This also acts as a score multiplier.

Teija:
"Borken laser". This is a fast homing laser that damages enemies
continously until the enemy dies or the laser looses energy. Also acts
as a score multiplier. Destroys all active bullets on screen at an
instant for defensive puposes.


Screenshots:

http://rel.betterwebber.com/images/projects/rel/mt_boss1.jpg
http://rel.betterwebber.com/images/projects/rel/mt_boss2.jpg
http://rel.betterwebber.com/images/projects/rel/mt_lv1.jpg
http://rel.betterwebber.com/images/projects/rel/mt_lv2.jpg



Posted on Feb 8, 2007, 10:17 PM

Respond to this message   

Return to Index


A program that opens this site, a batch file

by (Login evil_chicken)

I made a small .bat that will open your web browser and open this site in about 2 - 3 seconds, simple to make, only takes to lines, I'm starting to like the powers of .bat again :)
anyway here is the code.

@echo off
start http://www.network54.com/Index/10167

just save that on your desktop with any name but the extension much be .bat (for those who dont know anything about .bat's. enjow, kinda random when you think about it... Thanks

P.S: If you want the URL to goto a different page then change the link part in the code.

TEST

_______________________________________________
Life would be easier if life was Open Source!



    
This message has been edited by iorr5t on Feb 13, 2007 10:59 AM
This message has been edited by evil_chicken on Feb 6, 2007 4:48 PM
This message has been edited by evil_chicken on Feb 6, 2007 4:29 PM

Posted on Feb 6, 2007, 4:28 PM

Respond to this message   

Return to Index


*in qb: CLS: SHELL "cmd /c start http://www.network54.com/Index/10167"

by mennonite (no login)

Posted on Feb 6, 2007, 5:50 PM

Respond to this message   

Return to Index


MacQB?

by xXlennonboyXx (no login)

Do any of you know where I can download MS QuickBasic for Macintosh? I searched a bit but I only found references, not downloads. I have Macintosh emulators (BasiliskII and vMac) and I thought it might be cool to expand my horizons to Macintosh.
Thanks!

Posted on Feb 5, 2007, 2:31 PM

Respond to this message   

Return to Index


Never heard of it...Look up DOSBox on Google...

by Pete (no login)

DOSBOX makes a DOS emulator that works in APPLE and LINUX operating systems. You can then run QBasic in DOSBox.

Pete

Micro$oft Sucks!

Posted on Feb 5, 2007, 7:36 PM

Respond to this message   

Return to Index


Yeah, I have DOSBox

by xXlennonboyXx (no login)

...but not for older Macintoshes. Thanks anyway.

"Micro$oft Sucks"
No kidding.

Posted on Feb 6, 2007, 2:02 PM

Respond to this message   

Return to Index


I've been looking for Mac QuickBasic for years.

by Solitaire (Login Solitaire1)
S

I only came across a used copy on sale for over $100.

It was never free, like QB for DOS 5.

Posted on Feb 9, 2007, 3:40 PM

Respond to this message   

Return to Index


Run BASIC site, a free resource

by (no login)

Hey all. A couple of weeks ago me and my development partner put up a new interactive website called Run BASIC which allows you to create programs without installing any software on your computer. You can experiment with BASIC in a few ways. First there is a Learn tab with interactive lessons. Each lesson has code you can run and modify right in your browser. There are also some interesting example programs on the Examples tab. You can also modify these. Then there is also a Write Your Own tab where you can try creating your own program. This tab has a cool feature where you can share your code with one or more friends by email. A message is sent with a web link that takes the person straight to the code you shared in their web browser so they can try your program.

The site is free to use and has no advertising at all. We are using the technology we developed for this site as a platform to develop some powerful web programming ideas and also educational software.

This is getting a little long winded so I'll just end by saying I hope you'll check it out at http://www.runbasic.com

-Carl Gundel
http://www.runbasic.com

Posted on Feb 4, 2007, 2:03 PM

Respond to this message   

Return to Index


That's pretty cool. I'll add it to my favorites list.

by (Login ComputerGhost)
R

Posted on Feb 4, 2007, 8:52 PM

Respond to this message   

Return to Index


Here's why I might use it. (Btw, forgot asterick above)

by (Login ComputerGhost)
R

When I run a QBasic program that someone on here makes, it's a real pain. First, I have to open Notepad, paste in the code, and save it. Then I have to open QB which creates a lot of problems on XP. It takes me about 20 to 30 seconds to stabilize everything so it runs okay. That makes about 30 seconds to a minute or more to open just one simple program. It's even longer on my other computers.

I just timed how long it takes me to paste some code to your site and run it. My fastest time was 3 seconds, but 5 to 8 is more realistic.

To just view programs, I'm going to start using your website instead of QBasic. It's 10X quicker, and 10X less stressful than QBasic.

Posted on Feb 5, 2007, 9:46 PM

Respond to this message   

Return to Index


Or...you can do what I did and make a program in QB that automatically copies, pastes,...

by Pete (no login)

and runs the posted program in the IDE. That's what I do. Besides, it is unlikely that all codes used in QB will run in Liberty Basic.

Pete

Posted on Feb 5, 2007, 9:54 PM

Respond to this message   

Return to Index


Still leaves me with the stability problem. :-P

by (Login ComputerGhost)
R

Knock that 20 seconds of tweaking off w/o replacing my OS, and +20 points to ya. :-D

Posted on Feb 5, 2007, 10:33 PM

Respond to this message   

Return to Index


Hate the idea, here's why...

by Pete (no login)

I'm completely against most anything that promotes using a computer as an Internet access device. I programmed with software 10 years before the Internet became available to most people. I see know advantage to being online to program but I see a huge disadvantage in not owning the software.

If a site is to promote a trial of the software, that's not so bad. For sites that offer a limited service, like optimize or create and optimize and animated GIF, that's a neat service for those who only need limited use of such a service.

I did check out the site. I feel it is well made, easy to navigate, and professional in terms of function and appearance. For that I wish I could wish you well, but sorry, I can't.

Also, I think I tried Liberty Basic or the smaller version of it First Basic?
Maybe there was something unreasonable about creating stand-alone exes but I don't recall. I only know out of 10 Basic languages I tested, the only two I liked were QuickBasic and PowerBasic.

Pete

Posted on Feb 5, 2007, 7:50 PM

Respond to this message   

Return to Index


Dang, I hope this woudn't happen...

by (Login evil_chicken)

I was playing around with it and I got runtime error, and the my program to the print numbers 1 to 10000000000000000 only got to 5001 :(
Your program has exceeded the allowable execution time.
LOL, I wonder if you can make a game with it, online QBasic game :)

_______________________________________________
Life would be easier if life was Open Source!

Posted on Feb 5, 2007, 7:58 PM

Respond to this message   

Return to Index


Limits

by (no login)

Hi,

It has to place limits on how much output you can produce, and how much memory you can consume since it is a shared server. Otherwise it would be too easy for a malicious user to come along and take down the whole computer with a simple program like this:

a$ = "*"
for x = 1 to 1000
a$ = a$ + a$
next x

You can count very high, but you cannot print as many lines as you want. So this works:

for x = 1 to 10000000
next x
print "You counted to "; x

The limits are:
20 seconds of continuous processing (to protect against infinite loops)
10000 output items to the web page
20 minutes of session timeout

-Carl

Posted on Feb 6, 2007, 3:45 AM

Respond to this message   

Return to Index


Easy Access to Programming

by (no login)

Hey, thanks for the feedback. More than anything the Run BASIC site is meant to be an easy way for someone to get their toes wet. Since there's no software to install it's a very easy way to try BASIC out, and it doesn't matter if you use Windows, or a Mac, or Linux. It even works on my cell phone's web browser.

As for not owning the software, yeah that's true since it runs on our server. But there are pros and cons to that. Right now we're actually working on a personal license so that the software can be used when not connected to the internet, and so that people can create programs that they can host on their own web site without knowing CGI or Perl/PHP/Ruby or Apache.

The other thing that's great is the communication between us and our users. We see exactly what sorts of things people are trying to do and what is broken, so Run BASIC grows and is fixed daily. Users only need to visit the site and they're always using the latest version. We do need more documentation though. ;-)

Did you take a look at the Tiny BASIC implementation on the site?

http://runbasic.com/?_page=tinybasic.bas

Later,

-Carl Gundel
http://www.runbasic.com

Posted on Feb 6, 2007, 4:34 AM

Respond to this message   

Return to Index


I am disturbed at reading this!

by (Login Chandlerklebs)

http://www.w3schools.com/html/html_fonts.asp

It says they're going to remove the font tag!
I am mad. It's so easy to use! I don't want to have to learn CSS for something
as simple as this.

<body bgcolor="7F7F7F">
<font size=7>
<font COLOR="000000" >000</font><br>
<font COLOR="0000FF" >001</font><br>
<font COLOR="00FF00" >010</font><br>
<font COLOR="00FFFF" >011</font><br>
<font COLOR="FF0000" >100</font><br>
<font COLOR="FF00FF" >101</font><br>
<font COLOR="FFFF00" >110</font><br>
<font COLOR="FFFFFF" >111</font><br>

Posted on Feb 2, 2007, 4:58 PM

Respond to this message   

Return to Index


Umm... It has already been done...

by rpgfan3233 (Login rpgfan3233)
R

I'll use the classic example to explain why: HTML was designed for displaying data in a user-friendly way, not for giving users "eye candy". The FONT element, the BACKGROUND and BGCOLOR attributes, the WIDTH and HEIGHT attributes, the ALIGN attribute... All presentation, which belongs with CSS. I don't know why CELLPADDING/cellpadding and CELLSPACING/cellspacing haven't been removed from the TABLE/table element. After all, you can achieve close to the same effect using the 'margin' and 'padding' CSS properties on the table element...

By the way, CSS is actually easier for fonts and helps with eliminating clutter that presentational elements create in HTML markup.

Deprecated HTML markup:
<P ALIGN="RIGHT"><FONT COLOR="BLUE" FACE="COURIER NEW" SIZE="7"><B><I><U><STRIKE>Hello World!</STRIKE></U></I></B></FONT></P>

Simpler HTML markup with CSS in place of deprecated things:
<P STYLE="color: blue; font-family: 'Courier New', monospace; font-size: 36pt; font-style: italic; font-weight: bold; text-align: right; text-decoration: line-through underline">Hello World</P>

That doesn't seem "simpler" though, does it? You are basically doing the same thing with more typing, right? This is why the STYLE/style attribute is so frowned upon. It is good for one-time things, but beyond that it is useless. The real power of CSS comes from its ability to be global rather than a one-time thing like the FONT element. For example, the FONT element is used to change the way any text between its start and end tags is rendered. However, what if you had something like:
<HTML>
<HEAD>
<TITLE>Example Shopping List with deprecated HTML instead of CSS</TITLE>
</HEAD>
<BODY>
<P><FONT COLOR="RED" FACE="COURIER NEW" SIZE="5"><B>Shopping List</B></FONT></P>
<UL>
<LI><FONT COLOR="BLUE" FACE="COURIER NEW" SIZE="4">Twinkies</FONT></LI>
<LI><FONT COLOR="BLUE" FACE="COURIER NEW" SIZE="4">Bread</FONT></LI>
<LI><FONT COLOR="BLUE" FACE="COURIER NEW" SIZE="4">Butter</FONT></LI>
<LI><FONT COLOR="BLUE" FACE="COURIER NEW" SIZE="4">Milk</FONT></LI>
<LI><FONT COLOR="BLUE" FACE="COURIER NEW" SIZE="4">Eggs</FONT></LI>
</UL>
</BODY>
</HTML>

Sure you could wrap the entire code segment in a <FONT> tag, but that wouldn't be right. I mean, it works, but does it make sense to apply a font to something that isn't text? I'm talking about the list itself, not the text that is in the list. Honestly, it would be easier, cleaner and leaves the presentation out of the way, so someone reading your code can get the data part rather than a bunch of unimportant things that are in the way:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<HTML LANG="EN">
<HEAD>
<TITLE>Example Shopping List with Strict HTML and CSS</TITLE>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="TEXT/HTML; CHARSET=ISO-8859-1">
<STYLE TYPE="text/css">
<!--
li {
font-family: "Courier New", monospace;
font-size: 12pt;
color: #00f;
}
li.list_header { /* a specific class of a generic element has a higher specificity than just a generic element */
color: red;
font-size: 16pt;
font-weight: bold; /* I couldn't have used a STRONG element instead of this because it is for presentation rather than strong emphasis, which is typically rendered in bold anyway */
}
-->
</STYLE>
</HEAD>
<BODY>
<DIV ID="page_container">
<UL>
<LI CLASS="list_header">Shopping List</LI>
<LI>Twinkies</LI>
<LI>Bread</LI>
<LI>Butter</LI>
<LI>Milk</LI>
<LI>Eggs</LI>
</UL>
</DIV>
</BODY>
</HTML>

It may seem like more typing still, but if you think about it a bit more, you figure out that the BODY of a page is usually what a person wants to see. Suppose you had a really long list, perhaps a list of music albums that you own. If a list got large, CSS is much more beneficial. I code using only HTML 4.01 Strict, XHTML 1.0 Strict or XHTML 1.1. Because CSS support is shaky enough when testing in multiple browsers, I use one of those doctypes to avoid having more issues with cross-browser rendering than are necessary. I follow the standards as much as possible. From time to time, it is necessary to use Intergnat Exploder's conditional comments feature to fix pages in IE, but it is a useful feature and doesn't require exploiting bugs in the CSS parser.

Posted on Feb 2, 2007, 11:23 PM

Respond to this message   

Return to Index


I was just doing my favorite 8 colors.

by (Login Chandlerklebs)

I do agree that for anything much bigger than that,some other method would be better.
As long as it's working I'll use it. That 8 colors HTML really does look cool.
I'm gonna have it on my server sometime.

Posted on Feb 3, 2007, 1:26 AM

Respond to this message   

Return to Index


*and by the way, how gay is that?

by sulu (no login)

Posted on Feb 3, 2007, 5:19 PM

Respond to this message   

Return to Index


Not "going to remove it"

by (Premier Login iorr5t)
Forum Owner

It appeared to just say that it is "depreciated", meaning someday you will be flamed if you use it, but my guess is that it will work forever. There are too many sites coded the old way for anyone to refuse to honor the font.

But opinions about that aside, I was very impressed with the sites teaching method of allowing you to easily patch stuff on the left and click and see what it does.

AND they didn't require Java! So I could run in my usual non-trusting mode.

My old method was to have a notepad open in one window and the html from the same file in another. I would make a change in notepad and do SAVE and then do REFRESH. Their site made this much easier.

Mac

Posted on Feb 3, 2007, 1:32 PM

Respond to this message   

Return to Index


Well, that is true technically.

by rpgfan3233 (Login rpgfan3233)
R

Deprecated elements and attributes aren't actually removed completely, though it is frowned upon if you use them. It is like somebody using MS-DOS as a primary OS even though the computer they are using can run Windows Vista. Why use the old stuff if the new stuff is better (single-tasking or multitasking... which is better?), and you can use the new stuff, right?

XHTML 1.1[1] is a module-based XML reformulation of HTML and conforms to the Modularization of XHTML W3C Recommendation (2001-04-10)[2]. Here is an excerpt from the XHTML 1.1 Driver[3]:

**** BEGIN Code Segment ****
<!-- Legacy Markup ............................................... -->
<!ENTITY % xhtml-legacy.module "IGNORE" >
<![%xhtml-legacy.module;[
<!ENTITY % xhtml-legacy.mod
PUBLIC "-//W3C//ELEMENTS XHTML Legacy Markup 1.0//EN"
"http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-legacy-1.mod" >
%xhtml-legacy.mod;]]>
**** END Code Segment ****

Of course, it is not a MOD file for use in audio players that can handle MOD files. It is simply a part of a driver, acting similar to an $INCLUDE in QBASIC.

The Modularization of XHTML provides the Legacy Module[4] referenced in the segment of the XHTML 1.1 Driver shown above. Note that it says '<!ENTITY % xhtml-legacy.module "IGNORE" >', where "IGNORE" would be "INCLUDE" if it was able to be used. To use it, you must include it yourself in a DTD that you create. In fact, you could theoretically copy the entire XHTML 1.1 Driver, change "IGNORE" to "INCLUDE" for that part, and it would be perfectly valid.

Short version: deprecated does not mean "removed", but it does mean "outdated". Certain elements and attributes are deprecated due partially to the fact that keeping them would mean that CSS would basically be duplicating the behavior of the elements and attributes, but in a different syntax. After all, why have something that is outdated used in place of something that is much more flexible?

[1] - http://www.w3.org/TR/xhtml11/
[2] - http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/
[3] - http://www.w3.org/TR/xhtml11/xhtml11_dtd.html#a_xhtml11_driver
[4] - http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_legacymodule

Posted on Feb 3, 2007, 4:11 PM

Respond to this message   

Return to Index


LOLOLOL

by (Login Chandlerklebs)

"It is like somebody using MS-DOS as a primary OS even though the computer they are using can run Windows Vista. Why use the old stuff if the new stuff is better (single-tasking or multitasking... which is better?"


New stuff isn't better all the time. DOS is indeed better for binary counting programs
but Windows and Linux can let me multitask.

Though I'm sticking with what I'm used to. Vista isn't an option for me and
I'm using a no longer supported version of Ubuntu .

So my WinXP and Ubuntu 5.10 are server my simple needs very well.

and the old deprecated HTML is in my favor as well as I am not designing a site!
I'm just making silly things that I like.

BTW,the old HTML ways are easier to change with Javscript injections. :D

Posted on Feb 3, 2007, 4:42 PM

Respond to this message   

Return to Index


* Give me an example where JS injections are easier with deprecated markup...

by rpgfan3233 (Login rpgfan3233)
R

Posted on Feb 3, 2007, 4:52 PM

Respond to this message   

Return to Index


Well,I tried to change the text color on different sites with javascript injection.

by (Login Chandlerklebs)

However,on the sites which got their colors from CSS,it wasn't working!
However,on the HTML pages that I had written,the javascript injections of background
and text worked.

I'll give you a perfect example. Go here

http://chandlerprogramming.50webs.com/JSinject.html

Then inject this to change the text blue

javascript:void(document.fgColor='#0000FF');

Or you can change the background red like this!

javascript:void(document.body.bgColor='#FF0000');

It works fine on that page!

However,it will not work on pages that depend upon CSS such as

http://www.50webs.com/

A quick view source of that page shows

<link href="/css/50webs_style.css" rel="stylesheet" type="text/css">

It gets it's colors from CSS which makes javascript unable to overwrite it.
That's when I started disliking CSS.

Posted on Feb 3, 2007, 6:58 PM

Respond to this message   

Return to Index


It isn't that hard really...

by rpgfan3233 (Login rpgfan3233)
R

javascript:void(document.fgColor='#0000FF');
javascript:void(document.body.style.color='#0000FF');

Same thing, unless XHTML is served up properly, in which case Firefox (not sure about Opera) properly only applies it to the body and not the root element (document.documentElement usually refers to <html>). In such a case, you might also use document.documentElement.style.color as well to take care of that as Firefox puts some margin there if I remember correctly.


javascript:void(document.body.bgColor='#FF0000');
javascript:void(document.body.style.backgroundColor='#FF0000');

That does the same thing. Again, the same is true when XHTML is properly handled.


Welcome to the world of Web standards. It is like the a version of MinGW gcc/g++ allowing kbhit() to be available for C but not for C++, even though kbhit() isn't a standard C function (hint: conio.h). In fact, I think I even compiled with the -ansi flag and it still let it go... Anyway, my point is that you have to deal with the quirks. ;-)

By the way, if you use <FONT COLOR="#0000FF" STYLE="color:#FF0000">Hello World!</FONT> in a page, the CSS will override the HTML. ;-) I don't know why it is the way it is, but I like it.

Posted on Feb 3, 2007, 8:08 PM

Respond to this message   

Return to Index


*not if you like crap

by mennonite (no login)

Posted on Feb 3, 2007, 8:47 PM

Respond to this message   

Return to Index


*Thanks for that info. I'm gonna need to add this.

by (Login Chandlerklebs)

Posted on Feb 3, 2007, 10:39 PM

Respond to this message   

Return to Index


re: " it is frowned upon if you use them. "

by mennonite (no login)

i frown on your public fellating of css. why would i read all that crap you posted from w3c... if i'm going to learn ALL THAT, just to make things easier, i'll write all my web documnents and compile them in gcc!

Give+me+an+example+where+JS+injections+are+easier+with+deprecated+markup...
ALMOST EVERYTHING is easier in deprecated markup! except adding attribs to table cells, and some famcy stuff that applies to professional development, but not to everyone that makes personal sites- css is great for pro's... but not good for kids, n00bs, and mac- to them it's almost useless. f*** the w3c! opera and firefox can't even implement all their CRAP, and ie just doesnt care! P.S. NEITHER CAN the w3c's own amaya, jesus!

Posted on Feb 3, 2007, 5:26 PM

Respond to this message   

Return to Index


I have started disliking the w3c

by (Login Chandlerklebs)

I have a general dislike of any organization with too much power.

As far as I can say,the people of the Ubuntu and FreeDOS projects are the only worthwhile
groups.

and some people say,"but M$ made DOS!"

and as we know,they really didn't!

I am currently useing firefox as a browser,but I've seriously been paranoid that
it's taking too much RAM.

I even thought about making my own web browser,but I wouldn't know how to do that!

Actually,haven't people like CG been writing chat clients for the QBasic chat?
Or,are there lots of programs that could be used?

Maybe there is a way to chat without even loading a browser!

BTW,I have a primes program running that I wrote in DOS ASM.
It's making things run very slowly!

Posted on Feb 3, 2007, 7:08 PM

Respond to this message   

Return to Index


*heh @ too much power. cg's client doesn't need a browser.

by mennonite (no login)

Posted on Feb 3, 2007, 7:44 PM

Respond to this message   

Return to Index


*I'm gonna have to learn how CG's client works.

by (Login Chandlerklebs)

Posted on Feb 3, 2007, 10:48 PM

Respond to this message   

Return to Index


I actually use a browser.

by (Login ComputerGhost)
R

I have a Chat class in C++ that can interface with the chatroom without using a browser though. The source files total at about 7KB.

I'll email them to whoever wants them as long as they're someone I can trust not to use them to mess stuff up -- basically anyone who is a regular in the chatroom is free to have them.

Posted on Feb 4, 2007, 8:49 PM

Respond to this message   

Return to Index


(URL*) hehe. Hope you haven't seen how powerful Google has become. "#1 search engine" lol

by rpgfan3233 (Login rpgfan3233)
R

http://masterplanthemovie.com/

Posted on Feb 3, 2007, 8:13 PM

Respond to this message   

Return to Index


*no kidding... big brother's older, bigger brother.

by mennonite (no login)

Posted on Feb 3, 2007, 8:34 PM

Respond to this message   

Return to Index


Incredible.

by (Login Chandlerklebs)

Well,as far as that goes,I somehow don't think that even if they are collecting
information about me,what would they DO with all that binary and
pictures of my bald head?

As long as you have nothing to hide,privacy doesn't matter!

Posted on Feb 3, 2007, 10:55 PM

Respond to this message   

Return to Index


re: "As long as you have nothing to hide,privacy doesn't matter!"

by mennonite (no login)


well that's an interesting take on it chandler, if a very old-fashioned, and fascist one.

i won't criticise your political naivete, only that if what you said was true, there would have been no holocaust, princess diana wouldn't have been killed by paparazzi, and innocent people wouldn't go to jail in the numbers that they do. but there was, she was, and they do.

all freedom is held up first by the freedom of speech and press, second by the freedom of assembly, and any of these foundations are threatened when privacy is lost. other than that, i'll ignore your careless thinking, because what's the point of arguing with you? not much, unless you figure it out.

and yet, the loss of privacy is the destruction of freedom. whether freedom matters, well, it would have mattered to them.

Posted on Feb 4, 2007, 8:28 AM

Respond to this message   

Return to Index


You don't have a leg to stand on.

by (Login Chandlerklebs)

>well that's an interesting take on it chandler, if a very old-fashioned, and fascist one.

wikipedia says
"The word "fascist" is often used pejoratively, a label used by people of all political views to draw criticism upon an opposing viewpoint. This has spilled over into debates concerning the ideological nature of fascism, with adherents of some ideologies trying to draw parallels between fascism and their own ideological opponents."

>i won't criticise your political naivete, only that if what you said was true, there would have been >no holocaust, princess diana wouldn't have been killed by paparazzi, and innocent people wouldn't go >to jail in the numbers that they do. but there was, she was, and they do.

It's not a lack of privacy that kills people. It's people that decide to kill people

>all freedom is held up first by the freedom of speech and press, second by the freedom of assembly, >and any of these foundations are threatened when privacy is lost. other than that, i'll ignore your >careless thinking, because what's the point of arguing with you? not much, unless you figure it out.

Freedom of speech? Oh yeah,everybody has the freedom of speech,but just
because of the stupidity of this world,they will get killed for what they say.

>and yet, the loss of privacy is the destruction of freedom. whether freedom matters, well, it would >have mattered to them.

Dude, people are out to destroy your freedom. They will use any means to do so .

Don't say

"the loss of privacy is the destruction of freedom"

That sounds like

the loss of privacy == destruction of freedom

They are not the same thing.

Of course you'll still disagree with me on this,but I have my freedom of post!

Posted on Feb 4, 2007, 1:20 PM

Respond to this message   

Return to Index


Mac, please delete Chandler's post....

by Pete (no login)

;-) Just kidding, but when you two get finished solving the world's problems, let me know, I'm working on a whole after-life issue you might be able to help me out with.

It does bug me how freedom likes to disappear in this country the minute a couple of buildings come down. I always thought that is what we're supposed to be protecting; However, But I don't know how I'd feel if my wife was in one of those buildings when it happened. Ideology and reality are often not best of friends.

Now Jesus said, "Turn the other cheek." I've always found a right-cross accomplishes that nicely...but I think he was talking some pacifist ideology. I'd like to consider it, but let's face it, he was just visiting and still lives with his folks. I was more ideological in those days, too.

Pete

Posted on Feb 4, 2007, 1:40 PM

Respond to this message   

Return to Index


i've seen plenty of legs, chandler, piles of false legs, even

by mennonite (no login)

go to the freaking holocaust museum. there's a display of just piles and piles of shoes from jews that were gassed and shot to death in interment camps.

piles of prosthetic legs from people that were no longer using them because they were burned in ovens and buried in mass graves.

what did they have to hide? all they were doing was being jewish.

and why did they die? because some fascists decided to blame all the world's ills on them, and decided freedom and humanity just wasn't as important as fixing the economy.

you know how they found them, chandler? ibm helped them sort out every jewish person using punch card machines. everyone jew had to register with a database, and they kept the database for a while, until everyone was rounded up, short, or taken to death camps.

yeah, chandler, there's a little database like that now, for every american and half the people on the planet, and no one thinks it's important because nazi's will never try to take over the planet again.

how the hell do you know so much anyway? you don't even take anything seriously. use your head to do more than add and subtract, you might learn something.

the rest of us do occasionally get concerned when we (knowing that the 4th article of the bill of rights says we have a RIGHT to not be searched without a warrant) see people saying... hey, the world sucks because [oversimplified, half-invented reason] and then some stupid nazi asshole says "yeah but, if you have nothing to hide, you don't need privacy!"

people need privacy the for the same reason they need locks on their doors- so bad people don't take advatange of us, we have to have SOMETHING that's just ours. room to think, room to live, room left undisturbed- room that is ours and doesn't belong to rulers. it has nothing to do with who has what to hide.

so if you're not going to think, don't talk. you may have the right, but you're an idiot if don't think, and you're proving it when you type the kind of mindless crap you did.

i wasn't saying, x=y. i was saying y depends on x; remove x, and y falls down. the rest of my retort would have *really* shut up your nonsense, but it's too mean to say. think harder, next time, eh? jesus christ.

Posted on Feb 4, 2007, 5:33 PM

Respond to this message   

Return to Index


I'm afraid that I agree with you, menn.

by rpgfan3233 (Login rpgfan3233)
R

Why do we need privacy? Suppose you were depositing money into a savings account at the bank. If someone is too close to you when you give the teller your bank or ATM card, he/she could take a picture of the card with a camera phone. If the card can be used as a credit card, .... eBay, Amazon.com, etc. could charge your account for something that someone else bought, meaning that you could go into debt without having spent a penny. The situation could get pretty bad from there. You would probably end up trying to tell someone that you aren't who you are. By that, I mean that you would say you didn't buy anything, even though it was your card. The problem with such a situation is that you still have the card, making it harder to believe you.

I don't like to say it, but it is true. No matter how nice you are to others, there is always that sneaky devil that can ruin your life, even if you never know about it.

Posted on Feb 4, 2007, 8:23 PM

Respond to this message   

Return to Index


Agreed on that.

by (Login Chandlerklebs)

There are those who abuse this.

For example. The problem is not "google is spying on us" .
The problem is "why are they spying on us" .

The bad intentions come long before any type of action.
That is where the problem lies.

Posted on Feb 4, 2007, 8:59 PM

Respond to this message   

Return to Index


This isn't about me.

by (Login Chandlerklebs)

Look, I have not killed anybody or invaded somebody's privacy that I know of.
I said that there are people who do. I did not point to a government,religion,race,etc.

People don't need to invade your privacy if they want to kill you!
All they gotta do is drop bombs on everybody. Chances are,you'll be 1 of them.

People in leadership often get targeted though. So just don't become too important. j/k

Posted on Feb 4, 2007, 8:50 PM

Respond to this message   

Return to Index


*They are turning your monitor into a Webcam. They see you when you are nude in the shower

by rpgfan3233 (Login rpgfan3233)
R

j/k

Posted on Feb 4, 2007, 1:19 PM

Respond to this message   

Return to Index


To accomplish that, you must assume that all of us program on the can.

by Pete (no login)

Which side of the tower drive did you attach the 'roll' to?

Pete

P.S. I do agree with Mac that the goal is to make all computers Internet devices, and not make 'PC's.' anymore.

Posted on Feb 4, 2007, 1:46 PM

Respond to this message   

Return to Index


* Who said we have to program on the can when we can chat while showering? *zap*

by rpgfan3233 (Login rpgfan3233)
R

Posted on Feb 5, 2007, 3:04 PM

Respond to this message   

Return to Index


attention ComputerGhost!

by (Login Chandlerklebs)

I have studied the jumps in 16 bit mode.
These follow a pattern! Look at this then scroll down to see my explanation.

00000000 0F800000 jo near 0x4
00000004 0F810000 jno near 0x8
00000008 0F820000 jc near 0xc
0000000C 0F830000 jnc near 0x10
00000010 0F840000 jz near 0x14
00000014 0F850000 jnz near 0x18
00000018 0F860000 jna near 0x1c
0000001C 0F870000 ja near 0x20
00000020 0F880000 js near 0x24
00000024 0F890000 jns near 0x28
00000028 0F8A0000 jpe near 0x2c
0000002C 0F8B0000 jpo near 0x30
00000030 0F8C0000 jl near 0x34
00000034 0F8D0000 jnl near 0x38
00000038 0F8E0000 jng near 0x3c
0000003C 0F8F0000 jg near 0x40
00000040 7000 jo 0x42
00000042 7100 jno 0x44
00000044 7200 jc 0x46
00000046 7300 jnc 0x48
00000048 7400 jz 0x4a
0000004A 7500 jnz 0x4c
0000004C 7600 jna 0x4e
0000004E 7700 ja 0x50
00000050 7800 js 0x52
00000052 7900 jns 0x54
00000054 7A00 jpe 0x56
00000056 7B00 jpo 0x58
00000058 7C00 jl 0x5a
0000005A 7D00 jnl 0x5c
0000005C 7E00 jng 0x5e
0000005E 7F00 jg 0x60
00000060 E000 loopne 0x62
00000062 E100 loope 0x64
00000064 E200 loop 0x66
00000066 E300 jcxz 0x68
00000068 E90000 jmp 0x6b
0000006B EA00000000 jmp 0x0:0x0
00000070 EB00 jmp short 0x72
00000072 FFE0 jmp ax
00000074 FFE1 jmp cx
00000076 FFE2 jmp dx
00000078 FFE3 jmp bx
0000007A FFE4 jmp sp
0000007C FFE5 jmp bp
0000007E FFE6 jmp si
00000080 FFE7 jmp di


I can not explain all the conditional jumps. This is about machine code,you
are supposed to learn about flags elsewhere.

I will tell you how the unconditional jmp works.


Normally,a program starts at a memory location.
When disassembling a file however,this location is always assumed to be the same
as the offset of the file.

So,supposing that a program DID start at location 0.
You could enter the first instruction.

You could for example,jmp to location 0x3232 .

Here's what happens in machine code.

00000000 E92F32 jmp 0x3232

Now why would that jump to 0x3232 when the integer in the bytecode is 322F ?

Well,you have to consider the offsets!

00 E9
01 2F
02 32
03 could be anything

The jumps are relative! For example,no matter what was at offset 00000003,it
will be ignored because the last instruction was a jump!

think about it,in hexadecimal

0003 + 322F = 3232

So,what's actually happening is that it's adding to the IP(instruction pointer).

Adding the negative form will have the effect of jumping backwards as it would
subtract!

Posted on Feb 2, 2007, 4:33 PM

Respond to this message   

Return to Index


Post containts quote from the NASM documentation:

by (Login MCalkins)
R

B.4.130 `JMP': Jump

JMP imm ; E9 rw/rd [8086]
JMP SHORT imm ; EB rb [8086]
JMP imm:imm16 ; o16 EA iw iw [8086]
JMP imm:imm32 ; o32 EA id iw [386]
JMP FAR mem ; o16 FF /5 [8086]
JMP FAR mem32 ; o32 FF /5 [386]
JMP r/m16 ; o16 FF /4 [8086]
JMP r/m32 ; o32 FF /4 [386]

`JMP' jumps to a given address. The address may be specified as an
absolute segment and offset, or as a relative jump within the
current segment.

`JMP SHORT imm' has a maximum range of 128 bytes, since the
displacement is specified as only 8 bits, but takes up less code
space. NASM does not choose when to generate `JMP SHORT' for you:
you must explicitly code `SHORT' every time you want a short jump.

You can choose between the two immediate far jump forms
(`JMP imm:imm') by the use of the `WORD' and `DWORD' keywords:
`JMP WORD 0x1234:0x5678') or `JMP DWORD 0x1234:0x56789abc'.

The `JMP FAR mem' forms execute a far jump by loading the
destination address out of memory. The address loaded consists of 16
or 32 bits of offset (depending on the operand size), and 16 bits of
segment. The operand size may be overridden using `JMP WORD FAR mem'
or `JMP DWORD FAR mem'.

The `JMP r/m' forms execute a near jump (within the same segment),
loading the destination address out of memory or out of a register.
The keyword `NEAR' may be specified, for clarity, in these forms,
but is not necessary. Again, operand size can be overridden using
`JMP WORD mem' or `JMP DWORD mem'.

As a convenience, NASM does not require you to jump to a far symbol
by coding the cumbersome `JMP SEG routine:routine', but instead
allows the easier synonym `JMP FAR routine'.

The `CALL r/m' forms given above are near calls; NASM will accept
the `NEAR' keyword (e.g. `CALL NEAR [address]'), even though it is
not strictly necessary.

Posted on Feb 2, 2007, 4:54 PM

Respond to this message   

Return to Index


and another

by (Login MCalkins)
R

B.2 Key to Opcode Descriptions

This appendix also provides the opcodes which NASM will generate for
each form of each instruction. The opcodes are listed in the
following way:

(*) A hex number, such as `3F', indicates a fixed byte containing
that number.

(*) A hex number followed by `+r', such as `C8+r', indicates that
one of the operands to the instruction is a register, and the
`register value' of that register should be added to the hex
number to produce the generated byte. For example, EDX has
register value 2, so the code `C8+r', when the register operand
is EDX, generates the hex byte `CA'. Register values for
specific registers are given in section B.2.1.

(*) A hex number followed by `+cc', such as `40+cc', indicates that
the instruction name has a condition code suffix, and the
numeric representation of the condition code should be added to
the hex number to produce the generated byte. For example, the
code `40+cc', when the instruction contains the `NE' condition,
generates the hex byte `45'. Condition codes and their numeric
representations are given in section B.2.2.

(*) A slash followed by a digit, such as `/2', indicates that one of
the operands to the instruction is a memory address or register
(denoted `mem' or `r/m', with an optional size). This is to be
encoded as an effective address, with a ModR/M byte, an optional
SIB byte, and an optional displacement, and the spare (register)
field of the ModR/M byte should be the digit given (which will
be from 0 to 7, so it fits in three bits). The encoding of
effective addresses is given in section B.2.5.

(*) The code `/r' combines the above two: it indicates that one of
the operands is a memory address or `r/m', and another is a
register, and that an effective address should be generated with
the spare (register) field in the ModR/M byte being equal to the
`register value' of the register operand. The encoding of
effective addresses is given in section B.2.5; register values
are given in section B.2.1.

(*) The codes `ib', `iw' and `id' indicate that one of the operands
to the instruction is an immediate value, and that this is to be
encoded as a byte, little-endian word or little-endian
doubleword respectively.

(*) The codes `rb', `rw' and `rd' indicate that one of the operands
to the instruction is an immediate value, and that the
_difference_ between this value and the address of the end of
the instruction is to be encoded as a byte, word or doubleword
respectively. Where the form `rw/rd' appears, it indicates that
either `rw' or `rd' should be used according to whether assembly
is being performed in `BITS 16' or `BITS 32' state respectively.

(*) The codes `ow' and `od' indicate that one of the operands to the
instruction is a reference to the contents of a memory address
specified as an immediate value: this encoding is used in some
forms of the `MOV' instruction in place of the standard
effective-address mechanism. The displacement is encoded as a
word or doubleword. Again, `ow/od' denotes that `ow' or `od'
should be chosen according to the `BITS' setting.

(*) The codes `o16' and `o32' indicate that the given form of the
instruction should be assembled with operand size 16 or 32 bits.
In other words, `o16' indicates a `66' prefix in `BITS 32'
state, but generates no code in `BITS 16' state; and `o32'
indicates a `66' prefix in `BITS 16' state but generates nothing
in `BITS 32'.

(*) The codes `a16' and `a32', similarly to `o16' and `o32',
indicate the address size of the given form of the instruction.
Where this does not match the `BITS' setting, a `67' prefix is
required.

Posted on Feb 2, 2007, 4:58 PM

Respond to this message   

Return to Index


I had noticed some of those things.

by (Login Chandlerklebs)

Although it probably would take less time to explain these things than
to be listing them, I make these text files for a great use.

Like,suppose all I need is 1 instruction. If I have my text file,I can
use a text editor with a find feature and find what I need.

I do this because it allows me to disassemble sections of a file manually!
Time consuming,but you know I'm the guy who does the senseless things like that
because it keeps my mind sharp to have to think.

I actually probably have the knowledge to make a Hello World program in DOS with only
a hex editor. Actually,I haven't listed the addressing modes,but I like using STOSB .

Did you know you could write an entire program never using immediate values?
You can XOR a register to make sure its 0 and then you can increment it and do operations
using only registers.

Like,supposing you need ah to be nine you can do this!

xor cl,cl
inc cl
mov ah,cl
inc cl
inc cl
shl ah,cl
inc ah

ah would equal nine 1001 binary
That would work because cl can be used to specify the shifts!

Of course, doing

mov ah,9

would be easier,but hey,I like to think about the possibilities!

Posted on Feb 2, 2007, 8:17 PM

Respond to this message   

Return to Index


I don't actually use NASM.

by (Login Chandlerklebs)

I tried NASM before but soon just found FASM to work better.

I DO however use ndisasm which came with it. It's how I got that list.

I had to assemble these instructions with FASM,then disassemble with ndisasm to get the
bytecodes.

It took time,but it helped be understand jumps better.

My new knowledge of this stuff could possibly allow me to hex edit programs and
change the jumps. They are more complex than other things like MOV.

I wrote a decimal output routine recently for DOS ASM. I finally
learned to use DIV to get the modulus so I can make a string of decimal.
I thought it would be of some use to somebody,but I'll probably be using my binary
routine for myself.

Posted on Feb 2, 2007, 5:12 PM

Respond to this message   

Return to Index


Thanks for the info.

by (Login ComputerGhost)
R

"00000070 EB00 jmp short 0x72" is about what I was wondering about. Thank you. Your explanations have helped me to understand why it goes to 72 instead of 00.

I haven't had time to think on the other parts of your posts, but I'll do that later this week when I have more time.



    
This message has been edited by ComputerGhost on Feb 4, 2007 10:44 PM

Posted on Feb 4, 2007, 10:39 PM

Respond to this message   

Return to Index


an html-related story, for pete

by mennonite (no login)


in truecolor graphics, each of the literally millions of colors are represented by three values, each between 0-255, inclusive.

a true grey color then (vs. grey-ISH...) would be the same value repeated thrice, for red, green, blue.

so i'm trying to match a background to a graphical template element, actually the other way around, but that fails since .gif can only do 256 colors. the background wasn't in the palette. the options are alter the palette or change the background. since i'm being lazy, and it's not a big deal (the difference is a minor one) i decided to take the easy way and change the background, even though it's stupid.

so i find the value of the background i'm matching... in html you use hex, some graphics editors (including the one i'm using) only do decimal. so i get the decimal value, 222 (x 3, grey.) and then i put this into a calculator to get the hex value: #dedede (sh** you not :)

Posted on Feb 2, 2007, 9:49 AM

Respond to this message   

Return to Index


*I would code it in CSS just to avoid that! -LOL ;-)

by Pete (no login)

Posted on Feb 2, 2007, 11:17 AM

Respond to this message   

Return to Index


*html3: bgcolor="#dedede" css: style="background-color: dedede;"

by mennonite (no login)

Posted on Feb 2, 2007, 6:44 PM

Respond to this message   

Return to Index


*Or since it is so close to #dddddd, you could just use "background-color: #ddd" in CSS...

by rpgfan3233 (Login rpgfan3233)
R

Posted on Feb 2, 2007, 11:25 PM

Respond to this message   

Return to Index


and here's why you can't...

by mennonite (no login)

1. they are background colors, and e0e0e0 which is half as close (+2 vs +1) as dddddd is, and you can see e0e0e0 against dedede pretty clearly as a background. it creates the appearace if a seam. you can bet dddddd would have the same effect against dedede.

2. why the hell would i use ddd to represent hex dddddd? they're not the same number at all... if anything ddd should be d0d0d0... so i'm doing this mathematically (and to those that know real html :P) confusing thing why, tosave typing three letters? yeah, so if that's so, explain why bgcolor becomes background-color? to save typing again, right?

your fake language makes no goddamned sense, retarded monkeys leftover from an experiment on crack addiction could have done better, and *andre v1ctor* could have done ALMOST as well as them! my advice: when you peddle CSS, call it FBCSS, so people have some warning, and failing that, how about CSSD,D,D?!

3. nothing personal. CSS JUST F***ING SUCKS. it has a few advantages worth adding to html (for people that don't wish it was more like php or PERL in difficulty level)... other than that, it blows goats. no point listening to your religious blather all day long without a second perspective.

4. (imo)

Posted on Feb 3, 2007, 5:38 PM

Respond to this message   

Return to Index


Thinking more along the lines of: <body style="background-color: rgb(222, 222, 222);"&g

by Pete (no login)

Posted on Feb 4, 2007, 2:14 PM

Respond to this message   

Return to Index


Funny, the above didn't post right. Must be a cut and paste problem...here:

by Pete (no login)

<body style="background-color: rgb(222, 222, 222);">

Posted on Feb 4, 2007, 2:16 PM

Respond to this message   

Return to Index


For those who want a preview of my project.

by (Login Chandlerklebs)

http://www.gamedesignnovice.com/forum/index.php?topic=354.0

You should see a sample there of my list.

There may come a time when I'll actually explain what the code does,but before that I have to get the
complete list.

I imagine I may have everything for 16 bit within 2 weeks.
Then there's 32 bit mode which will be much in demand as We're in a 32 bit mode
world with Windows and Linux.

Then,I can't even imagine if there was a 64 bit mode.

Just so you know,32 bit mode is always bloated compared to 16 bit.
On the other hand,if you need more memory than the 64KB limit,then 32 bit is the way to go.

Posted on Jan 31, 2007, 2:25 AM

Respond to this message   

Return to Index


Tell me when you get to jmp. ;-)

by (Login ComputerGhost)
R

There's something I want to look for/at, but I just don't have time to format all the jmp instructions nice and neatly like you do.

Btw, what are you going to use all those machine language codes and mnemonics for?



    
This message has been edited by ComputerGhost on Jan 31, 2007 3:40 PM

Posted on Jan 31, 2007, 3:40 PM

Respond to this message   

Return to Index


I use them to hex edit code of programs.

by (Login Chandlerklebs)

I am having a REALLY hard time with this stuff.
It's more than my time and hard disk allow.

However,since you want the jmp instructions so bad.
I could possibly do them before other things if you want.

Did you need 16 bit or 32 bit jmps?

BTW,I know the basis of the jmp instructions. It's actually a form of addition or subtraction
from the IP(instruction pointer). IP is not accessable with MOV like most are.

So,email me and tell me what exactly you need.
I can then try to give you a list as soon as I find the time!

I don't have that much time really,but I like doing it so much that I don't sleep!

Posted on Feb 1, 2007, 4:46 PM

Respond to this message   

Return to Index


Take your time. I'm not in a hurry.

by (Login ComputerGhost)
R

I've been wondering about the jmp instructions for a few weeks, but it isn't part of a project, so I'll wait until you get to them. ;-)

Posted on Feb 1, 2007, 4:50 PM

Respond to this message   

Return to Index


OK. Thanks.

by (Login Chandlerklebs)

See,this is meant as a purpose for my hex editing things.

Eventually suppose,that I need to hex edit a program that involves jumps.
Then,I'm going to need those bytecodes for myself anyway!
When I do,I'll let you know first.BTW,

here is every single 16 bit add from register to register.

00000000 00C0 add al,al
00000002 00C1 add cl,al
00000004 00C2 add dl,al
00000006 00C3 add bl,al
00000008 00C4 add ah,al
0000000A 00C5 add ch,al
0000000C 00C6 add dh,al
0000000E 00C7 add bh,al
00000010 00C8 add al,cl
00000012 00C9 add cl,cl
00000014 00CA add dl,cl
00000016 00CB add bl,cl
00000018 00CC add ah,cl
0000001A 00CD add ch,cl
0000001C 00CE add dh,cl
0000001E 00CF add bh,cl
00000020 00D0 add al,dl
00000022 00D1 add cl,dl
00000024 00D2 add dl,dl
00000026 00D3 add bl,dl
00000028 00D4 add ah,dl
0000002A 00D5 add ch,dl
0000002C 00D6 add dh,dl
0000002E 00D7 add bh,dl
00000030 00D8 add al,bl
00000032 00D9 add cl,bl
00000034 00DA add dl,bl
00000036 00DB add bl,bl
00000038 00DC add ah,bl
0000003A 00DD add ch,bl
0000003C 00DE add dh,bl
0000003E 00DF add bh,bl
00000040 00E0 add al,ah
00000042 00E1 add cl,ah
00000044 00E2 add dl,ah
00000046 00E3 add bl,ah
00000048 00E4 add ah,ah
0000004A 00E5 add ch,ah
0000004C 00E6 add dh,ah
0000004E 00E7 add bh,ah
00000050 00E8 add al,ch
00000052 00E9 add cl,ch
00000054 00EA add dl,ch
00000056 00EB add bl,ch
00000058 00EC add ah,ch
0000005A 00ED add ch,ch
0000005C 00EE add dh,ch
0000005E 00EF add bh,ch
00000060 00F0 add al,dh
00000062 00F1 add cl,dh
00000064 00F2 add dl,dh
00000066 00F3 add bl,dh
00000068 00F4 add ah,dh
0000006A 00F5 add ch,dh
0000006C 00F6 add dh,dh
0000006E 00F7 add bh,dh
00000070 00F8 add al,bh
00000072 00F9 add cl,bh
00000074 00FA add dl,bh
00000076 00FB add bl,bh
00000078 00FC add ah,bh
0000007A 00FD add ch,bh
0000007C 00FE add dh,bh
0000007E 00FF add bh,bh
00000080 01C0 add ax,ax
00000082 01C1 add cx,ax
00000084 01C2 add dx,ax
00000086 01C3 add bx,ax
00000088 01C4 add sp,ax
0000008A 01C5 add bp,ax
0000008C 01C6 add si,ax
0000008E 01C7 add di,ax
00000090 01C8 add ax,cx
00000092 01C9 add cx,cx
00000094 01CA add dx,cx
00000096 01CB add bx,cx
00000098 01CC add sp,cx
0000009A 01CD add bp,cx
0000009C 01CE add si,cx
0000009E 01CF add di,cx
000000A0 01D0 add ax,dx
000000A2 01D1 add cx,dx
000000A4 01D2 add dx,dx
000000A6 01D3 add bx,dx
000000A8 01D4 add sp,dx
000000AA 01D5 add bp,dx
000000AC 01D6 add si,dx
000000AE 01D7 add di,dx
000000B0 01D8 add ax,bx
000000B2 01D9 add cx,bx
000000B4 01DA add dx,bx
000000B6 01DB add bx,bx
000000B8 01DC add sp,bx
000000BA 01DD add bp,bx
000000BC 01DE add si,bx
000000BE 01DF add di,bx
000000C0 01E0 add ax,sp
000000C2 01E1 add cx,sp
000000C4 01E2 add dx,sp
000000C6 01E3 add bx,sp
000000C8 01E4 add sp,sp
000000CA 01E5 add bp,sp
000000CC 01E6 add si,sp
000000CE 01E7 add di,sp
000000D0 01E8 add ax,bp
000000D2 01E9 add cx,bp
000000D4 01EA add dx,bp
000000D6 01EB add bx,bp
000000D8 01EC add sp,bp
000000DA 01ED add bp,bp
000000DC 01EE add si,bp
000000DE 01EF add di,bp
000000E0 01F0 add ax,si
000000E2 01F1 add cx,si
000000E4 01F2 add dx,si
000000E6 01F3 add bx,si
000000E8 01F4 add sp,si
000000EA 01F5 add bp,si
000000EC 01F6 add si,si
000000EE 01F7 add di,si
000000F0 01F8 add ax,di
000000F2 01F9 add cx,di
000000F4 01FA add dx,di
000000F6 01FB add bx,di
000000F8 01FC add sp,di
000000FA 01FD add bp,di
000000FC 01FE add si,di
000000FE 01FF add di,di
00000100 02C0 add al,al
00000102 02C1 add al,cl
00000104 02C2 add al,dl
00000106 02C3 add al,bl
00000108 02C4 add al,ah
0000010A 02C5 add al,ch
0000010C 02C6 add al,dh
0000010E 02C7 add al,bh
00000110 02C8 add cl,al
00000112 02C9 add cl,cl
00000114 02CA add cl,dl
00000116 02CB add cl,bl
00000118 02CC add cl,ah
0000011A 02CD add cl,ch
0000011C 02CE add cl,dh
0000011E 02CF add cl,bh
00000120 02D0 add dl,al
00000122 02D1 add dl,cl
00000124 02D2 add dl,dl
00000126 02D3 add dl,bl
00000128 02D4 add dl,ah
0000012A 02D5 add dl,ch
0000012C 02D6 add dl,dh
0000012E 02D7 add dl,bh
00000130 02D8 add bl,al
00000132 02D9 add bl,cl
00000134 02DA add bl,dl
00000136 02DB add bl,bl
00000138 02DC add bl,ah
0000013A 02DD add bl,ch
0000013C 02DE add bl,dh
0000013E 02DF add bl,bh
00000140 02E0 add ah,al
00000142 02E1 add ah,cl
00000144 02E2 add ah,dl
00000146 02E3 add ah,bl
00000148 02E4 add ah,ah
0000014A 02E5 add ah,ch
0000014C 02E6 add ah,dh
0000014E 02E7 add ah,bh
00000150 02E8 add ch,al
00000152 02E9 add ch,cl
00000154 02EA add ch,dl
00000156 02EB add ch,bl
00000158 02EC add ch,ah
0000015A 02ED add ch,ch
0000015C 02EE add ch,dh
0000015E 02EF add ch,bh
00000160 02F0 add dh,al
00000162 02F1 add dh,cl
00000164 02F2 add dh,dl
00000166 02F3 add dh,bl
00000168 02F4 add dh,ah
0000016A 02F5 add dh,ch
0000016C 02F6 add dh,dh
0000016E 02F7 add dh,bh
00000170 02F8 add bh,al
00000172 02F9 add bh,cl
00000174 02FA add bh,dl
00000176 02FB add bh,bl
00000178 02FC add bh,ah
0000017A 02FD add bh,ch
0000017C 02FE add bh,dh
0000017E 02FF add bh,bh
00000180 03C0 add ax,ax
00000182 03C1 add ax,cx
00000184 03C2 add ax,dx
00000186 03C3 add ax,bx
00000188 03C4 add ax,sp
0000018A 03C5 add ax,bp
0000018C 03C6 add ax,si
0000018E 03C7 add ax,di
00000190 03C8 add cx,ax
00000192 03C9 add cx,cx
00000194 03CA add cx,dx
00000196 03CB add cx,bx
00000198 03CC add cx,sp
0000019A 03CD add cx,bp
0000019C 03CE add cx,si
0000019E 03CF add cx,di
000001A0 03D0 add dx,ax
000001A2 03D1 add dx,cx
000001A4 03D2 add dx,dx
000001A6 03D3 add dx,bx
000001A8 03D4 add dx,sp
000001AA 03D5 add dx,bp
000001AC 03D6 add dx,si
000001AE 03D7 add dx,di
000001B0 03D8 add bx,ax
000001B2 03D9 add bx,cx
000001B4 03DA add bx,dx
000001B6 03DB add bx,bx
000001B8 03DC add bx,sp
000001BA 03DD add bx,bp
000001BC 03DE add bx,si
000001BE 03DF add bx,di
000001C0 03E0 add sp,ax
000001C2 03E1 add sp,cx
000001C4 03E2 add sp,dx
000001C6 03E3 add sp,bx
000001C8 03E4 add sp,sp
000001CA 03E5 add sp,bp
000001CC 03E6 add sp,si
000001CE 03E7 add sp,di
000001D0 03E8 add bp,ax
000001D2 03E9 add bp,cx
000001D4 03EA add bp,dx
000001D6 03EB add bp,bx
000001D8 03EC add bp,sp
000001DA 03ED add bp,bp
000001DC 03EE add bp,si
000001DE 03EF add bp,di
000001E0 03F0 add si,ax
000001E2 03F1 add si,cx
000001E4 03F2 add si,dx
000001E6 03F3 add si,bx
000001E8 03F4 add si,sp
000001EA 03F5 add si,bp
000001EC 03F6 add si,si
000001EE 03F7 add si,di
000001F0 03F8 add di,ax
000001F2 03F9 add di,cx
000001F4 03FA add di,dx
000001F6 03FB add di,bx
000001F8 03FC add di,sp
000001FA 03FD add di,bp
000001FC 03FE add di,si
000001FE 03FF add di,di

I'm doing things this was as it was easy to follow.
I always did like registers better than RAM.
RAM is a really complicated thing in intel.

modifying data in RAM is always slower and takes up more space than between only registers.

There are no memory to memory instructions on an intel.
Given all the numerous registers,there's only 1 reason that a program even needs to access RAM!
That reason is,if you want to actually display something like Hello World,you need to place it in
an array of bytes! Everything is displayed by going to the video memory.

I've learned so much intel ASM that I no longer remember what coding in QBasic was like!
However,I think someday I may write a list of the major differences between QBasic and ASM.
I can always relearn QBasic again.

Posted on Feb 1, 2007, 5:46 PM

Respond to this message   

Return to Index


I have the full 16 bit register codes!

by (Login Chandlerklebs)

All of these involve doing math with registers.

00000000 00C0 add al,al
00000002 00C1 add cl,al
00000004 00C2 add dl,al
00000006 00C3 add bl,al
00000008 00C4 add ah,al
0000000A 00C5 add ch,al
0000000C 00C6 add dh,al
0000000E 00C7 add bh,al
00000010 00C8 add al,cl
00000012 00C9 add cl,cl
00000014 00CA add dl,cl
00000016 00CB add bl,cl
00000018 00CC add ah,cl
0000001A 00CD add ch,cl
0000001C 00CE add dh,cl
0000001E 00CF add bh,cl
00000020 00D0 add al,dl
00000022 00D1 add cl,dl
00000024 00D2 add dl,dl
00000026 00D3 add bl,dl
00000028 00D4 add ah,dl
0000002A 00D5 add ch,dl
0000002C 00D6 add dh,dl
0000002E 00D7 add bh,dl
00000030 00D8 add al,bl
00000032 00D9 add cl,bl
00000034 00DA add dl,bl
00000036 00DB add bl,bl
00000038 00DC add ah,bl
0000003A 00DD add ch,bl
0000003C 00DE add dh,bl
0000003E 00DF add bh,bl
00000040 00E0 add al,ah
00000042 00E1 add cl,ah
00000044 00E2 add dl,ah
00000046 00E3 add bl,ah
00000048 00E4 add ah,ah
0000004A 00E5 add ch,ah
0000004C 00E6 add dh,ah
0000004E 00E7 add bh,ah
00000050 00E8 add al,ch
00000052 00E9 add cl,ch
00000054 00EA add dl,ch
00000056 00EB add bl,ch
00000058 00EC add ah,ch
0000005A 00ED add ch,ch
0000005C 00EE add dh,ch
0000005E 00EF add bh,ch
00000060 00F0 add al,dh
00000062 00F1 add cl,dh
00000064 00F2 add dl,dh
00000066 00F3 add bl,dh
00000068 00F4 add ah,dh
0000006A 00F5 add ch,dh
0000006C 00F6 add dh,dh
0000006E 00F7 add bh,dh
00000070 00F8 add al,bh
00000072 00F9 add cl,bh
00000074 00FA add dl,bh
00000076 00FB add bl,bh
00000078 00FC add ah,bh
0000007A 00FD add ch,bh
0000007C 00FE add dh,bh
0000007E 00FF add bh,bh
00000080 01C0 add ax,ax
00000082 01C1 add cx,ax
00000084 01C2 add dx,ax
00000086 01C3 add bx,ax
00000088 01C4 add sp,ax
0000008A 01C5 add bp,ax
0000008C 01C6 add si,ax
0000008E 01C7 add di,ax
00000090 01C8 add ax,cx
00000092 01C9 add cx,cx
00000094 01CA add dx,cx
00000096 01CB add bx,cx
00000098 01CC add sp,cx
0000009A 01CD add bp,cx
0000009C 01CE add si,cx
0000009E 01CF add di,cx
000000A0 01D0 add ax,dx
000000A2 01D1 add cx,dx
000000A4 01D2 add dx,dx
000000A6 01D3 add bx,dx
000000A8 01D4 add sp,dx
000000AA 01D5 add bp,dx
000000AC 01D6 add si,dx
000000AE 01D7 add di,dx
000000B0 01D8 add ax,bx
000000B2 01D9 add cx,bx
000000B4 01DA add dx,bx
000000B6 01DB add bx,bx
000000B8 01DC add sp,bx
000000BA 01DD add bp,bx
000000BC 01DE add si,bx
000000BE 01DF add di,bx
000000C0 01E0 add ax,sp
000000C2 01E1 add cx,sp
000000C4 01E2 add dx,sp
000000C6 01E3 add bx,sp
000000C8 01E4 add sp,sp
000000CA 01E5 add bp,sp
000000CC 01E6 add si,sp
000000CE 01E7 add di,sp
000000D0 01E8 add ax,bp
000000D2 01E9 add cx,bp
000000D4 01EA add dx,bp
000000D6 01EB add bx,bp
000000D8 01EC add sp,bp
000000DA 01ED add bp,bp
000000DC 01EE add si,bp
000000DE 01EF add di,bp
000000E0 01F0 add ax,si
000000E2 01F1 add cx,si
000000E4 01F2 add dx,si
000000E6 01F3 add bx,si
000000E8 01F4 add sp,si
000000EA 01F5 add bp,si
000000EC 01F6 add si,si
000000EE 01F7 add di,si
000000F0 01F8 add ax,di
000000F2 01F9 add cx,di
000000F4 01FA add dx,di
000000F6 01FB add bx,di
000000F8 01FC add sp,di
000000FA 01FD add bp,di
000000FC 01FE add si,di
000000FE 01FF add di,di
00000100 02C0 add al,al
00000102 02C1 add al,cl
00000104 02C2 add al,dl
00000106 02C3 add al,bl
00000108 02C4 add al,ah
0000010A 02C5 add al,ch
0000010C 02C6 add al,dh
0000010E 02C7 add al,bh
00000110 02C8 add cl,al
00000112 02C9 add cl,cl
00000114 02CA add cl,dl
00000116 02CB add cl,bl
00000118 02CC add cl,ah
0000011A 02CD add cl,ch
0000011C 02CE add cl,dh
0000011E 02CF add cl,bh
00000120 02D0 add dl,al
00000122 02D1 add dl,cl
00000124 02D2 add dl,dl
00000126 02D3 add dl,bl
00000128 02D4 add dl,ah
0000012A 02D5 add dl,ch
0000012C 02D6 add dl,dh
0000012E 02D7 add dl,bh
00000130 02D8 add bl,al
00000132 02D9 add bl,cl
00000134 02DA add bl,dl
00000136 02DB add bl,bl
00000138 02DC add bl,ah
0000013A 02DD add bl,ch
0000013C 02DE add bl,dh
0000013E 02DF add bl,bh
00000140 02E0 add ah,al
00000142 02E1 add ah,cl
00000144 02E2 add ah,dl
00000146 02E3 add ah,bl
00000148 02E4 add ah,ah
0000014A 02E5 add ah,ch
0000014C 02E6 add ah,dh
0000014E 02E7 add ah,bh
00000150 02E8 add ch,al
00000152 02E9 add ch,cl
00000154 02EA add ch,dl
00000156 02EB add ch,bl
00000158 02EC add ch,ah
0000015A 02ED add ch,ch
0000015C 02EE add ch,dh
0000015E 02EF add ch,bh
00000160 02F0 add dh,al
00000162 02F1 add dh,cl
00000164 02F2 add dh,dl
00000166 02F3 add dh,bl
00000168 02F4 add dh,ah
0000016A 02F5 add dh,ch
0000016C 02F6 add dh,dh
0000016E 02F7 add dh,bh
00000170 02F8 add bh,al
00000172 02F9 add bh,cl
00000174 02FA add bh,dl
00000176 02FB add bh,bl
00000178 02FC add bh,ah
0000017A 02FD add bh,ch
0000017C 02FE add bh,dh
0000017E 02FF add bh,bh
00000180 03C0 add ax,ax
00000182 03C1 add ax,cx
00000184 03C2 add ax,dx
00000186 03C3 add ax,bx
00000188 03C4 add ax,sp
0000018A 03C5 add ax,bp
0000018C 03C6 add ax,si
0000018E 03C7 add ax,di
00000190 03C8 add cx,ax
00000192 03C9 add cx,cx
00000194 03CA add cx,dx
00000196 03CB add cx,bx
00000198 03CC add cx,sp
0000019A 03CD add cx,bp
0000019C 03CE add cx,si
0000019E 03CF add cx,di
000001A0 03D0 add dx,ax
000001A2 03D1 add dx,cx
000001A4 03D2 add dx,dx
000001A6 03D3 add dx,bx
000001A8 03D4 add dx,sp
000001AA 03D5 add dx,bp
000001AC 03D6 add dx,si
000001AE 03D7 add dx,di
000001B0 03D8 add bx,ax
000001B2 03D9 add bx,cx
000001B4 03DA add bx,dx
000001B6 03DB add bx,bx
000001B8 03DC add bx,sp
000001BA 03DD add bx,bp
000001BC 03DE add bx,si
000001BE 03DF add bx,di
000001C0 03E0 add sp,ax
000001C2 03E1 add sp,cx
000001C4 03E2 add sp,dx
000001C6 03E3 add sp,bx
000001C8 03E4 add sp,sp
000001CA 03E5 add sp,bp
000001CC 03E6 add sp,si
000001CE 03E7 add sp,di
000001D0 03E8 add bp,ax
000001D2 03E9 add bp,cx
000001D4 03EA add bp,dx
000001D6 03EB add bp,bx
000001D8 03EC add bp,sp
000001DA 03ED add bp,bp
000001DC 03EE add bp,si
000001DE 03EF add bp,di
000001E0 03F0 add si,ax
000001E2 03F1 add si,cx
000001E4 03F2 add si,dx
000001E6 03F3 add si,bx
000001E8 03F4 add si,sp
000001EA 03F5 add si,bp
000001EC 03F6 add si,si
000001EE 03F7 add si,di
000001F0 03F8 add di,ax
000001F2 03F9 add di,cx
000001F4 03FA add di,dx
000001F6 03FB add di,bx
000001F8 03FC add di,sp
000001FA 03FD add di,bp
000001FC 03FE add di,si
000001FE 03FF add di,di
00000200 08C0 or al,al
00000202 08C1 or cl,al
00000204 08C2 or dl,al
00000206 08C3 or bl,al
00000208 08C4 or ah,al
0000020A 08C5 or ch,al
0000020C 08C6 or dh,al
0000020E 08C7 or bh,al
00000210 08C8 or al,cl
00000212 08C9 or cl,cl
00000214 08CA or dl,cl
00000216 08CB or bl,cl
00000218 08CC or ah,cl
0000021A 08CD or ch,cl
0000021C 08CE or dh,cl
0000021E 08CF or bh,cl
00000220 08D0 or al,dl
00000222 08D1 or cl,dl
00000224 08D2 or dl,dl
00000226 08D3 or bl,dl
00000228 08D4 or ah,dl
0000022A 08D5 or ch,dl
0000022C 08D6 or dh,dl
0000022E 08D7 or bh,dl
00000230 08D8 or al,bl
00000232 08D9 or cl,bl
00000234 08DA or dl,bl
00000236 08DB or bl,bl
00000238 08DC or ah,bl
0000023A 08DD or ch,bl
0000023C 08DE or dh,bl
0000023E 08DF or bh,bl
00000240 08E0 or al,ah
00000242 08E1 or cl,ah
00000244 08E2 or dl,ah
00000246 08E3 or bl,ah
00000248 08E4 or ah,ah
0000024A 08E5 or ch,ah
0000024C 08E6 or dh,ah
0000024E 08E7 or bh,ah
00000250 08E8 or al,ch
00000252 08E9 or cl,ch
00000254 08EA or dl,ch
00000256 08EB or bl,ch
00000258 08EC or ah,ch
0000025A 08ED or ch,ch
0000025C 08EE or dh,ch
0000025E 08EF or bh,ch
00000260 08F0 or al,dh
00000262 08F1 or cl,dh
00000264 08F2 or dl,dh
00000266 08F3 or bl,dh
00000268 08F4 or ah,dh
0000026A 08F5 or ch,dh
0000026C 08F6 or dh,dh
0000026E 08F7 or bh,dh
00000270 08F8 or al,bh
00000272 08F9 or cl,bh
00000274 08FA or dl,bh
00000276 08FB or bl,bh
00000278 08FC or ah,bh
0000027A 08FD or ch,bh
0000027C 08FE or dh,bh
0000027E 08FF or bh,bh
00000280 09C0 or ax,ax
00000282 09C1 or cx,ax
00000284 09C2 or dx,ax
00000286 09C3 or bx,ax
00000288 09C4 or sp,ax
0000028A 09C5 or bp,ax
0000028C 09C6 or si,ax
0000028E 09C7 or di,ax
00000290 09C8 or ax,cx
00000292 09C9 or cx,cx
00000294 09CA or dx,cx
00000296 09CB or bx,cx
00000298 09CC or sp,cx
0000029A 09CD or bp,cx
0000029C 09CE or si,cx
0000029E 09CF or di,cx
000002A0 09D0 or ax,dx
000002A2 09D1 or cx,dx
000002A4 09D2 or dx,dx
000002A6 09D3 or bx,dx
000002A8 09D4 or sp,dx
000002AA 09D5 or bp,dx
000002AC 09D6 or si,dx
000002AE 09D7 or di,dx
000002B0 09D8 or ax,bx
000002B2 09D9 or cx,bx
000002B4 09DA or dx,bx
000002B6 09DB or bx,bx
000002B8 09DC or sp,bx
000002BA 09DD or bp,bx
000002BC 09DE or si,bx
000002BE 09DF or di,bx
000002C0 09E0 or ax,sp
000002C2 09E1 or cx,sp
000002C4 09E2 or dx,sp
000002C6 09E3 or bx,sp
000002C8 09E4 or sp,sp
000002CA 09E5 or bp,sp
000002CC 09E6 or si,sp
000002CE 09E7 or di,sp
000002D0 09E8 or ax,bp
000002D2 09E9 or cx,bp
000002D4 09EA or dx,bp
000002D6 09EB or bx,bp
000002D8 09EC or sp,bp
000002DA 09ED or bp,bp
000002DC 09EE or si,bp
000002DE 09EF or di,bp
000002E0 09F0 or ax,si
000002E2 09F1 or cx,si
000002E4 09F2 or dx,si
000002E6 09F3 or bx,si
000002E8 09F4 or sp,si
000002EA 09F5 or bp,si
000002EC 09F6 or si,si
000002EE 09F7 or di,si
000002F0 09F8 or ax,di
000002F2 09F9 or cx,di
000002F4 09FA or dx,di
000002F6 09FB or bx,di
000002F8 09FC or sp,di
000002FA 09FD or bp,di
000002FC 09FE or si,di
000002FE 09FF or di,di
00000300 0AC0 or al,al
00000302 0AC1 or al,cl
00000304 0AC2 or al,dl
00000306 0AC3 or al,bl
00000308 0AC4 or al,ah
0000030A 0AC5 or al,ch
0000030C 0AC6 or al,dh
0000030E 0AC7 or al,bh
00000310 0AC8 or cl,al
00000312 0AC9 or cl,cl
00000314 0ACA or cl,dl
00000316 0ACB or cl,bl
00000318 0ACC or cl,ah
0000031A 0ACD or cl,ch
0000031C 0ACE or cl,dh
0000031E 0ACF or cl,bh
00000320 0AD0 or dl,al
00000322 0AD1 or dl,cl
00000324 0AD2 or dl,dl
00000326 0AD3 or dl,bl
00000328 0AD4 or dl,ah
0000032A 0AD5 or dl,ch
0000032C 0AD6 or dl,dh
0000032E 0AD7 or dl,bh
00000330 0AD8 or bl,al
00000332 0AD9 or bl,cl
00000334 0ADA or bl,dl
00000336 0ADB or bl,bl
00000338 0ADC or bl,ah
0000033A 0ADD or bl,ch
0000033C 0ADE or bl,dh
0000033E 0ADF or bl,bh
00000340 0AE0 or ah,al
00000342 0AE1 or ah,cl
00000344 0AE2 or ah,dl
00000346 0AE3 or ah,bl
00000348 0AE4 or ah,ah
0000034A 0AE5 or ah,ch
0000034C 0AE6 or ah,dh
0000034E 0AE7 or ah,bh
00000350 0AE8 or ch,al
00000352 0AE9 or ch,cl
00000354 0AEA or ch,dl
00000356 0AEB or ch,bl
00000358 0AEC or ch,ah
0000035A 0AED or ch,ch
0000035C 0AEE or ch,dh
0000035E 0AEF or ch,bh
00000360 0AF0 or dh,al
00000362 0AF1 or dh,cl
00000364 0AF2 or dh,dl
00000366 0AF3 or dh,bl
00000368 0AF4 or dh,ah
0000036A 0AF5 or dh,ch
0000036C 0AF6 or dh,dh
0000036E 0AF7 or dh,bh
00000370 0AF8 or bh,al
00000372 0AF9 or bh,cl
00000374 0AFA or bh,dl
00000376 0AFB or bh,bl
00000378 0AFC or bh,ah
0000037A 0AFD or bh,ch
0000037C 0AFE or bh,dh
0000037E 0AFF or bh,bh
00000380 0BC0 or ax,ax
00000382 0BC1 or ax,cx
00000384 0BC2 or ax,dx
00000386 0BC3 or ax,bx
00000388 0BC4 or ax,sp
0000038A 0BC5 or ax,bp
0000038C 0BC6 or ax,si
0000038E 0BC7 or ax,di
00000390 0BC8 or cx,ax
00000392 0BC9 or cx,cx
00000394 0BCA or cx,dx
00000396 0BCB or cx,bx
00000398 0BCC or cx,sp
0000039A 0BCD or cx,bp
0000039C 0BCE or cx,si
0000039E 0BCF or cx,di
000003A0 0BD0 or dx,ax
000003A2 0BD1 or dx,cx
000003A4 0BD2 or dx,dx
000003A6 0BD3 or dx,bx
000003A8 0BD4 or dx,sp
000003AA 0BD5 or dx,bp
000003AC 0BD6 or dx,si
000003AE 0BD7 or dx,di
000003B0 0BD8 or bx,ax
000003B2 0BD9 or bx,cx
000003B4 0BDA or bx,dx
000003B6 0BDB or bx,bx
000003B8 0BDC or bx,sp
000003BA 0BDD or bx,bp
000003BC 0BDE or bx,si
000003BE 0BDF or bx,di
000003C0 0BE0 or sp,ax
000003C2 0BE1 or sp,cx
000003C4 0BE2 or sp,dx
000003C6 0BE3 or sp,bx
000003C8 0BE4 or sp,sp
000003CA 0BE5 or sp,bp
000003CC 0BE6 or sp,si
000003CE 0BE7 or sp,di
000003D0 0BE8 or bp,ax
000003D2 0BE9 or bp,cx
000003D4 0BEA or bp,dx
000003D6 0BEB or bp,bx
000003D8 0BEC or bp,sp
000003DA 0BED or bp,bp
000003DC 0BEE or bp,si
000003DE 0BEF or bp,di
000003E0 0BF0 or si,ax
000003E2 0BF1 or si,cx
000003E4 0BF2 or si,dx
000003E6 0BF3 or si,bx
000003E8 0BF4 or si,sp
000003EA 0BF5 or si,bp
000003EC 0BF6 or si,si
000003EE 0BF7 or si,di
000003F0 0BF8 or di,ax
000003F2 0BF9 or di,cx
000003F4 0BFA or di,dx
000003F6 0BFB or di,bx
000003F8 0BFC or di,sp
000003FA 0BFD or di,bp
000003FC 0BFE or di,si
000003FE 0BFF or di,di
00000400 10C0 adc al,al
00000402 10C1 adc cl,al
00000404 10C2 adc dl,al
00000406 10C3 adc bl,al
00000408 10C4 adc ah,al
0000040A 10C5 adc ch,al
0000040C 10C6 adc dh,al
0000040E 10C7 adc bh,al
00000410 10C8 adc al,cl
00000412 10C9 adc cl,cl
00000414 10CA adc dl,cl
00000416 10CB adc bl,cl
00000418 10CC adc ah,cl
0000041A 10CD adc ch,cl
0000041C 10CE adc dh,cl
0000041E 10CF adc bh,cl
00000420 10D0 adc al,dl
00000422 10D1 adc cl,dl
00000424 10D2 adc dl,dl
00000426 10D3 adc bl,dl
00000428 10D4 adc ah,dl
0000042A 10D5 adc ch,dl
0000042C 10D6 adc dh,dl
0000042E 10D7 adc bh,dl
00000430 10D8 adc al,bl
00000432 10D9 adc cl,bl
00000434 10DA adc dl,bl
00000436 10DB adc bl,bl
00000438 10DC adc ah,bl
0000043A 10DD adc ch,bl
0000043C 10DE adc dh,bl
0000043E 10DF adc bh,bl
00000440 10E0 adc al,ah
00000442 10E1 adc cl,ah
00000444 10E2 adc dl,ah
00000446 10E3 adc bl,ah
00000448 10E4 adc ah,ah
0000044A 10E5 adc ch,ah
0000044C 10E6 adc dh,ah
0000044E 10E7 adc bh,ah
00000450 10E8 adc al,ch
00000452 10E9 adc cl,ch
00000454 10EA adc dl,ch
00000456 10EB adc bl,ch
00000458 10EC adc ah,ch
0000045A 10ED adc ch,ch
0000045C 10EE adc dh,ch
0000045E 10EF adc bh,ch
00000460 10F0 adc al,dh
00000462 10F1 adc cl,dh
00000464 10F2 adc dl,dh
00000466 10F3 adc bl,dh
00000468 10F4 adc ah,dh
0000046A 10F5 adc ch,dh
0000046C 10F6 adc dh,dh
0000046E 10F7 adc bh,dh
00000470 10F8 adc al,bh
00000472 10F9 adc cl,bh
00000474 10FA adc dl,bh
00000476 10FB adc bl,bh
00000478 10FC adc ah,bh
0000047A 10FD adc ch,bh
0000047C 10FE adc dh,bh
0000047E 10FF adc bh,bh
00000480 11C0 adc ax,ax
00000482 11C1 adc cx,ax
00000484 11C2 adc dx,ax
00000486 11C3 adc bx,ax
00000488 11C4 adc sp,ax
0000048A 11C5 adc bp,ax
0000048C 11C6 adc si,ax
0000048E 11C7 adc di,ax
00000490 11C8 adc ax,cx
00000492 11C9 adc cx,cx
00000494 11CA adc dx,cx
00000496 11CB adc bx,cx
00000498 11CC adc sp,cx
0000049A 11CD adc bp,cx
0000049C 11CE adc si,cx
0000049E 11CF adc di,cx
000004A0 11D0 adc ax,dx
000004A2 11D1 adc cx,dx
000004A4 11D2 adc dx,dx
000004A6 11D3 adc bx,dx
000004A8 11D4 adc sp,dx
000004AA 11D5 adc bp,dx
000004AC 11D6 adc si,dx
000004AE 11D7 adc di,dx
000004B0 11D8 adc ax,bx
000004B2 11D9 adc cx,bx
000004B4 11DA adc dx,bx
000004B6 11DB adc bx,bx
000004B8 11DC adc sp,bx
000004BA 11DD adc bp,bx
000004BC 11DE adc si,bx
000004BE 11DF adc di,bx
000004C0 11E0 adc ax,sp
000004C2 11E1 adc cx,sp
000004C4 11E2 adc dx,sp
000004C6 11E3 adc bx,sp
000004C8 11E4 adc sp,sp
000004CA 11E5 adc bp,sp
000004CC 11E6 adc si,sp
000004CE 11E7 adc di,sp
000004D0 11E8 adc ax,bp
000004D2 11E9 adc cx,bp
000004D4 11EA adc dx,bp
000004D6 11EB adc bx,bp
000004D8 11EC adc sp,bp
000004DA 11ED adc bp,bp
000004DC 11EE adc si,bp
000004DE 11EF adc di,bp
000004E0 11F0 adc ax,si
000004E2 11F1 adc cx,si
000004E4 11F2 adc dx,si
000004E6 11F3 adc bx,si
000004E8 11F4 adc sp,si
000004EA 11F5 adc bp,si
000004EC 11F6 adc si,si
000004EE 11F7 adc di,si
000004F0 11F8 adc ax,di
000004F2 11F9 adc cx,di
000004F4 11FA adc dx,di
000004F6 11FB adc bx,di
000004F8 11FC adc sp,di
000004FA 11FD adc bp,di
000004FC 11FE adc si,di
000004FE 11FF adc di,di
00000500 12C0 adc al,al
00000502 12C1 adc al,cl
00000504 12C2 adc al,dl
00000506 12C3 adc al,bl
00000508 12C4 adc al,ah
0000050A 12C5 adc al,ch
0000050C 12C6 adc al,dh
0000050E 12C7 adc al,bh
00000510 12C8 adc cl,al
00000512 12C9 adc cl,cl
00000514 12CA adc cl,dl
00000516 12CB adc cl,bl
00000518 12CC adc cl,ah
0000051A 12CD adc cl,ch
0000051C 12CE adc cl,dh
0000051E 12CF adc cl,bh
00000520 12D0 adc dl,al
00000522 12D1 adc dl,cl
00000524 12D2 adc dl,dl
00000526 12D3 adc dl,bl
00000528 12D4 adc dl,ah
0000052A 12D5 adc dl,ch
0000052C 12D6 adc dl,dh
0000052E 12D7 adc dl,bh
00000530 12D8 adc bl,al
00000532 12D9 adc bl,cl
00000534 12DA adc bl,dl
00000536 12DB adc bl,bl
00000538 12DC adc bl,ah
0000053A 12DD adc bl,ch
0000053C 12DE adc bl,dh
0000053E 12DF adc bl,bh
00000540 12E0 adc ah,al
00000542 12E1 adc ah,cl
00000544 12E2 adc ah,dl
00000546 12E3 adc ah,bl
00000548 12E4 adc ah,ah
0000054A 12E5 adc ah,ch
0000054C 12E6 adc ah,dh
0000054E 12E7 adc ah,bh
00000550 12E8 adc ch,al
00000552 12E9 adc ch,cl
00000554 12EA adc ch,dl
00000556 12EB adc ch,bl
00000558 12EC adc ch,ah
0000055A 12ED adc ch,ch
0000055C 12EE adc ch,dh
0000055E 12EF adc ch,bh
00000560 12F0 adc dh,al
00000562 12F1 adc dh,cl
00000564 12F2 adc dh,dl
00000566 12F3 adc dh,bl
00000568 12F4 adc dh,ah
0000056A 12F5 adc dh,ch
0000056C 12F6 adc dh,dh
0000056E 12F7 adc dh,bh
00000570 12F8 adc bh,al
00000572 12F9 adc bh,cl
00000574 12FA adc bh,dl
00000576 12FB adc bh,bl
00000578 12FC adc bh,ah
0000057A 12FD adc bh,ch
0000057C 12FE adc bh,dh
0000057E 12FF adc bh,bh
00000580 13C0 adc ax,ax
00000582 13C1 adc ax,cx
00000584 13C2 adc ax,dx
00000586 13C3 adc ax,bx
00000588 13C4 adc ax,sp
0000058A 13C5 adc ax,bp
0000058C 13C6 adc ax,si
0000058E 13C7 adc ax,di
00000590 13C8 adc cx,ax
00000592 13C9 adc cx,cx
00000594 13CA adc cx,dx
00000596 13CB adc cx,bx
00000598 13CC adc cx,sp
0000059A 13CD adc cx,bp
0000059C 13CE adc cx,si
0000059E 13CF adc cx,di
000005A0 13D0 adc dx,ax
000005A2 13D1 adc dx,cx
000005A4 13D2 adc dx,dx
000005A6 13D3 adc dx,bx
000005A8 13D4 adc dx,sp
000005AA 13D5 adc dx,bp
000005AC 13D6 adc dx,si
000005AE 13D7 adc dx,di
000005B0 13D8 adc bx,ax
000005B2 13D9 adc bx,cx
000005B4 13DA adc bx,dx
000005B6 13DB adc bx,bx
000005B8 13DC adc bx,sp
000005BA 13DD adc bx,bp
000005BC 13DE adc bx,si
000005BE 13DF adc bx,di
000005C0 13E0 adc sp,ax
000005C2 13E1 adc sp,cx
000005C4 13E2 adc sp,dx
000005C6 13E3 adc sp,bx
000005C8 13E4 adc sp,sp
000005CA 13E5 adc sp,bp
000005CC 13E6 adc sp,si
000005CE 13E7 adc sp,di
000005D0 13E8 adc bp,ax
000005D2 13E9 adc bp,cx
000005D4 13EA adc bp,dx
000005D6 13EB adc bp,bx
000005D8 13EC adc bp,sp
000005DA 13ED adc bp,bp
000005DC 13EE adc bp,si
000005DE 13EF adc bp,di
000005E0 13F0 adc si,ax
000005E2 13F1 adc si,cx
000005E4 13F2 adc si,dx
000005E6 13F3 adc si,bx
000005E8 13F4 adc si,sp
000005EA 13F5 adc si,bp
000005EC 13F6 adc si,si
000005EE 13F7 adc si,di
000005F0 13F8 adc di,ax
000005F2 13F9 adc di,cx
000005F4 13FA adc di,dx
000005F6 13FB adc di,bx
000005F8 13FC adc di,sp
000005FA 13FD adc di,bp
000005FC 13FE adc di,si
000005FE 13FF adc di,di
00000600 18C0 sbb al,al
00000602 18C1 sbb cl,al
00000604 18C2 sbb dl,al
00000606 18C3 sbb bl,al
00000608 18C4 sbb ah,al
0000060A 18C5 sbb ch,al
0000060C 18C6 sbb dh,al
0000060E 18C7 sbb bh,al
00000610 18C8 sbb al,cl
00000612 18C9 sbb cl,cl
00000614 18CA sbb dl,cl
00000616 18CB sbb bl,cl
00000618 18CC sbb ah,cl
0000061A 18CD sbb ch,cl
0000061C 18CE sbb dh,cl
0000061E 18CF sbb bh,cl
00000620 18D0 sbb al,dl
00000622 18D1 sbb cl,dl
00000624 18D2 sbb dl,dl
00000626 18D3 sbb bl,dl
00000628 18D4 sbb ah,dl
0000062A 18D5 sbb ch,dl
0000062C 18D6 sbb dh,dl
0000062E 18D7 sbb bh,dl
00000630 18D8 sbb al,bl
00000632 18D9 sbb cl,bl
00000634 18DA sbb dl,bl
00000636 18DB sbb bl,bl
00000638 18DC sbb ah,bl
0000063A 18DD sbb ch,bl
0000063C 18DE sbb dh,bl
0000063E 18DF sbb bh,bl
00000640 18E0 sbb al,ah
00000642 18E1 sbb cl,ah
00000644 18E2 sbb dl,ah
00000646 18E3 sbb bl,ah
00000648 18E4 sbb ah,ah
0000064A 18E5 sbb ch,ah
0000064C 18E6 sbb dh,ah
0000064E 18E7 sbb bh,ah
00000650 18E8 sbb al,ch
00000652 18E9 sbb cl,ch
00000654 18EA sbb dl,ch
00000656 18EB sbb bl,ch
00000658 18EC sbb ah,ch
0000065A 18ED sbb ch,ch
0000065C 18EE sbb dh,ch
0000065E 18EF sbb bh,ch
00000660 18F0 sbb al,dh
00000662 18F1 sbb cl,dh
00000664 18F2 sbb dl,dh
00000666 18F3 sbb bl,dh
00000668 18F4 sbb ah,dh
0000066A 18F5 sbb ch,dh
0000066C 18F6 sbb dh,dh
0000066E 18F7 sbb bh,dh
00000670 18F8 sbb al,bh
00000672 18F9 sbb cl,bh
00000674 18FA sbb dl,bh
00000676 18FB sbb bl,bh
00000678 18FC sbb ah,bh
0000067A 18FD sbb ch,bh
0000067C 18FE sbb dh,bh
0000067E 18FF sbb bh,bh
00000680 19C0 sbb ax,ax
00000682 19C1 sbb cx,ax
00000684 19C2 sbb dx,ax
00000686 19C3 sbb bx,ax
00000688 19C4 sbb sp,ax
0000068A 19C5 sbb bp,ax
0000068C 19C6 sbb si,ax
0000068E 19C7 sbb di,ax
00000690 19C8 sbb ax,cx
00000692 19C9 sbb cx,cx
00000694 19CA sbb dx,cx
00000696 19CB sbb bx,cx
00000698 19CC sbb sp,cx
0000069A 19CD sbb bp,cx
0000069C 19CE sbb si,cx
0000069E 19CF sbb di,cx
000006A0 19D0 sbb ax,dx
000006A2 19D1 sbb cx,dx
000006A4 19D2 sbb dx,dx
000006A6 19D3 sbb bx,dx
000006A8 19D4 sbb sp,dx
000006AA 19D5 sbb bp,dx
000006AC 19D6 sbb si,dx
000006AE 19D7 sbb di,dx
000006B0 19D8 sbb ax,bx
000006B2 19D9 sbb cx,bx
000006B4 19DA sbb dx,bx
000006B6 19DB sbb bx,bx
000006B8 19DC sbb sp,bx
000006BA 19DD sbb bp,bx
000006BC 19DE sbb si,bx
000006BE 19DF sbb di,bx
000006C0 19E0 sbb ax,sp
000006C2 19E1 sbb cx,sp
000006C4 19E2 sbb dx,sp
000006C6 19E3 sbb bx,sp
000006C8 19E4 sbb sp,sp
000006CA 19E5 sbb bp,sp
000006CC 19E6 sbb si,sp
000006CE 19E7 sbb di,sp
000006D0 19E8 sbb ax,bp
000006D2 19E9 sbb cx,bp
000006D4 19EA sbb dx,bp
000006D6 19EB sbb bx,bp
000006D8 19EC sbb sp,bp
000006DA 19ED sbb bp,bp
000006DC 19EE sbb si,bp
000006DE 19EF sbb di,bp
000006E0 19F0 sbb ax,si
000006E2 19F1 sbb cx,si
000006E4 19F2 sbb dx,si
000006E6 19F3 sbb bx,si
000006E8 19F4 sbb sp,si
000006EA 19F5 sbb bp,si
000006EC 19F6 sbb si,si
000006EE 19F7 sbb di,si
000006F0 19F8 sbb ax,di
000006F2 19F9 sbb cx,di
000006F4 19FA sbb dx,di
000006F6 19FB sbb bx,di
000006F8 19FC sbb sp,di
000006FA 19FD sbb bp,di
000006FC 19FE sbb si,di
000006FE 19FF sbb di,di
00000700 1AC0 sbb al,al
00000702 1AC1 sbb al,cl
00000704 1AC2 sbb al,dl
00000706 1AC3 sbb al,bl
00000708 1AC4 sbb al,ah
0000070A 1AC5 sbb al,ch
0000070C 1AC6 sbb al,dh
0000070E 1AC7 sbb al,bh
00000710 1AC8 sbb cl,al
00000712 1AC9 sbb cl,cl
00000714 1ACA sbb cl,dl
00000716 1ACB sbb cl,bl
00000718 1ACC sbb cl,ah
0000071A 1ACD sbb cl,ch
0000071C 1ACE sbb cl,dh
0000071E 1ACF sbb cl,bh
00000720 1AD0 sbb dl,al
00000722 1AD1 sbb dl,cl
00000724 1AD2 sbb dl,dl
00000726 1AD3 sbb dl,bl
00000728 1AD4 sbb dl,ah
0000072A 1AD5 sbb dl,ch
0000072C 1AD6 sbb dl,dh
0000072E 1AD7 sbb dl,bh
00000730 1AD8 sbb bl,al
00000732 1AD9 sbb bl,cl
00000734 1ADA sbb bl,dl
00000736 1ADB sbb bl,bl
00000738 1ADC sbb bl,ah
0000073A 1ADD sbb bl,ch
0000073C 1ADE sbb bl,dh
0000073E 1ADF sbb bl,bh
00000740 1AE0 sbb ah,al
00000742 1AE1 sbb ah,cl
00000744 1AE2 sbb ah,dl
00000746 1AE3 sbb ah,bl
00000748 1AE4 sbb ah,ah
0000074A 1AE5 sbb ah,ch
0000074C 1AE6 sbb ah,dh
0000074E 1AE7 sbb ah,bh
00000750 1AE8 sbb ch,al
00000752 1AE9 sbb ch,cl
00000754 1AEA sbb ch,dl
00000756 1AEB sbb ch,bl
00000758 1AEC sbb ch,ah
0000075A 1AED sbb ch,ch
0000075C 1AEE sbb ch,dh
0000075E 1AEF sbb ch,bh
00000760 1AF0 sbb dh,al
00000762 1AF1 sbb dh,cl
00000764 1AF2 sbb dh,dl
00000766 1AF3 sbb dh,bl
00000768 1AF4 sbb dh,ah
0000076A 1AF5 sbb dh,ch
0000076C 1AF6 sbb dh,dh
0000076E 1AF7 sbb dh,bh
00000770 1AF8 sbb bh,al
00000772 1AF9 sbb bh,cl
00000774 1AFA sbb bh,dl
00000776 1AFB sbb bh,bl
00000778 1AFC sbb bh,ah
0000077A 1AFD sbb bh,ch
0000077C 1AFE sbb bh,dh
0000077E 1AFF sbb bh,bh
00000780 1BC0 sbb ax,ax
00000782 1BC1 sbb ax,cx
00000784 1BC2 sbb ax,dx
00000786 1BC3 sbb ax,bx
00000788 1BC4 sbb ax,sp
0000078A 1BC5 sbb ax,bp
0000078C 1BC6 sbb ax,si
0000078E 1BC7 sbb ax,di
00000790 1BC8 sbb cx,ax
00000792 1BC9 sbb cx,cx
00000794 1BCA sbb cx,dx
00000796 1BCB sbb cx,bx
00000798 1BCC sbb cx,sp
0000079A 1BCD sbb cx,bp
0000079C 1BCE sbb cx,si
0000079E 1BCF sbb cx,di
000007A0 1BD0 sbb dx,ax
000007A2 1BD1 sbb dx,cx
000007A4 1BD2 sbb dx,dx
000007A6 1BD3 sbb dx,bx
000007A8 1BD4 sbb dx,sp
000007AA 1BD5 sbb dx,bp
000007AC 1BD6 sbb dx,si
000007AE 1BD7 sbb dx,di
000007B0 1BD8 sbb bx,ax
000007B2 1BD9 sbb bx,cx
000007B4 1BDA sbb bx,dx
000007B6 1BDB sbb bx,bx
000007B8 1BDC sbb bx,sp
000007BA 1BDD sbb bx,bp
000007BC 1BDE sbb bx,si
000007BE 1BDF sbb bx,di
000007C0 1BE0 sbb sp,ax
000007C2 1BE1 sbb sp,cx
000007C4 1BE2 sbb sp,dx
000007C6 1BE3 sbb sp,bx
000007C8 1BE4 sbb sp,sp
000007CA 1BE5 sbb sp,bp
000007CC 1BE6 sbb sp,si
000007CE 1BE7 sbb sp,di
000007D0 1BE8 sbb bp,ax
000007D2 1BE9 sbb bp,cx
000007D4 1BEA sbb bp,dx
000007D6 1BEB sbb bp,bx
000007D8 1BEC sbb bp,sp
000007DA 1BED sbb bp,bp
000007DC 1BEE sbb bp,si
000007DE 1BEF sbb bp,di
000007E0 1BF0 sbb si,ax
000007E2 1BF1 sbb si,cx
000007E4 1BF2 sbb si,dx
000007E6 1BF3 sbb si,bx
000007E8 1BF4 sbb si,sp
000007EA 1BF5 sbb si,bp
000007EC 1BF6 sbb si,si
000007EE 1BF7 sbb si,di
000007F0 1BF8 sbb di,ax
000007F2 1BF9 sbb di,cx
000007F4 1BFA sbb di,dx
000007F6 1BFB sbb di,bx
000007F8 1BFC sbb di,sp
000007FA 1BFD sbb di,bp
000007FC 1BFE sbb di,si
000007FE 1BFF sbb di,di
00000800 20C0 and al,al
00000802 20C1 and cl,al
00000804 20C2 and dl,al
00000806 20C3 and bl,al
00000808 20C4 and ah,al
0000080A 20C5 and ch,al
0000080C 20C6 and dh,al
0000080E 20C7 and bh,al
00000810 20C8 and al,cl
00000812 20C9 and cl,cl
00000814 20CA and dl,cl
00000816 20CB and bl,cl
00000818 20CC and ah,cl
0000081A 20CD and ch,cl
0000081C 20CE and dh,cl
0000081E 20CF and bh,cl
00000820 20D0 and al,dl
00000822 20D1 and cl,dl
00000824 20D2 and dl,dl
00000826 20D3 and bl,dl
00000828 20D4 and ah,dl
0000082A 20D5 and ch,dl
0000082C 20D6 and dh,dl
0000082E 20D7 and bh,dl
00000830 20D8 and al,bl
00000832 20D9 and cl,bl
00000834 20DA and dl,bl
00000836 20DB and bl,bl
00000838 20DC and ah,bl
0000083A 20DD and ch,bl
0000083C 20DE and dh,bl
0000083E 20DF and bh,bl
00000840 20E0 and al,ah
00000842 20E1 and cl,ah
00000844 20E2 and dl,ah
00000846 20E3 and bl,ah
00000848 20E4 and ah,ah
0000084A 20E5 and ch,ah
0000084C 20E6 and dh,ah
0000084E 20E7 and bh,ah
00000850 20E8 and al,ch
00000852 20E9 and cl,ch
00000854 20EA and dl,ch
00000856 20EB and bl,ch
00000858 20EC and ah,ch
0000085A 20ED and ch,ch
0000085C 20EE and dh,ch
0000085E 20EF and bh,ch
00000860 20F0 and al,dh
00000862 20F1 and cl,dh
00000864 20F2 and dl,dh
00000866 20F3 and bl,dh
00000868 20F4 and ah,dh
0000086A 20F5 and ch,dh
0000086C 20F6 and dh,dh
0000086E 20F7 and bh,dh
00000870 20F8 and al,bh
00000872 20F9 and cl,bh
00000874 20FA and dl,bh
00000876 20FB and bl,bh
00000878 20FC and ah,bh
0000087A 20FD and ch,bh
0000087C 20FE and dh,bh
0000087E 20FF and bh,bh
00000880 21C0 and ax,ax
00000882 21C1 and cx,ax
00000884 21C2 and dx,ax
00000886 21C3 and bx,ax
00000888 21C4 and sp,ax
0000088A 21C5 and bp,ax
0000088C 21C6 and si,ax
0000088E 21C7 and di,ax
00000890 21C8 and ax,cx
00000892 21C9 and cx,cx
00000894 21CA and dx,cx
00000896 21CB and bx,cx
00000898 21CC and sp,cx
0000089A 21CD and bp,cx
0000089C 21CE and si,cx
0000089E 21CF and di,cx
000008A0 21D0 and ax,dx
000008A2 21D1 and cx,dx
000008A4 21D2 and dx,dx
000008A6 21D3 and bx,dx
000008A8 21D4 and sp,dx
000008AA 21D5 and bp,dx
000008AC 21D6 and si,dx
000008AE 21D7 and di,dx
000008B0 21D8 and ax,bx
000008B2 21D9 and cx,bx
000008B4 21DA and dx,bx
000008B6 21DB and bx,bx
000008B8 21DC and sp,bx
000008BA 21DD and bp,bx
000008BC 21DE and si,bx
000008BE 21DF and di,bx
000008C0 21E0 and ax,sp
000008C2 21E1 and cx,sp
000008C4 21E2 and dx,sp
000008C6 21E3 and bx,sp
000008C8 21E4 and sp,sp
000008CA 21E5 and bp,sp
000008CC 21E6 and si,sp
000008CE 21E7 and di,sp
000008D0 21E8 and ax,bp
000008D2 21E9 and cx,bp
000008D4 21EA and dx,bp
000008D6 21EB and bx,bp
000008D8 21EC and sp,bp
000008DA 21ED and bp,bp
000008DC 21EE and si,bp
000008DE 21EF and di,bp
000008E0 21F0 and ax,si
000008E2 21F1 and cx,si
000008E4 21F2 and dx,si
000008E6 21F3 and bx,si
000008E8 21F4 and sp,si
000008EA 21F5 and bp,si
000008EC 21F6 and si,si
000008EE 21F7 and di,si
000008F0 21F8 and ax,di
000008F2 21F9 and cx,di
000008F4 21FA and dx,di
000008F6 21FB and bx,di
000008F8 21FC and sp,di
000008FA 21FD and bp,di
000008FC 21FE and si,di
000008FE 21FF and di,di
00000900 22C0 and al,al
00000902 22C1 and al,cl
00000904 22C2 and al,dl
00000906 22C3 and al,bl
00000908 22C4 and al,ah
0000090A 22C5 and al,ch
0000090C 22C6 and al,dh
0000090E 22C7 and al,bh
00000910 22C8 and cl,al
00000912 22C9 and cl,cl
00000914 22CA and cl,dl
00000916 22CB and cl,bl
00000918 22CC and cl,ah
0000091A 22CD and cl,ch
0000091C 22CE and cl,dh
0000091E 22CF and cl,bh
00000920 22D0 and dl,al
00000922 22D1 and dl,cl
00000924 22D2 and dl,dl
00000926 22D3 and dl,bl
00000928 22D4 and dl,ah
0000092A 22D5 and dl,ch
0000092C 22D6 and dl,dh
0000092E 22D7 and dl,bh
00000930 22D8 and bl,al
00000932 22D9 and bl,cl
00000934 22DA and bl,dl
00000936 22DB and bl,bl
00000938 22DC and bl,ah
0000093A 22DD and bl,ch
0000093C 22DE and bl,dh
0000093E 22DF and bl,bh
00000940 22E0 and ah,al
00000942 22E1 and ah,cl
00000944 22E2 and ah,dl
00000946 22E3 and ah,bl
00000948 22E4 and ah,ah
0000094A 22E5 and ah,ch
0000094C 22E6 and ah,dh
0000094E 22E7 and ah,bh
00000950 22E8 and ch,al
00000952 22E9 and ch,cl
00000954 22EA and ch,dl
00000956 22EB and ch,bl
00000958 22EC and ch,ah
0000095A 22ED and ch,ch
0000095C 22EE and ch,dh
0000095E 22EF and ch,bh
00000960 22F0 and dh,al
00000962 22F1 and dh,cl
00000964 22F2 and dh,dl
00000966 22F3 and dh,bl
00000968 22F4 and dh,ah
0000096A 22F5 and dh,ch
0000096C 22F6 and dh,dh
0000096E 22F7 and dh,bh
00000970 22F8 and bh,al
00000972 22F9 and bh,cl
00000974 22FA and bh,dl
00000976 22FB and bh,bl
00000978 22FC and bh,ah
0000097A 22FD and bh,ch
0000097C 22FE and bh,dh
0000097E 22FF and bh,bh
00000980 23C0 and ax,ax
00000982 23C1 and ax,cx
00000984 23C2 and ax,dx
00000986 23C3 and ax,bx
00000988 23C4 and ax,sp
0000098A 23C5 and ax,bp
0000098C 23C6 and ax,si
0000098E 23C7 and ax,di
00000990 23C8 and cx,ax
00000992 23C9 and cx,cx
00000994 23CA and cx,dx
00000996 23CB and cx,bx
00000998 23CC and cx,sp
0000099A 23CD and cx,bp
0000099C 23CE and cx,si
0000099E 23CF and cx,di
000009A0 23D0 and dx,ax
000009A2 23D1 and dx,cx
000009A4 23D2 and dx,dx
000009A6 23D3 and dx,bx
000009A8 23D4 and dx,sp
000009AA 23D5 and dx,bp
000009AC 23D6 and dx,si
000009AE 23D7 and dx,di
000009B0 23D8 and bx,ax
000009B2 23D9 and bx,cx
000009B4 23DA and bx,dx
000009B6 23DB and bx,bx
000009B8 23DC and bx,sp
000009BA 23DD and bx,bp
000009BC 23DE and bx,si
000009BE 23DF and bx,di
000009C0 23E0 and sp,ax
000009C2 23E1 and sp,cx
000009C4 23E2 and sp,dx
000009C6 23E3 and sp,bx
000009C8 23E4 and sp,sp
000009CA 23E5 and sp,bp
000009CC 23E6 and sp,si
000009CE 23E7 and sp,di
000009D0 23E8 and bp,ax
000009D2 23E9 and bp,cx
000009D4 23EA and bp,dx
000009D6 23EB and bp,bx
000009D8 23EC and bp,sp
000009DA 23ED and bp,bp
000009DC 23EE and bp,si
000009DE 23EF and bp,di
000009E0 23F0 and si,ax
000009E2 23F1 and si,cx
000009E4 23F2 and si,dx
000009E6 23F3 and si,bx
000009E8 23F4 and si,sp
000009EA 23F5 and si,bp
000009EC 23F6 and si,si
000009EE 23F7 and si,di
000009F0 23F8 and di,ax
000009F2 23F9 and di,cx
000009F4 23FA and di,dx
000009F6 23FB and di,bx
000009F8 23FC and di,sp
000009FA 23FD and di,bp
000009FC 23FE and di,si
000009FE 23FF and di,di
00000A00 30C0 xor al,al
00000A02 30C1 xor cl,al
00000A04 30C2 xor dl,al
00000A06 30C3 xor bl,al
00000A08 30C4 xor ah,al
00000A0A 30C5 xor ch,al
00000A0C 30C6 xor dh,al
00000A0E 30C7 xor bh,al
00000A10 30C8 xor al,cl
00000A12 30C9 xor cl,cl
00000A14 30CA xor dl,cl
00000A16 30CB xor bl,cl
00000A18 30CC xor ah,cl
00000A1A 30CD xor ch,cl
00000A1C 30CE xor dh,cl
00000A1E 30CF xor bh,cl
00000A20 30D0 xor al,dl
00000A22 30D1 xor cl,dl
00000A24 30D2 xor dl,dl
00000A26 30D3 xor bl,dl
00000A28 30D4 xor ah,dl
00000A2A 30D5 xor ch,dl
00000A2C 30D6 xor dh,dl
00000A2E 30D7 xor bh,dl
00000A30 30D8 xor al,bl
00000A32 30D9 xor cl,bl
00000A34 30DA xor dl,bl
00000A36 30DB xor bl,bl
00000A38 30DC xor ah,bl
00000A3A 30DD xor ch,bl
00000A3C 30DE xor dh,bl
00000A3E 30DF xor bh,bl
00000A40 30E0 xor al,ah
00000A42 30E1 xor cl,ah
00000A44 30E2 xor dl,ah
00000A46 30E3 xor bl,ah
00000A48 30E4 xor ah,ah
00000A4A 30E5 xor ch,ah
00000A4C 30E6 xor dh,ah
00000A4E 30E7 xor bh,ah
00000A50 30E8 xor al,ch
00000A52 30E9 xor cl,ch
00000A54 30EA xor dl,ch
00000A56 30EB xor bl,ch
00000A58 30EC xor ah,ch
00000A5A 30ED xor ch,ch
00000A5C 30EE xor dh,ch
00000A5E 30EF xor bh,ch
00000A60 30F0 xor al,dh
00000A62 30F1 xor cl,dh
00000A64 30F2 xor dl,dh
00000A66 30F3 xor bl,dh
00000A68 30F4 xor ah,dh
00000A6A 30F5 xor ch,dh
00000A6C 30F6 xor dh,dh
00000A6E 30F7 xor bh,dh
00000A70 30F8 xor al,bh
00000A72 30F9 xor cl,bh
00000A74 30FA xor dl,bh
00000A76 30FB xor bl,bh
00000A78 30FC xor ah,bh
00000A7A 30FD xor ch,bh
00000A7C 30FE xor dh,bh
00000A7E 30FF xor bh,bh
00000A80 31C0 xor ax,ax
00000A82 31C1 xor cx,ax
00000A84 31C2 xor dx,ax
00000A86 31C3 xor bx,ax
00000A88 31C4 xor sp,ax
00000A8A 31C5 xor bp,ax
00000A8C 31C6 xor si,ax
00000A8E 31C7 xor di,ax
00000A90 31C8 xor ax,cx
00000A92 31C9 xor cx,cx
00000A94 31CA xor dx,cx
00000A96 31CB xor bx,cx
00000A98 31CC xor sp,cx
00000A9A 31CD xor bp,cx
00000A9C 31CE xor si,cx
00000A9E 31CF xor di,cx
00000AA0 31D0 xor ax,dx
00000AA2 31D1 xor cx,dx
00000AA4 31D2 xor dx,dx
00000AA6 31D3 xor bx,dx
00000AA8 31D4 xor sp,dx
00000AAA 31D5 xor bp,dx
00000AAC 31D6 xor si,dx
00000AAE 31D7 xor di,dx
00000AB0 31D8 xor ax,bx
00000AB2 31D9 xor cx,bx
00000AB4 31DA xor dx,bx
00000AB6 31DB xor bx,bx
00000AB8 31DC xor sp,bx
00000ABA 31DD xor bp,bx
00000ABC 31DE xor si,bx
00000ABE 31DF xor di,bx
00000AC0 31E0 xor ax,sp
00000AC2 31E1 xor cx,sp
00000AC4 31E2 xor dx,sp
00000AC6 31E3 xor bx,sp
00000AC8 31E4 xor sp,sp
00000ACA 31E5 xor bp,sp
00000ACC 31E6 xor si,sp
00000ACE 31E7 xor di,sp
00000AD0 31E8 xor ax,bp
00000AD2 31E9 xor cx,bp
00000AD4 31EA xor dx,bp
00000AD6 31EB xor bx,bp
00000AD8 31EC xor sp,bp
00000ADA 31ED xor bp,bp
00000ADC 31EE xor si,bp
00000ADE 31EF xor di,bp
00000AE0 31F0 xor ax,si
00000AE2 31F1 xor cx,si
00000AE4 31F2 xor dx,si
00000AE6 31F3 xor bx,si
00000AE8 31F4 xor sp,si
00000AEA 31F5 xor bp,si
00000AEC 31F6 xor si,si
00000AEE 31F7 xor di,si
00000AF0 31F8 xor ax,di
00000AF2 31F9 xor cx,di
00000AF4 31FA xor dx,di
00000AF6 31FB xor bx,di
00000AF8 31FC xor sp,di
00000AFA 31FD xor bp,di
00000AFC 31FE xor si,di
00000AFE 31FF xor di,di
00000B00 32C0 xor al,al
00000B02 32C1 xor al,cl
00000B04 32C2 xor al,dl
00000B06 32C3 xor al,bl
00000B08 32C4 xor al,ah
00000B0A 32C5 xor al,ch
00000B0C 32C6 xor al,dh
00000B0E 32C7 xor al,bh
00000B10 32C8 xor cl,al
00000B12 32C9 xor cl,cl
00000B14 32CA xor cl,dl
00000B16 32CB xor cl,bl
00000B18 32CC xor cl,ah
00000B1A 32CD xor cl,ch
00000B1C 32CE xor cl,dh
00000B1E 32CF xor cl,bh
00000B20 32D0 xor dl,al
00000B22 32D1 xor dl,cl
00000B24 32D2 xor dl,dl
00000B26 32D3 xor dl,bl
00000B28 32D4 xor dl,ah
00000B2A 32D5 xor dl,ch
00000B2C 32D6 xor dl,dh
00000B2E 32D7 xor dl,bh
00000B30 32D8 xor bl,al
00000B32 32D9 xor bl,cl
00000B34 32DA xor bl,dl
00000B36 32DB xor bl,bl
00000B38 32DC xor bl,ah
00000B3A 32DD xor bl,ch
00000B3C 32DE xor bl,dh
00000B3E 32DF xor bl,bh
00000B40 32E0 xor ah,al
00000B42 32E1 xor ah,cl
00000B44 32E2 xor ah,dl
00000B46 32E3 xor ah,bl
00000B48 32E4 xor ah,ah
00000B4A 32E5 xor ah,ch
00000B4C 32E6 xor ah,dh
00000B4E 32E7 xor ah,bh
00000B50 32E8 xor ch,al
00000B52 32E9 xor ch,cl
00000B54 32EA xor ch,dl
00000B56 32EB xor ch,bl
00000B58 32EC xor ch,ah
00000B5A 32ED xor ch,ch
00000B5C 32EE xor ch,dh
00000B5E 32EF xor ch,bh
00000B60 32F0 xor dh,al
00000B62 32F1 xor dh,cl
00000B64 32F2 xor dh,dl
00000B66 32F3 xor dh,bl
00000B68 32F4 xor dh,ah
00000B6A 32F5 xor dh,ch
00000B6C 32F6 xor dh,dh
00000B6E 32F7 xor dh,bh
00000B70 32F8 xor bh,al
00000B72 32F9 xor bh,cl
00000B74 32FA xor bh,dl
00000B76 32FB xor bh,bl
00000B78 32FC xor bh,ah
00000B7A 32FD xor bh,ch
00000B7C 32FE xor bh,dh
00000B7E 32FF xor bh,bh
00000B80 33C0 xor ax,ax
00000B82 33C1 xor ax,cx
00000B84 33C2 xor ax,dx
00000B86 33C3 xor ax,bx
00000B88 33C4 xor ax,sp
00000B8A 33C5 xor ax,bp
00000B8C 33C6 xor ax,si
00000B8E 33C7 xor ax,di
00000B90 33C8 xor cx,ax
00000B92 33C9 xor cx,cx
00000B94 33CA xor cx,dx
00000B96 33CB xor cx,bx
00000B98 33CC xor cx,sp
00000B9A 33CD xor cx,bp
00000B9C 33CE xor cx,si
00000B9E 33CF xor cx,di
00000BA0 33D0 xor dx,ax
00000BA2 33D1 xor dx,cx
00000BA4 33D2 xor dx,dx
00000BA6 33D3 xor dx,bx
00000BA8 33D4 xor dx,sp
00000BAA 33D5 xor dx,bp
00000BAC 33D6 xor dx,si
00000BAE 33D7 xor dx,di
00000BB0 33D8 xor bx,ax
00000BB2 33D9 xor bx,cx
00000BB4 33DA xor bx,dx
00000BB6 33DB xor bx,bx
00000BB8 33DC xor bx,sp
00000BBA 33DD xor bx,bp
00000BBC 33DE xor bx,si
00000BBE 33DF xor bx,di
00000BC0 33E0 xor sp,ax
00000BC2 33E1 xor sp,cx
00000BC4 33E2 xor sp,dx
00000BC6 33E3 xor sp,bx
00000BC8 33E4 xor sp,sp
00000BCA 33E5 xor sp,bp
00000BCC 33E6 xor sp,si
00000BCE 33E7 xor sp,di
00000BD0 33E8 xor bp,ax
00000BD2 33E9 xor bp,cx
00000BD4 33EA xor bp,dx
00000BD6 33EB xor bp,bx
00000BD8 33EC xor bp,sp
00000BDA 33ED xor bp,bp
00000BDC 33EE xor bp,si
00000BDE 33EF xor bp,di
00000BE0 33F0 xor si,ax
00000BE2 33F1 xor si,cx
00000BE4 33F2 xor si,dx
00000BE6 33F3 xor si,bx
00000BE8 33F4 xor si,sp
00000BEA 33F5 xor si,bp
00000BEC 33F6 xor si,si
00000BEE 33F7 xor si,di
00000BF0 33F8 xor di,ax
00000BF2 33F9 xor di,cx
00000BF4 33FA xor di,dx
00000BF6 33FB xor di,bx
00000BF8 33FC xor di,sp
00000BFA 33FD xor di,bp
00000BFC 33FE xor di,si
00000BFE 33FF xor di,di
00000C00 38C0 cmp al,al
00000C02 38C1 cmp cl,al
00000C04 38C2 cmp dl,al
00000C06 38C3 cmp bl,al
00000C08 38C4 cmp ah,al
00000C0A 38C5 cmp ch,al
00000C0C 38C6 cmp dh,al
00000C0E 38C7 cmp bh,al
00000C10 38C8 cmp al,cl
00000C12 38C9 cmp cl,cl
00000C14 38CA cmp dl,cl
00000C16 38CB cmp bl,cl
00000C18 38CC cmp ah,cl
00000C1A 38CD cmp ch,cl
00000C1C 38CE cmp dh,cl
00000C1E 38CF cmp bh,cl
00000C20 38D0 cmp al,dl
00000C22 38D1 cmp cl,dl
00000C24 38D2 cmp dl,dl
00000C26 38D3 cmp bl,dl
00000C28 38D4 cmp ah,dl
00000C2A 38D5 cmp ch,dl
00000C2C 38D6 cmp dh,dl
00000C2E 38D7 cmp bh,dl
00000C30 38D8 cmp al,bl
00000C32 38D9 cmp cl,bl
00000C34 38DA cmp dl,bl
00000C36 38DB cmp bl,bl
00000C38 38DC cmp ah,bl
00000C3A 38DD cmp ch,bl
00000C3C 38DE cmp dh,bl
00000C3E 38DF cmp bh,bl
00000C40 38E0 cmp al,ah
00000C42 38E1 cmp cl,ah
00000C44 38E2 cmp dl,ah
00000C46 38E3 cmp bl,ah
00000C48 38E4 cmp ah,ah
00000C4A 38E5 cmp ch,ah
00000C4C 38E6 cmp dh,ah
00000C4E 38E7 cmp bh,ah
00000C50 38E8 cmp al,ch
00000C52 38E9 cmp cl,ch
00000C54 38EA cmp dl,ch
00000C56 38EB cmp bl,ch
00000C58 38EC cmp ah,ch
00000C5A 38ED cmp ch,ch
00000C5C 38EE cmp dh,ch
00000C5E 38EF cmp bh,ch
00000C60 38F0 cmp al,dh
00000C62 38F1 cmp cl,dh
00000C64 38F2 cmp dl,dh
00000C66 38F3 cmp bl,dh
00000C68 38F4 cmp ah,dh
00000C6A 38F5 cmp ch,dh
00000C6C 38F6 cmp dh,dh
00000C6E 38F7 cmp bh,dh
00000C70 38F8 cmp al,bh
00000C72 38F9 cmp cl,bh
00000C74 38FA cmp dl,bh
00000C76 38FB cmp bl,bh
00000C78 38FC cmp ah,bh
00000C7A 38FD cmp ch,bh
00000C7C 38FE cmp dh,bh
00000C7E 38FF cmp bh,bh
00000C80 39C0 cmp ax,ax
00000C82 39C1 cmp cx,ax
00000C84 39C2 cmp dx,ax
00000C86 39C3 cmp bx,ax
00000C88 39C4 cmp sp,ax
00000C8A 39C5 cmp bp,ax
00000C8C 39C6 cmp si,ax
00000C8E 39C7 cmp di,ax
00000C90 39C8 cmp ax,cx
00000C92 39C9 cmp cx,cx
00000C94 39CA cmp dx,cx
00000C96 39CB cmp bx,cx
00000C98 39CC cmp sp,cx
00000C9A 39CD cmp bp,cx
00000C9C 39CE cmp si,cx
00000C9E 39CF cmp di,cx
00000CA0 39D0 cmp ax,dx
00000CA2 39D1 cmp cx,dx
00000CA4 39D2 cmp dx,dx
00000CA6 39D3 cmp bx,dx
00000CA8 39D4 cmp sp,dx
00000CAA 39D5 cmp bp,dx
00000CAC 39D6 cmp si,dx
00000CAE 39D7 cmp di,dx
00000CB0 39D8 cmp ax,bx
00000CB2 39D9 cmp cx,bx
00000CB4 39DA cmp dx,bx
00000CB6 39DB cmp bx,bx
00000CB8 39DC cmp sp,bx
00000CBA 39DD cmp bp,bx
00000CBC 39DE cmp si,bx
00000CBE 39DF cmp di,bx
00000CC0 39E0 cmp ax,sp
00000CC2 39E1 cmp cx,sp
00000CC4 39E2 cmp dx,sp
00000CC6 39E3 cmp bx,sp
00000CC8 39E4 cmp sp,sp
00000CCA 39E5 cmp bp,sp
00000CCC 39E6 cmp si,sp
00000CCE 39E7 cmp di,sp
00000CD0 39E8 cmp ax,bp
00000CD2 39E9 cmp cx,bp
00000CD4 39EA cmp dx,bp
00000CD6 39EB cmp bx,bp
00000CD8 39EC cmp sp,bp
00000CDA 39ED cmp bp,bp
00000CDC 39EE cmp si,bp
00000CDE 39EF cmp di,bp
00000CE0 39F0 cmp ax,si
00000CE2 39F1 cmp cx,si
00000CE4 39F2 cmp dx,si
00000CE6 39F3 cmp bx,si
00000CE8 39F4 cmp sp,si
00000CEA 39F5 cmp bp,si
00000CEC 39F6 cmp si,si
00000CEE 39F7 cmp di,si
00000CF0 39F8 cmp ax,di
00000CF2 39F9 cmp cx,di
00000CF4 39FA cmp dx,di
00000CF6 39FB cmp bx,di
00000CF8 39FC cmp sp,di
00000CFA 39FD cmp bp,di
00000CFC 39FE cmp si,di
00000CFE 39FF cmp di,di
00000D00 3AC0 cmp al,al
00000D02 3AC1 cmp al,cl
00000D04 3AC2 cmp al,dl
00000D06 3AC3 cmp al,bl
00000D08 3AC4 cmp al,ah
00000D0A 3AC5 cmp al,ch
00000D0C 3AC6 cmp al,dh
00000D0E 3AC7 cmp al,bh
00000D10 3AC8 cmp cl,al
00000D12 3AC9 cmp cl,cl
00000D14 3ACA cmp cl,dl
00000D16 3ACB cmp cl,bl
00000D18 3ACC cmp cl,ah
00000D1A 3ACD cmp cl,ch
00000D1C 3ACE cmp cl,dh
00000D1E 3ACF cmp cl,bh
00000D20 3AD0 cmp dl,al
00000D22 3AD1 cmp dl,cl
00000D24 3AD2 cmp dl,dl
00000D26 3AD3 cmp dl,bl
00000D28 3AD4 cmp dl,ah
00000D2A 3AD5 cmp dl,ch
00000D2C 3AD6 cmp dl,dh
00000D2E 3AD7 cmp dl,bh
00000D30 3AD8 cmp bl,al
00000D32 3AD9 cmp bl,cl
00000D34 3ADA cmp bl,dl
00000D36 3ADB cmp bl,bl
00000D38 3ADC cmp bl,ah
00000D3A 3ADD cmp bl,ch
00000D3C 3ADE cmp bl,dh
00000D3E 3ADF cmp bl,bh
00000D40 3AE0 cmp ah,al
00000D42 3AE1 cmp ah,cl
00000D44 3AE2 cmp ah,dl
00000D46 3AE3 cmp ah,bl
00000D48 3AE4 cmp ah,ah
00000D4A 3AE5 cmp ah,ch
00000D4C 3AE6 cmp ah,dh
00000D4E 3AE7 cmp ah,bh
00000D50 3AE8 cmp ch,al
00000D52 3AE9 cmp ch,cl
00000D54 3AEA cmp ch,dl
00000D56 3AEB cmp ch,bl
00000D58 3AEC cmp ch,ah
00000D5A 3AED cmp ch,ch
00000D5C 3AEE cmp ch,dh
00000D5E 3AEF cmp ch,bh
00000D60 3AF0 cmp dh,al
00000D62 3AF1 cmp dh,cl
00000D64 3AF2 cmp dh,dl
00000D66 3AF3 cmp dh,bl
00000D68 3AF4 cmp dh,ah
00000D6A 3AF5 cmp dh,ch
00000D6C 3AF6 cmp dh,dh
00000D6E 3AF7 cmp dh,bh
00000D70 3AF8 cmp bh,al
00000D72 3AF9 cmp bh,cl
00000D74 3AFA cmp bh,dl
00000D76 3AFB cmp bh,bl
00000D78 3AFC cmp bh,ah
00000D7A 3AFD cmp bh,ch
00000D7C 3AFE cmp bh,dh
00000D7E 3AFF cmp bh,bh
00000D80 3BC0 cmp ax,ax
00000D82 3BC1 cmp ax,cx
00000D84 3BC2 cmp ax,dx
00000D86 3BC3 cmp ax,bx
00000D88 3BC4 cmp ax,sp
00000D8A 3BC5 cmp ax,bp
00000D8C 3BC6 cmp ax,si
00000D8E 3BC7 cmp ax,di
00000D90 3BC8 cmp cx,ax
00000D92 3BC9 cmp cx,cx
00000D94 3BCA cmp cx,dx
00000D96 3BCB cmp cx,bx
00000D98 3BCC cmp cx,sp
00000D9A 3BCD cmp cx,bp
00000D9C 3BCE cmp cx,si
00000D9E 3BCF cmp cx,di
00000DA0 3BD0 cmp dx,ax
00000DA2 3BD1 cmp dx,cx
00000DA4 3BD2 cmp dx,dx
00000DA6 3BD3 cmp dx,bx
00000DA8 3BD4 cmp dx,sp
00000DAA 3BD5 cmp dx,bp
00000DAC 3BD6 cmp dx,si
00000DAE 3BD7 cmp dx,di
00000DB0 3BD8 cmp bx,ax
00000DB2 3BD9 cmp bx,cx
00000DB4 3BDA cmp bx,dx
00000DB6 3BDB cmp bx,bx
00000DB8 3BDC cmp bx,sp
00000DBA 3BDD cmp bx,bp
00000DBC 3BDE cmp bx,si
00000DBE 3BDF cmp bx,di
00000DC0 3BE0 cmp sp,ax
00000DC2 3BE1 cmp sp,cx
00000DC4 3BE2 cmp sp,dx
00000DC6 3BE3 cmp sp,bx
00000DC8 3BE4 cmp sp,sp
00000DCA 3BE5 cmp sp,bp
00000DCC 3BE6 cmp sp,si
00000DCE 3BE7 cmp sp,di
00000DD0 3BE8 cmp bp,ax
00000DD2 3BE9 cmp bp,cx
00000DD4 3BEA cmp bp,dx
00000DD6 3BEB cmp bp,bx
00000DD8 3BEC cmp bp,sp
00000DDA 3BED cmp bp,bp
00000DDC 3BEE cmp bp,si
00000DDE 3BEF cmp bp,di
00000DE0 3BF0 cmp si,ax
00000DE2 3BF1 cmp si,cx
00000DE4 3BF2 cmp si,dx
00000DE6 3BF3 cmp si,bx
00000DE8 3BF4 cmp si,sp
00000DEA 3BF5 cmp si,bp
00000DEC 3BF6 cmp si,si
00000DEE 3BF7 cmp si,di
00000DF0 3BF8 cmp di,ax
00000DF2 3BF9 cmp di,cx
00000DF4 3BFA cmp di,dx
00000DF6 3BFB cmp di,bx
00000DF8 3BFC cmp di,sp
00000DFA 3BFD cmp di,bp
00000DFC 3BFE cmp di,si
00000DFE 3BFF cmp di,di
00000E00 40 inc ax
00000E01 41 inc cx
00000E02 42 inc dx
00000E03 43 inc bx
00000E04 44 inc sp
00000E05 45 inc bp
00000E06 46 inc si
00000E07 47 inc di
00000E08 48 dec ax
00000E09 49 dec cx
00000E0A 4A dec dx
00000E0B 4B dec bx
00000E0C 4C dec sp
00000E0D 4D dec bp
00000E0E 4E dec si
00000E0F 4F dec di
00000E10 50 push ax
00000E11 51 push cx
00000E12 52 push dx
00000E13 53 push bx
00000E14 54 push sp
00000E15 55 push bp
00000E16 56 push si
00000E17 57 push di
00000E18 58 pop ax
00000E19 59 pop cx
00000E1A 5A pop dx
00000E1B 5B pop bx
00000E1C 5C pop sp
00000E1D 5D pop bp
00000E1E 5E pop si
00000E1F 5F pop di
00000E20 60 pusha
00000E21 61 popa
00000E22 88C0 mov al,al
00000E24 88C1 mov cl,al
00000E26 88C2 mov dl,al
00000E28 88C3 mov bl,al
00000E2A 88C4 mov ah,al
00000E2C 88C5 mov ch,al
00000E2E 88C6 mov dh,al
00000E30 88C7 mov bh,al
00000E32 88C8 mov al,cl
00000E34 88C9 mov cl,cl
00000E36 88CA mov dl,cl
00000E38 88CB mov bl,cl
00000E3A 88CC mov ah,cl
00000E3C 88CD mov ch,cl
00000E3E 88CE mov dh,cl
00000E40 88CF mov bh,cl
00000E42 88D0 mov al,dl
00000E44 88D1 mov cl,dl
00000E46 88D2 mov dl,dl
00000E48 88D3 mov bl,dl
00000E4A 88D4 mov ah,dl
00000E4C 88D5 mov ch,dl
00000E4E 88D6 mov dh,dl
00000E50 88D7 mov bh,dl
00000E52 88D8 mov al,bl
00000E54 88D9 mov cl,bl
00000E56 88DA mov dl,bl
00000E58 88DB mov bl,bl
00000E5A 88DC mov ah,bl
00000E5C 88DD mov ch,bl
00000E5E 88DE mov dh,bl
00000E60 88DF mov bh,bl
00000E62 88E0 mov al,ah
00000E64 88E1 mov cl,ah
00000E66 88E2 mov dl,ah
00000E68 88E3 mov bl,ah
00000E6A 88E4 mov ah,ah
00000E6C 88E5 mov ch,ah
00000E6E 88E6 mov dh,ah
00000E70 88E7 mov bh,ah
00000E72 88E8 mov al,ch
00000E74 88E9 mov cl,ch
00000E76 88EA mov dl,ch
00000E78 88EB mov bl,ch
00000E7A 88EC mov ah,ch
00000E7C 88ED mov ch,ch
00000E7E 88EE mov dh,ch
00000E80 88EF mov bh,ch
00000E82 88F0 mov al,dh
00000E84 88F1 mov cl,dh
00000E86 88F2 mov dl,dh
00000E88 88F3 mov bl,dh
00000E8A 88F4 mov ah,dh
00000E8C 88F5 mov ch,dh
00000E8E 88F6 mov dh,dh
00000E90 88F7 mov bh,dh
00000E92 88F8 mov al,bh
00000E94 88F9 mov cl,bh
00000E96 88FA mov dl,bh
00000E98 88FB mov bl,bh
00000E9A 88FC mov ah,bh
00000E9C 88FD mov ch,bh
00000E9E 88FE mov dh,bh
00000EA0 88FF mov bh,bh
00000EA2 89C0 mov ax,ax
00000EA4 89C1 mov cx,ax
00000EA6 89C2 mov dx,ax
00000EA8 89C3 mov bx,ax
00000EAA 89C4 mov sp,ax
00000EAC 89C5 mov bp,ax
00000EAE 89C6 mov si,ax
00000EB0 89C7 mov di,ax
00000EB2 89C8 mov ax,cx
00000EB4 89C9 mov cx,cx
00000EB6 89CA mov dx,cx
00000EB8 89CB mov bx,cx
00000EBA 89CC mov sp,cx
00000EBC 89CD mov bp,cx
00000EBE 89CE mov si,cx
00000EC0 89CF mov di,cx
00000EC2 89D0 mov ax,dx
00000EC4 89D1 mov cx,dx
00000EC6 89D2 mov dx,dx
00000EC8 89D3 mov bx,dx
00000ECA 89D4 mov sp,dx
00000ECC 89D5 mov bp,dx
00000ECE 89D6 mov si,dx
00000ED0 89D7 mov di,dx
00000ED2 89D8 mov ax,bx
00000ED4 89D9 mov cx,bx
00000ED6 89DA mov dx,bx
00000ED8 89DB mov bx,bx
00000EDA 89DC mov sp,bx
00000EDC 89DD mov bp,bx
00000EDE 89DE mov si,bx
00000EE0 89DF mov di,bx
00000EE2 89E0 mov ax,sp
00000EE4 89E1 mov cx,sp
00000EE6 89E2 mov dx,sp
00000EE8 89E3 mov bx,sp
00000EEA 89E4 mov sp,sp
00000EEC 89E5 mov bp,sp
00000EEE 89E6 mov si,sp
00000EF0 89E7 mov di,sp
00000EF2 89E8 mov ax,bp
00000EF4 89E9 mov cx,bp
00000EF6 89EA mov dx,bp
00000EF8 89EB mov bx,bp
00000EFA 89EC mov sp,bp
00000EFC 89ED mov bp,bp
00000EFE 89EE mov si,bp
00000F00 89EF mov di,bp
00000F02 89F0 mov ax,si
00000F04 89F1 mov cx,si
00000F06 89F2 mov dx,si
00000F08 89F3 mov bx,si
00000F0A 89F4 mov sp,si
00000F0C 89F5 mov bp,si
00000F0E 89F6 mov si,si
00000F10 89F7 mov di,si
00000F12 89F8 mov ax,di
00000F14 89F9 mov cx,di
00000F16 89FA mov dx,di
00000F18 89FB mov bx,di
00000F1A 89FC mov sp,di
00000F1C 89FD mov bp,di
00000F1E 89FE mov si,di
00000F20 89FF mov di,di
00000F22 D3C0 rol ax,cl
00000F24 D3C1 rol cx,cl
00000F26 D3C2 rol dx,cl
00000F28 D3C3 rol bx,cl
00000F2A D3C4 rol sp,cl
00000F2C D3C5 rol bp,cl
00000F2E D3C6 rol si,cl
00000F30 D3C7 rol di,cl
00000F32 D3C8 ror ax,cl
00000F34 D3C9 ror cx,cl
00000F36 D3CA ror dx,cl
00000F38 D3CB ror bx,cl
00000F3A D3CC ror sp,cl
00000F3C D3CD ror bp,cl
00000F3E D3CE ror si,cl
00000F40 D3CF ror di,cl
00000F42 D3D0 rcl ax,cl
00000F44 D3D1 rcl cx,cl
00000F46 D3D2 rcl dx,cl
00000F48 D3D3 rcl bx,cl
00000F4A D3D4 rcl sp,cl
00000F4C D3D5 rcl bp,cl
00000F4E D3D6 rcl si,cl
00000F50 D3D7 rcl di,cl
00000F52 D3D8 rcr ax,cl
00000F54 D3D9 rcr cx,cl
00000F56 D3DA rcr dx,cl
00000F58 D3DB rcr bx,cl
00000F5A D3DC rcr sp,cl
00000F5C D3DD rcr bp,cl
00000F5E D3DE rcr si,cl
00000F60 D3DF rcr di,cl
00000F62 D3E0 shl ax,cl
00000F64 D3E1 shl cx,cl
00000F66 D3E2 shl dx,cl
00000F68 D3E3 shl bx,cl
00000F6A D3E4 shl sp,cl
00000F6C D3E5 shl bp,cl
00000F6E D3E6 shl si,cl
00000F70 D3E7 shl di,cl
00000F72 D3E8 shr ax,cl
00000F74 D3E9 shr cx,cl
00000F76 D3EA shr dx,cl
00000F78 D3EB shr bx,cl
00000F7A D3EC shr sp,cl
00000F7C D3ED shr bp,cl
00000F7E D3EE shr si,cl
00000F80 D3EF shr di,cl
00000F82 F6D0 not al
00000F84 F6D1 not cl
00000F86 F6D2 not dl
00000F88 F6D3 not bl
00000F8A F6D4 not ah
00000F8C F6D5 not ch
00000F8E F6D6 not dh
00000F90 F6D7 not bh
00000F92 F6D8 neg al
00000F94 F6D9 neg cl
00000F96 F6DA neg dl
00000F98 F6DB neg bl
00000F9A F6DC neg ah
00000F9C F6DD neg ch
00000F9E F6DE neg dh
00000FA0 F6DF neg bh
00000FA2 F6E0 mul al
00000FA4 F6E1 mul cl
00000FA6 F6E2 mul dl
00000FA8 F6E3 mul bl
00000FAA F6E4 mul ah
00000FAC F6E5 mul ch
00000FAE F6E6 mul dh
00000FB0 F6E7 mul bh
00000FB2 F6E8 imul al
00000FB4 F6E9 imul cl
00000FB6 F6EA imul dl
00000FB8 F6EB imul bl
00000FBA F6EC imul ah
00000FBC F6ED imul ch
00000FBE F6EE imul dh
00000FC0 F6EF imul bh
00000FC2 F6F0 div al
00000FC4 F6F1 div cl
00000FC6 F6F2 div dl
00000FC8 F6F3 div bl
00000FCA F6F4 div ah
00000FCC F6F5 div ch
00000FCE F6F6 div dh
00000FD0 F6F7 div bh
00000FD2 F6F8 idiv al
00000FD4 F6F9 idiv cl
00000FD6 F6FA idiv dl
00000FD8 F6FB idiv bl
00000FDA F6FC idiv ah
00000FDC F6FD idiv ch
00000FDE F6FE idiv dh
00000FE0 F6FF idiv bh
00000FE2 F7D0 not ax
00000FE4 F7D1 not cx
00000FE6 F7D2 not dx
00000FE8 F7D3 not bx
00000FEA F7D4 not sp
00000FEC F7D5 not bp
00000FEE F7D6 not si
00000FF0 F7D7 not di
00000FF2 F7D8 neg ax
00000FF4 F7D9 neg cx
00000FF6 F7DA neg dx
00000FF8 F7DB neg bx
00000FFA F7DC neg sp
00000FFC F7DD neg bp
00000FFE F7DE neg si
00001000 F7DF neg di
00001002 F7E0 mul ax
00001004 F7E1 mul cx
00001006 F7E2 mul dx
00001008 F7E3 mul bx
0000100A F7E4 mul sp
0000100C F7E5 mul bp
0000100E F7E6 mul si
00001010 F7E7 mul di
00001012 F7E8 imul ax
00001014 F7E9 imul cx
00001016 F7EA imul dx
00001018 F7EB imul bx
0000101A F7EC imul sp
0000101C F7ED imul bp
0000101E F7EE imul si
00001020 F7EF imul di
00001022 F7F0 div ax
00001024 F7F1 div cx
00001026 F7F2 div dx
00001028 F7F3 div bx
0000102A F7F4 div sp
0000102C F7F5 div bp
0000102E F7F6 div si
00001030 F7F7 div di
00001032 F7F8 idiv ax
00001034 F7F9 idiv cx
00001036 F7FA idiv dx
00001038 F7FB idiv bx
0000103A F7FC idiv sp
0000103C F7FD idiv bp
0000103E F7FE idiv si
00001040 F7FF idiv di

It's gonna be a pain to explain addressing memory!
I think maybe jumps would be a good idea for my next goal because they're pretty simple
compared to the memory stuff.

The hard part of memory is the way it's addressed in the syntax.
It takes so many bytes to do it too unless you utilize the SI and DO registers!

Posted on Feb 1, 2007, 7:42 PM

Respond to this message   

Return to Index


HTML Markup for Moneo's Qbasic Rounding Table.

by Pete (no login)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>QBasic Rounding Table</title>
</head>
<body style="background-color: rgb(0, 0, 102);">
<div align="center">
<p><font size="+3"><span style="color: rgb(255, 255, 255); background-color: rgb(51, 51, 255);">&nbsp;QBasic
Rounding Table&nbsp;<font size="+2">&nbsp;By Edward S. Moneo&nbsp; </font></span></font>
</p>
<table style="text-align: left; margin-left: auto; margin-right: auto;" border="2" cellpadding="15" cellspacing="2">
<tbody>
<tr>
<td style="text-align: left; background-color: rgb(255, 255, 255);"><span style="font-family: monospace; font-size: 16px";>&nbsp;&nbsp;&nbsp;N&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INT(N)&nbsp;&nbsp;&nbsp;CINT(N)&nbsp;&nbsp;&nbsp;INT(N+.5)&nbsp;&nbsp;&nbsp;CINT(N+.5)&nbsp;&nbsp;&nbsp;PUSING(N)&nbsp;&nbsp;SAM(N)<br>
------&nbsp;&nbsp;&nbsp;------&nbsp;&nbsp;&nbsp;-------&nbsp;&nbsp;&nbsp;---------&nbsp;&nbsp;&nbsp;----------&nbsp;&nbsp;&nbsp;---------&nbsp;&nbsp;------<br>

-100.3&nbsp;&nbsp;&nbsp;-101&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-100<br>

-100.5&nbsp;&nbsp;&nbsp;-101&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;101-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-101<br>

-100.7&nbsp;&nbsp;&nbsp;-101&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-101&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-101&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;101-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-101<br>

&nbsp;-99.3&nbsp;&nbsp;&nbsp;-100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;99-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-99<br>

&nbsp;-99.5&nbsp;&nbsp;&nbsp;-100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-100<br>

&nbsp;-99.7&nbsp;&nbsp;&nbsp;-100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-100<br>

&nbsp;&nbsp;-2.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-3<br>

&nbsp;&nbsp;-1.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-2<br>

&nbsp;&nbsp;&nbsp;-.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-1<br>

&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br>

&nbsp;&nbsp;&nbsp; .5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br>

&nbsp;&nbsp; 1.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2<br>

&nbsp;&nbsp; 2.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3<br>

&nbsp; 98.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;98&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;98&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;98&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;98&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 98<br>

&nbsp; 98.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;98&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;98&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 99<br>

&nbsp; 98.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;98&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 99<br>

&nbsp; 99.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 99<br>

&nbsp; 99.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 100<br>

&nbsp; 99.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 100<br>

&nbsp;100.3&nbsp;&nbsp;&nbsp;&nbsp;100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;101&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 100<br>

&nbsp;100.5&nbsp;&nbsp;&nbsp;&nbsp;100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;101&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;101&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;101&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 101<br>

&nbsp;100.7&nbsp;&nbsp;&nbsp;&nbsp;100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;101&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;101&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;101&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;101&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 101</span>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>

Posted on Jan 28, 2007, 9:22 PM

Respond to this message   

Return to Index


We're Knights Of The Rounding Table!

by knights of the rounding table (no login)

we find whene'er, we're able!
the short decimal or an integer
of numeric variables!

and we do not like to spamalot
but we find sometimes we canalot!


we're knights of the rounding table!
our math-matics are fabled!
we beat our chests at our numbered quests
and we ogle marla maples!

our subroutines are ran a lot
they switch on our pc fan a lot!


- mennoknight
(that's "kunn-ig-it")

Posted on Jan 29, 2007, 8:00 AM

Respond to this message   

Return to Index


Too much grog, what's that mean? It's like too much 'Mary,' there's no such thing...

by , Dee, Dee, Dee Central (no login)

Knights of the Rounding Table...LOL

Sir Pete of the Camel Lot.

Posted on Jan 29, 2007, 10:37 AM

Respond to this message   

Return to Index


:Dee reprise of :Dee theme for :Dee pete

by sir lee tubedansirleeturise (no login)


we're knights of the rounding table!
we take- sir as- a label!
old horses, nay, they are so passe
we drive ford mercury sables!

we do slapstick and deadpanalot
and move aside for no manalot!


we're knights of the rounding table!
we wear hardware for lapels!
we watch oprah singing kumbaya
with herr doktor phil und rachel

we drink grog from the canalot
until we can hardly standalot!

Posted on Jan 29, 2007, 11:39 AM

Respond to this message   

Return to Index


*Surely you joust?

by Sir Pete (no login)

Posted on Jan 29, 2007, 11:44 AM

Respond to this message   

Return to Index


What would really look lousy is if someone got the goofy idea to post it as a jpeg!

by Pete (no login)

That would really suck. Poor resolution, pixilated, and more time to download for people on dial-up. I'm sure glad Mac has the sense to post it as HTML, when he gets around to it.

Pete ;)

Posted on Jan 29, 2007, 7:19 PM

Respond to this message   

Return to Index


both dialup and screen friendly (*urls)

by mennonite (no login)

html, 10k: http://www.rogepost.com/n/1671628884
20k: http://img251.imageshack.us/img251/1007/moneorz6.png

Posted on Jan 30, 2007, 6:50 AM

Respond to this message   

Return to Index


*lol! at least this image is less (?!) than the jpeg

by mennonite (no login)

Posted on Jan 30, 2007, 6:54 AM

Respond to this message   

Return to Index


French Quiz with a bug

by (Login Kewbie)
R

#COMPILE EXE "G:\FrenchQuiz.exe"
#DIM ALL

FUNCTION PBMAIN () AS LONG
  'French Capitols Quiz

'  DATA "Country", "Capitol"
  DATA "Iceland","Reykjavik","Norway","Oslo","Sweden","Stockholm","Finland","Helsinki"
  DATA "Ireland","Dublin","England","London","Scotland","Edimbourg","Portugal","Lisbon"
  DATA "Spain","Madrid","France","Paris","Belgium","Brussels","Netherlands","Amsterdam"
  DATA "Germany","Berlin"
  DATA "Switzerland","Berne","Italy","Rome","Estonia","Tallin","Latvia","Riga"
  DATA "Lithuania","Vilnius","Czech Republic","Prague","Poland","Warsaw","Austria","Vienna"
  DATA "Slovakia","Bratislava","Hungary","Budapest","Slovania","Ljubljana","Croatia","Zagreb"
  DATA "Bosnia","Sarajevo","Albania","Tirana","Serbia","Belgrade","Romania","Bucarest"
  DATA "Bulgaria","Sophia","Greece","Athens","Turkey","Ankara"

  DATA "L'Islande","Reykjavik","La Norv`ege","Oslo","La Su`ede","Stockholm","La Finlande","Helsinki"
  DATA "L'Irlande","Dublin","L'Angleterre","Londres","L'Ecosse","Edimbourg","Le Portugal","Lisbonne"
  DATA "L'Espagne","Madrid","La France","Paris","La Belgique","Bruxelles","Les Pays-Bas","Amsterdam"
  DATA "L'Allemagne","Berlin","La Suisse","Berne","L'Italie","Rome","L'Estonie","Talinne"
  DATA "La Lettonie","Riga","La Lithuanie","Vilnius","La Republique Tch`eque","Prauge","La Pologne","Varsovie"
  DATA "L'Austriche","Vienne","La Slovakie","Bratislava","La Hongrie","Budapest","La Slov`enie","Ljubljana"
  DATA "La Croatie","Zagreb","La Bosnie","Sarajevo","L'Albanie","Tirana","La Serbie","Belgrade"
  DATA "La Romanie","Bucarest","La Bulgarie","Sofia","La Gr`ece","Ath`enes","La Turquie","Ankara"

  DATA "ZZZZ", "ZZZZ"

  DIM Quiz$()                                   'country/capital array
  DIM qRa%()                                    'answer array
'  DIM Ansr%()                                   '

  DIM flMlt AS LONG, flEss AS LONG              '

  DIM Ans$, AnsV%
  DIM cdx%, qA1%, qdx%, rdx%
  DIM qCoE%, qCoF%, qCa%

  DIM Quiz$(DATACOUNT, 1)
  DIM qRa%(63)

  cdx% = 0
  qdx% = -1

  DO
    INCR qdx%
    INCR cdx%
    Quiz$(qdx%, 0) = READ$(cdx%)
    INCR cdx%
    Quiz$(qdx%, 1) = READ$(cdx%)
  LOOP UNTIL Quiz$(qdx, 0) = "ZZZZ"

  RANDOMIZE
  RESET flMlt, flEss

  DO
    DO
      qCoE% = RND(0, 31)                        'pick a country, any country
    LOOP WHILE BIT(flEss, qCoE%)                'don't duplicate questions
    qCoF% = qCoE% + 32                          'in English and French, please
    qCa% = qCoF%                                'capital in French only

    'ask the question
    ? "What is the capitol of "; Quiz$(qCoE%, 0);"/";Quiz$(qCoF%, 0);"?"

    IF BIT(flMlt, qCoE%) THEN                   'essay or multiple-choice
      BIT SET flEss, qCoE%                      'indicate essay question asked
      INPUT "",Ans$                             'if essay, wait for answer
      IF LCASE$(Ans$) = "quit" THEN EXIT FUNCTION       'give a way out
      'test and give result
      IF Ans$ = Quiz$(qCa%, 1) THEN ? "Correct!" ELSE ? "Sorry.  The correct answer is "; Quiz$(qCa%, 1);"."
    ELSE                                        'if multiple-choice
      BIT SET flMlt, qCoE%                      'indicate multiple-choice asked

      FOR qdx = 0 TO 63                         'build a list of wrong choices
        qRa%(qdx) = qdx
      NEXT qdx

      SWAP qRa%(qCa%), qRa%(63)                 'take out the correct answer
      SWAP qRa%(qCa% - 32), qRa%(62)            'and the English spelling

'      'test code
'      ?qCa%, qCa% - 32,,,,,
'      for qdx% = 0 to 63
'        if qdx% < 6 or qdx% > 61 _
'        then ? qRa%(qdx%),
'      next qdx%
'      waitkey$

      FOR qdx% = 1 TO 1000                      'scramble the list
        SWAP qRa%(RND(0, 61)), qRa%(RND(0, 61))
      NEXT qdx%

      'test code
      ? : ? qCa%, qCa% - 32,,,,,
      FOR qdx% = 0 TO 4
        IF qdx% < 6 OR qdx% > 61 _
        THEN ? qRa%(qdx% + qA1%),
      NEXT qdx%
      ?
      WAITKEY$

      qA1% = RND(4, 57)                         'pick first wrong answer
      qRa%(qA1%) = qCa%                         'add correct answer
      qA1% = qA1% + RND(-4, 4)                  'shift correct answer
      Ans$ = "ABCDE"                            'make the answer list
      FOR qdx% = 0 TO 4                         ' and print it
        ? MID$(Ans$, qdx% + 1, 1); " "; Quiz$(qRa%(qdx% + Qa1%), 1), "("; qRa%(qdx% + qA1%); ")"
      NEXT qdx%

      DO
        Ans$ = UCASE$(WAITKEY$)
        IF Ans$ = $ESC OR Ans$ = "Q" THEN EXIT FUNCTION
        AnsV% = INSTR("ABCDE", Ans$)
      LOOP UNTIL AnsV%
      DECR AnsV%

      IF qRa%(AnsV% + qA1%) = qCa% THEN ? Ans$; " is correct!" ELSE ? "Sorry.  The correct answer is "; Quiz$(qCa%, 1);"."
    END IF
    ?
  LOOP UNTIL flEss = -1
END FUNCTION

Posted on Jan 28, 2007, 12:04 AM

Respond to this message   

Return to Index


The problem is:

by (Login Kewbie)
R

Note that some of the capitals are spelled the same way in both English and French

So I attempt to take the English spelling out of the shuffle

But sometimes both the English and French versions show up anyway

And if you pick the wrong language's letter choice, you get a silly message like:

What is the capital of Finnland?

A Seattle
B Portland
C Helsinki
D Vancouver
E Helsinki

C

Sorry. The correct answer is 'Helsinki'.

So far, I can't see where I've gone wrong.

Any ideas?

Kew

Posted on Jan 28, 2007, 12:09 AM

Respond to this message   

Return to Index


I have no idea what is going in your code,

by (Login PhyloGenesis)
R

but it seems that you do lots of useless stuff.
I would change this:

ELSE 'if multiple-choice
BIT SET flMlt, qCoE% 'indicate multiple-choice asked

FOR qdx = 0 TO 63 'build a list of wrong choices
qRa%(qdx) = qdx
NEXT qdx

SWAP qRa%(qCa%), qRa%(63) 'take out the correct answer
SWAP qRa%(qCa% - 32), qRa%(62) 'and the English spelling

FOR qdx% = 1 TO 1000 'scramble the list
SWAP qRa%(RND(0, 61)), qRa%(RND(0, 61))
NEXT qdx%

'test code
? : ? qCa%, qCa% - 32,,,,,
FOR qdx% = 0 TO 4
IF qdx% < 6 OR qdx% > 61 _
THEN ? qRa%(qdx% + qA1%),
NEXT qdx%
?
WAITKEY$

qA1% = RND(4, 57) 'pick first wrong answer
qRa%(qA1%) = qCa% 'add correct answer
qA1% = qA1% + RND(-4, 4) 'shift correct answer
Ans$ = "ABCDE" 'make the answer list
FOR qdx% = 0 TO 4 ' and print it
? MID$(Ans$, qdx% + 1, 1); " "; Quiz$(qRa%(qdx% + Qa1%), 1), "("; qRa%(qdx% + qA1%); ")"
NEXT qdx%

DO
Ans$ = UCASE$(WAITKEY$)
IF Ans$ = $ESC OR Ans$ = "Q" THEN EXIT FUNCTION
AnsV% = INSTR("ABCDE", Ans$)
LOOP UNTIL AnsV%
DECR AnsV%

IF qRa%(AnsV% + qA1%) = qCa% THEN ? Ans$; " is correct!" ELSE ? "Sorry. The correct answer is "; Quiz$(qCa%, 1);"."





to this (which is written in QBasic and pseudocode):
ELSE 'if multiple-choice
'build the option list
FOR i = 0 to 3
Choices(i) = 0
NEXT i
FOR i = 0 TO 3
DO
unique = TRUE
Choices(i) = RND(0, 31) + 32 'Select a random capitol in French
IF Choices(i) = CorrectAnswer THEN
unique = FALSE
END IF
FOR i2 = 0 TO 3
IF Choices(i) = Choices(i2) AND NOT i = i2 THEN
unique = FALSE
END IF
NEXT i2
LOOP WHILE unique = FALSE
NEXT i

'Add in the correct answer.
Choices(RND(0, 3)) = CorrectAnswer


PRINT "1. "; Quiz$(Choices(0), 1) 'Display each capitol selection
PRINT "2. "; Quiz$(Choices(1), 1)
PRINT "3. "; Quiz$(Choices(2), 1)
PRINT "4. "; Quiz$(Choices(3), 1)

'Get the answer selection
DO
Ans$ = UCASE$(WAITKEY$)
IF Ans$ = $ESC OR Ans$ = "Q" THEN EXIT FUNCTION
AnsV% = INSTR("ABCDE", Ans$)
LOOP UNTIL AnsV%
DECR AnsV%

IF Choices(AnsV%) = CorrectAnswer THEN
'Right
ELSE
'Wrong
END IF

So anyways...
There you go, I hope that helps.

PhyloGenesis

Posted on Jan 28, 2007, 1:17 AM

Respond to this message   

Return to Index


For Mikerondel or any others if they are adventurous

by (Login PhyloGenesis)
R

/***************** 32BIT *****************/
/* Program Credits:
/* Program Design - PhyloGenesis
/* Programming - PhyloGenesis
/* Graphics - None
/* Music - None
/* Testing - PhyloGenesis
/* ...
/*****************************************/
/********** MAIN SOURCE **********/
/* Credits:
/* Programming - PhyloGenesis
/*********************************/

/***** INCLUDE FILES *****/
//SDL Classes
#include <SDL\SDL.h>

#include "SDL_Font.hpp"
/***** {End} INCLUDE FILES *****/



/***** GLOBAL SDL OBJECTS *****/
SDL_Surface *Screen;
/***** {End} GLOBAL SDL OBJECTS *****/





/***** MAIN FUNCTION * PROGRAM ENTRY POINT * *****/
int main(int argc, char *argv[])
{
/*** INIT GENERIC VARIABLES AND SEED RAND() ***/
/*** {End} INIT GENERIC VARIABLES AND SEED RAND() ***/



/*** INITIALIZE SDL SUBSYSTEMS ***/
//Only video and timing subsystems to start.
if( SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER) < 0 )
{
fprintf(stderr, "SDL could not be initialized: %s\n", SDL_GetError());
return -1;
}
SDL_WM_SetCaption("32Bit", NULL);

//Register SDL_Quit to be called at exit - ensure things are
// cleaned up when we quit.
atexit(SDL_Quit);

Screen = SDL_SetVideoMode(640, 480, 32, 0);
if( Screen = NULL )
return -1;

SDL_Font myfont;
myfont.LoadFont("FONT8.DAT", 8);

SDL_Rect displayarea = (SDL_Rect){0, 0, 32*8, 8};
displayarea.x = 0;
displayarea.y = 0;
displayarea.w = 32*8;
displayarea.h = 8;
Uint8 b;
Uint8 a[32];
for(b = 0; b < 32; b++)
a[b] = 0;

//Loop until a[0] is 1 (halfway done)
while( !a[0] )
{
//Add 1 to a.
b = 20;
while( a[b] )
{
a[b] = 0;
b--;
}
a[b] = 1;

//Display a.
SDL_FillRect(Screen, &displayarea, 0x00000000);
for(b = 0; b < 32; b++)
myfont.DrawChar(Screen, a[b] + 42, b * 8, 0, 0xFFFFFFFF, 0x00000000);
}

return 0;
}
/***** {End} MAIN FUNCTION * PROGRAM ENTRY POINT * *****/


What is wrong with this?

Posted on Jan 27, 2007, 12:51 AM

Respond to this message   

Return to Index


*Problem solved

by (Login Mikrondel)
R

Posted on Jan 27, 2007, 12:54 AM

Respond to this message   

Return to Index


CD Burning Programs

by (Login PhyloGenesis)
R

I need a small, simple, CD burning program that I can burn my ubuntu.iso to so that I can boot with it. I tried just using Windows, but of course, this is Windows; all it did was copy the file to the CD as a file... stupid MS.

PhyloGenesis

Posted on Jan 24, 2007, 12:05 PM

Respond to this message   

Return to Index


* (URL) There is an unofficial powertoy for Windows called ISO Recorder...

by rpgfan3233 (Login rpgfan3233)
R

http://isorecorder.alexfeinman.com/isorecorder.htm

Posted on Jan 24, 2007, 12:44 PM

Respond to this message   

Return to Index


*Strange, my XP has that ability, already...to burn CD's without other software.

by Pete (no login)

Posted on Jan 24, 2007, 9:51 PM

Respond to this message   

Return to Index


to burn files to CD's, for example, for backup purposes.

by (Login MCalkins)
R

but not to burn .ISO disk images. For example, today I wanted to burn a ReactOS live ISO image to a CD, and discovered that XP didn't have the native capability.
I downloaded ISO Recorder (found it through Wikipedia) but haven't used it yet. The computer wan't mine, and I wasn't completely comfortable installing unfamiliar software for my own personal use.

Regards,
Michael

Posted on Jan 24, 2007, 10:05 PM

Respond to this message   

Return to Index


That's exactly what I needed rpgfan, thank you. I've got Ubuntu installed now.

by (Login PhyloGenesis)
R

Now if I could only get the wireless connection working.....

PhyloGenesis

Posted on Jan 27, 2007, 1:32 PM

Respond to this message   

Return to Index


PowerBasic data types

by (Login Kewbie)
R

Numeric Data storage requirements and ranges

Data Type Size Decimal Range Binary Range

Integer 16 bits (2 bytes), signed -32,768 to 32,767 -2^15 to 2^15-1
Long-integer 32 bits (4 bytes), signed -2,147,483,648 to 2,147,483,647 -2^31 to 2^31-1
Quad-integer 64 bits (8 bytes), signed -9.22x10^18 to +9.22x10^18 -2^63 to 2^63-1
Byte 8 bits (1 byte), unsigned 0 to 255 0 to 2^8 -1
Word 16 bits (2 bytes), unsigned 0 to 65,535 0 to 2^16 -1
Double-word 32 bits (4 bytes), unsigned 0 to 4,294,967,295 0 to 2^32 -1

Single-precision 32 bits (4 bytes) 8.43x10^-37 to 3.40x10^38
Double-precision 64 bits (8 bytes) 4.19x10^-307 to 1.79x10^308
Extended-precision 80 bits (10 bytes) 3.4x10^-4932 to 1.2x10^4932
Currency 64 bits (8 bytes) -9.22x10^14 to +9.22x10^14
Extended-currency 64 bits (8 bytes) -9.22x10^16 to +9.22x10^16

Variant 128 bits (16 bytes) {data-dependent} {data-dependent}

Posted on Jan 18, 2007, 9:07 PM

Respond to this message   

Return to Index


Those kinda lists are so cool.

by (Login Chandlerklebs)

I used to write down things like that.

Posted on Jan 19, 2007, 11:27 AM

Respond to this message   

Return to Index


PowerBasic source to a disk free space wiper

by (Login Kewbie)
R

#COMPILE EXE "F:\Tools\wipefree.exe"
#DIM ALL

%DEBUG = 0

%MAXPASS = 5

%flVrbos = 0
%flShort = 1
%flKeepF = 2
%flContn = 3
%flQuiet = 4
%flOvrwr = 5
%flTestM = 6
%flHugeB = 7

DECLARE FUNCTION Exist(File$) AS LONG
DECLARE FUNCTION getParmVal(BYVAL Parm AS STRING) AS STRING
DECLARE FUNCTION parseParms(BYVAL Cmd AS STRING) AS LONG

DECLARE SUB buildStrings
DECLARE SUB reportError(txt AS STRING, er AS INTEGER)
DECLARE SUB reportSettings
DECLARE SUB usage
DECLARE SUB wipeFree

FUNCTION PBMAIN () AS LONG
  GLOBAL Drive, wFile, wiper() AS STRING
  GLOBAL fCh, Flags, numPass AS INTEGER
  GLOBAL blkSize AS LONG
'  LOCAL ch, fdx, pc, pdx, sdx, wdx AS INTEGER
'  LOCAL Cmd, iKey AS STRING

  Flags = 0

  IF parseParms(COMMAND$) _
  THEN
    'initialize random # generator
    RANDOMIZE
    IF (NOT -ABS(BIT(Flags, %flTestM))) _
    THEN wipeFree
  ELSE
    usage
  END IF
END FUNCTION

SUB wipeFree
  LOCAL clr, er, sdx , wdx AS INTEGER '
  LOCAL fs, Lcf, pdx AS QUAD
  LOCAL iKey AS STRING

  'start/continue wiping operation
  OPEN wFile FOR BINARY AS #1
  er = ERRCLEAR: IF er THEN reportError("OPEN", er): END
  CLS

  'wipe loop
  DO
    INCR pdx ' pass count
    'set color for pass count
    IF     pdx MOD 1000 = 0 THEN
      clr = 12
    ELSEIF pdx MOD 100  = 0 THEN
      clr = 10
    ELSEIF pdx MOD 10   = 0 THEN
      clr =  7
    ELSEIF pdx MOD 5    = 0 THEN
      clr = 5
    ELSE
      clr =  8
    END IF
    COLOR clr

    Lcf = LOF(#1)
    'write numPass patterns
    FOR wdx = 1 TO numPass
      SEEK #1, Lcf + 1
      er = ERRCLEAR: IF er THEN reportError("SEEK", er):END
      PUT$ #1, wiper(wdx)
        IF ERRCLEAR = 61 THEN GOSUB CompCheck : DECR wdx : ITERATE FOR
      FLUSH
      er = ERRCLEAR: IF er THEN reportError("FLUSH", er):END
      IF BIT(Flags, %flVrbos) THEN ? ". ";
    NEXT wdx

    SEEK #1, Lcf + 1
    er = ERRCLEAR: IF er THEN reportError("SEEK", er):END
    PUT$ #1, wiper(numPass + 1)
      IF ERRCLEAR = 61 THEN GOSUB CompCheck : ITERATE DO
    FLUSH
    er = ERRCLEAR: IF er THEN reportError("FLUSH", er):END
    IF BIT(Flags, %flVrbos) THEN ? ". ";

    SELECT CASE UCASE$(INKEY$)
      CASE " "
        BIT TOGGLE Flags, %flVrbos
      CASE "S"
        BIT RESET Flags, %flVrbos
        ?
        reportSettings
      CASE $ESC
        EXIT DO
    END SELECT
    IF BIT(Flags, %flVrbos) THEN ? Lcf
  LOOP
  CLOSE #1
  EXIT SUB

CompCheck:
  'check to see if wiping completed
  fs = DISKFREE(Drive)
  IF fs _
  THEN
    FOR sdx = 1 TO numPass + 1
      wiper(sdx) = LEFT$(wiper(sdx), fs)
    NEXT sdx
  ELSE
    CLOSE #1
    FLUSH #1
    IF (NOT -ABS(BIT(Flags, %flKeepF))) _
    THEN KILL wFile
    ? "Freespace wipe completed"
    EXIT SUB
  END IF
  RETURN
END SUB

SUB reportError(txt AS STRING, er AS INTEGER)
  ? txt; ": ";

  SELECT CASE er
    CASE 61
      ? "should not occur error: disk full"
    CASE 70
      ? "error: media may be write-protected"
    CASE ELSE
      ? "unexpected error '"; er; "'"
  END SELECT
END SUB

FUNCTION Exist(File$) AS LONG
  LOCAL Dummy&
  Dummy& = GETATTR(File$)
  FUNCTION = (ERRCLEAR = 0)
END FUNCTION

SUB usage
  ? "usage:"
  ? "  wipefree <drive> <options>"
  ? "  <drive> must be a valid drive letter"
  ? "  Option Meaning"
  ? "     B   Use blocksize of 8192.  Mutually exclusive with H"
  ? "     C   Continue without query if the wipefile exists"
  ? "     F   Name of wipe file.  Default: WipeFree.FSC.  Extension"
  ? "         is always .FSC"
  ? "     H   Use blocksize of 1,048,576.  Mutually exclusive with B"
  ? "     K   Keep wipefile"
  ? "     P   Set number of passes.  Default 2.  There is always one"
  ? "         pass of hex zeros, so there are actually 3 passes by default"
  ? "     Q   Quiet mode.  Mutually exclusive with V"
  ? "     O   Overwrite existing .FSC file."
  ? "     R   Same as O"
  ? "     S   Leave free space filled with spaces.  Default"
  ? "     T   Test mode.  Sets up parameters then exits"
  ? "     V   Verbose mode.  Mutually exclusive with Q"
  ? "     X   Leave free space filled with ones.  Default"
  ? "     Z   Leave free space filled with zeros.  Default fill with ones."
  ?
  ? "(hit a key for next page)"
  WAITKEY$
  CLS
  ? "  During execution, hitting <space> will toggle Verbose mode.  Hitting "
  ? "  S will display setup.  Of necessity, S turns off Verbose mode. Hitting"
  ? " <Esc> will exit, leaving the wipefile for possible continuation at a"
  ? "  later time."
END SUB

FUNCTION parseParms(BYVAL Cmd AS STRING) AS LONG
  LOCAL Parm() AS STRING
  LOCAL pc, pdx AS INTEGER
  LOCAL cParm, iKey AS STRING

  IF Cmd = "" OR _
     INSTR("ABCDEFGHIJKLMNOPQRSTUVWXYZ", LEFT$(UCASE$(Cmd), 1)) = 0 THEN
    parseParms = 0
    EXIT FUNCTION
  END IF

  'set default passes
  numPass = 2

  'set default blocksize: -1 = 16384
  blkSize = -1

  'set default fill character
  fCh = 255 '0FFx

  'extract drive letter
  Drive = LEFT$(Cmd, 1)

  'parse command line
  'first, get rid of drive letter
  Cmd = TRIM$(MID$(Cmd, 2))
  pc = PARSECOUNT(Cmd, "/")
  DIM Parm$(1 TO pc)
  PARSE Cmd, Parm$(), "/"
  FOR pdx = 1 TO pc
    cParm = UCASE$(LEFT$(Parm(pdx), 1))
    IF cParm = "" THEN ITERATE FOR
    IF BIT(Flags, %flVrbos) _
    THEN ? "parm: '"; Parm(pdx); "'"

    SELECT CASE cParm
      CASE "B" ' blocksize
        blkSize = NOT blkSize
      CASE "F" ' wipefile name
        wFile = getParmVal(Parm(pdx))
      CASE "P" ' max passes
        numPass = VAL(getParmVal(Parm(pdx)))
      CASE "H" ' huge blocksize
        BIT SET Flags, %flHugeB
      CASE "K" ' keep wipefile
        BIT SET Flags, %flKeepF
      CASE "T" ' test mode
        BIT SET Flags, %flTestM
      CASE "V" ' verbose mode
        BIT SET Flags, %flVrbos
        BIT RESET Flags, %flQuiet ' force quiet off
      CASE "Q" ' quiet mode
        BIT SET Flags, %flQuiet
        BIT RESET Flags, %flVrbos ' force verbose off
      CASE "C" ' autocontinue
        BIT SET Flags, %flContn
        BIT RESET Flags, %flOvrwr ' force overwrite off
      CASE "R", "O" ' restart/overwrite
        BIT SET Flags, %flOvrwr
        BIT RESET Flags, %flContn ' force continue off
      CASE "S" 'fill freespacewith spaces (20x)
        fCh = 32
      CASE "X" 'fill freespace with zeros
        fCh = 0
      CASE "Z" 'fill freespace with ones
        fCh = 255
      CASE ELSE
        BEEP
        ? "Invalid parameter: '"; Parm(pdx); "' ("; TRIM$(STR$(pdx)); ")"
        parseParms = 0
        EXIT FUNCTION
    END SELECT
  NEXT pdx

  IF (BIT(Flags, %flContn) OR BIT(Flags, %flOvrwr)) AND wFile = "" _
  THEN
    wFile = DIR$(Drive & ":\*.FSC")
    IF wFile <> "" THEN wFile = "\" & wFile
  END IF

  'set true blocksize
  IF BIT(Flags, %flHugeB) _
  THEN blkSize = 1048576 _ '1MB
  ELSE blkSize = IIF(blkSize, 16384, 8192)

  IF wFile = "" _
  THEN wFile = "WipeFree"
  wFile = Drive & ":" & wFile
  IF UCASE$(RIGHT$(wFile, 4)) <> ".FSC" THEN wFile = wFile & ".FSC"

  'deal with overwrite
  IF (BIT(Flags, %flOvrwr) AND NOT -ABS(BIT(Flags, %flTestM))) _
  THEN KILL wFile

  IF RIGHT$(Drive, 2) <> ":\" THEN Drive = Drive & ":\"

  'deal with existing wipefile
  IF Exist(wFile) AND _
     NOT -ABS((BIT(Flags, %flContn) OR BIT(Flags, %flOvrwr))) _
  THEN
    ? "'"; wFile ; "' exists.  (O)verwrite, (C)ontinue, or e(X)it? ";
    DO
      iKey = UCASE$(WAITKEY$)
    LOOP UNTIL INSTR("OCX", iKey)
    SELECT CASE iKey
      CASE "C"
        EXIT SELECT
      CASE "O"
        KILL wFile
      CASE "X"
        parseParms = 0
        EXIT FUNCTION
    END SELECT
  END IF

  'report settings if verbose
  IF BIT(Flags, %flVrbos) _
  THEN reportSettings

  buildStrings

  parseParms = -1
END FUNCTION

SUB reportSettings
  ? "wFile:     '"; wFile; "'"
  ? "Passes:    "; numPass + 1
  ? "BlockSize: "; blkSize
  IF BIT(Flags, %flContn) _
  THEN ? "Continuing prior run"
  IF BIT(Flags, %flOvrwr) _
  THEN ? "Restarting from scratch"
  ? IIF$(BIT(Flags, %flKeepF), "Keep", "Delete"); _
    "'"; wFile; "' after completion"
END SUB

SUB buildStrings
  LOCAL ch, fdx, sdx AS INTEGER

  'build wiper strings
  DIM wiper(1 TO numPass + 1) AS STRING

  'make random strings
  FOR sdx = 1 TO numPass STEP 2
    FOR fdx = 1 TO blkSize
      ch = RND(0, 255)
      wiper(sdx) = wiper(sdx) & CHR$(ch)
      IF sdx < numPass _
      THEN wiper(sdx + 1) = wiper(sdx + 1) & CHR$((NOT ch) AND 255)
    NEXT fdx
  NEXT sdx

  'make hex zero string
  wiper(numPass + 1) = STRING$(blkSize, fCh)
END SUB

FUNCTION getParmVal(BYVAL Parm AS STRING) AS STRING
  Parm = MID$(Parm, 2)
  IF LEFT$(Parm, 1) = ":" THEN Parm = MID$(Parm, 2)
  getParmVal = Parm
END FUNCTION

Posted on Jan 18, 2007, 8:56 PM

Respond to this message   

Return to Index


Permutations of 8 objects in PHP !

by (Login Chandlerklebs)

OK,this was weird. It would probably be faster in ASM,but it would be a pain to code
as well as not being portable .

My new PHP script is hard coded to do permutations for 8 objects.
The way I use is weird. It takes advantage of the way PHP allows expressions of
octal numbers when prefixed with 0.

It is actually counting in octal. To make sure only the correct combinations
are included,I use a $t variable which uses 8 bits as a flag.

So,it uses left shifts and XOR for testing.
If all 8 of the possible numbers 0,1,2,3,4,5,6,7 are included,then
the binary form of $t would be 11111111 .
That's why it prints only if $t==255 decimal.

If something happened like the number was

01234467

then 5 would not exist,also,since the 4 occurred twice,it would also XOR the 4 flag.
That is 2 to the power of 4 or sixteen. Therefore, $t would be

11100111

and my program would not accept it. This is the trick that allows my program to work.
I suppose there are other methods,but this was the only thing I could think of
since binary is all I do! If only PHP's echo automatically output integers as binary,just
imagine how much less time it would take to code my programs!

There is no actual conversion to octal. It's actually an array that
can only contain integers 0 to 7 because the program will carry to the next array alement if >=8 .

It's a rewrite of my powers of 2 program!

Here's the excellent source.

<?php

$d=8;
for($b=1;$b<=$d;$b++){$a[$b]=$b-1;}
for($c=01234567;$c<=076543210;$c++)
{

$t=0;
for($b=1;$b<=$d;$b++){$t^=1<<$a[$b];}

if($t==255)
{
for($b=1;$b<=$d;$b++){echo $a[$b];}
echo "<br>";
}

$a[$d]++;

for($b=$d;$b>=1;$b--)
{
if($a[$b]>=$d){$a[$b]-=$d;$a[$b-1]++;}
}

}
?>


If you don't really have a way to run the source,then simply go view the output file I uploaded.

http://binary.wikispaces.com/space/showimage/perm8.htm

Trying to edit my program will probably hurt you big time since it's extremely hard coded.
I had to specify exactly how many times the loop goes. Setting it higher only makes it longer to run
and setting it lower won't give you all the results.

If you only wanted something like permutations of 6 objects,then simply use a hex/text editor
with search/replace to destroy all findings of 6 and 7. then you'd be left with
digits 0,1,2,3,4,5 .

Posted on Jan 12, 2007, 2:17 PM

Respond to this message   

Return to Index


As an assembly freak, Chandler...

by (Login Mikrondel)
R

you really should be able to make good guesses as to how PHP works the way it does, and that this is a lot slower than coding in a properly typed, compiled language - let alone in assembly!


Anyway, I made some optimisations and I think this will run faster (but give numbers in a slightly different order).

<?php

$d=8;
for($b=0;$b<$d;$b++)
$a[$b]=$b;
for($c=01234567;$c<=07654321;$c++)
{

$t=0;
for($b=0;$b<$d;$b++)
$t^=1<<$a[$b];

if($t==255)
for($b=0;$b<($d+1)*$d;$b++)
echo (($b % 9) ==8) ? "<br>" : $a[$b & 7];


for($b=$d-1;$a[$b]==($d-1);$b--)
$a[$b]=0;

$a[$b]++;

}
?>

Posted on Jan 13, 2007, 6:35 AM

Respond to this message   

Return to Index


Well,compiled languages just aren't as portable.

by 10 (no login)

I like my exact order of numbers. I'll check out your version anyway.

I am also learning some Perl since I read it's faster.

This is a small Perl tutorial.

Below is the first program. It has a comment that does nothing.
It prints the excellent Hello World.

All these examples worked on my abyss web server.

print "Content-Type: text/html\n\n";
# This is a comment!
print 'Hello World';

The way variables are treated depends on how you write them.

0b0110010 binary
062 octal
0x32 hexadecimal
50 decimal
1.25 floating point
'hello' string with ''
"world" string with ""

You can use _ in between digits of your integers.
This is 1 of the surprisingly useful features of Perl.

0b0111010110111100110100010101

is cool,but

0b0111_0101_1011_1100_1101_0001_0101

Is easier to read.

The print statement outputs decimal integers.



There are also special regular expressions for strings.
I got this list from
http://search.cpan.org/dist/perl/pod/perlre.pod

\t tab (HT, TAB)
\n newline (LF, NL)
\r return (CR)
\f form feed (FF)
\a alarm (bell) (BEL)
\e escape (think troff) (ESC)
\033 octal char (think of a PDP-11)
\x1B hex char
\x{263a} wide hex char (Unicode SMILEY)
\c[ control char
\N{name} named char
\l lowercase next char (think vi)
\u uppercase next char (think vi)
\L lowercase till \E (think vi)
\U uppercase till \E (think vi)
\E end case modification (think vi)
\Q quote (disable) pattern metacharacters till \E

I rarely use these since on my server,everything is HTML.
You would do a new line with <br> .

print "Content-Type: text/html\n\n";
print 'Hello <br> World';

However,to do cooler things,you can use variables!
Variables start with $.

print "Content-Type: text/html\n\n";
$n=256;
$t='two five six';
print $n . '<br>' . $t;

As you can see, the . operator is used to print multiple things!

Also,there is a list of operators at
http://search.cpan.org/dist/perl/pod/perlop.pod

The main use of operators is to do math of course!

Here are those I use

++ increment
-- decrement
+ addition
- subtraction
* multiplication
/ division
% modulus
<< left shift
>> right shift
& AND
| OR
^ XOR
~ NOT

And there are conditional operators.

"<" returns true if the left argument is numerically less than the right argument.
">" returns true if the left argument is numerically greater than the right argument.
"<=" returns true if the left argument is numerically less than or equal to the right argument.
">=" returns true if the left argument is numerically greater than or equal to the right argument.
"lt" returns true if the left argument is stringwise less than the right argument.
"gt" returns true if the left argument is stringwise greater than the right argument.
"le" returns true if the left argument is stringwise less than or equal to the right argument.
"ge" returns true if the left argument is stringwise greater than or equal to the right argument.
"==" returns true if the left argument is numerically equal to the right argument.
"!=" returns true if the left argument is numerically not equal to the right argument.

That's enough info for an if statement.

print "Content-Type: text/html\n\n";
$n=0;
if($n==0){print 'n is zero';}
else{print 'n is not zero';}

Loops are of course the coolest way to save time!
Here's a while loop.

print "Content-Type: text/html\n\n";
$n=0;
while($n<16)
{
print $n . '<br>';
$n++;
}

Here's a for loop.

print "Content-Type: text/html\n\n";
for($n=0;$n<16;$n++)
{
print $n . '<br>';
}

The final step in handling variables is arrays!

print "Content-Type: text/html\n\n";
for($x=0;$x<8;$x++)
{
$a[$x]=0;
}

$a[5]=7;
$a[1]=3;

for($x=0;$x<8;$x++)
{
print $a[$x];
}

You can actually use Perl to run system commands depending on your
operating system!

print "Content-Type: text/html\n\n";
system "dir"; #DOS/Windows command

I wrote this tutorial while I was learning. Although it's not a lot of detail,
it's what I needed to know. Perl is pretty cool actually. It's very similar to PHP.

Posted on Jan 14, 2007, 10:08 PM

Respond to this message   

Return to Index


What's so great about portability?

by (Login Mikrondel)
R

Especially for a processing-intensive program that you're writing mainly for yourself?

You should know that a good deal of open-source programs that compile under Windows, BSD, and Linux, are written in good ol' compiled C.

While it may be more work on the programs themselves, they will run faster and won't require a interpreter (or web server) - that the average user may not have.

If a program takes two hours to run written in PHP, and 15 minutes written in C... the amount of time you save by writing it in PHP probably isn't worth it.


PHP is great for filling tables, formatting data from databases, generating repetitive content... but is not all that great for intensive number-crunching.


Portability is only one of many factors to take into account when assessing what language is suitable to achieve your outcome.

Posted on Jan 15, 2007, 12:23 AM

Respond to this message   

Return to Index


agreed.

by 10 (no login)

If there was THAT big of a difference though,I would notice it.

I don't expect others to have an installation of PHP or Perl.
It's simply for people to get cool lists of numbers off my server.

On my server,I do have may assembly programs for download.
Of course,they're even on my wikispaces so people can get them anytime.

If somebody is rather serious about binary(nobody other than me is that obsessed)
they would prefer the assembly versions.

but,assuming you want a list of all sixteen bit values in binary,

the assembly program can do it in two seconds
the PHP program can do it in less than twenty seconds

however,speed isn't everything,in reality,if somebody is obsessed with that list,
they can just keep it once they get it and never use the program again.

and since my PHP and Perl programs automatically output <br> as newlines,you can
just view them in a browser as HTML files.

Perhaps I'm a fool,but at least,a talented fool.

Posted on Jan 15, 2007, 9:48 PM

Respond to this message   

Return to Index


You're correct on pretty much every point - I'm just trying to help you

by (Login Mikrondel)
R

see the whole picture, with good and bad points, rather than being... well, let's face it, '0' or '1' about an issue.

But it's good that you can argue to support your views.

Posted on Jan 27, 2007, 1:28 AM

Respond to this message   

Return to Index


This person is also trying to do permutations in VB 2005

by Solitaire (no login)

Check out this url:

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1116835&SiteID=1

Posted on Jan 17, 2007, 4:30 PM

Respond to this message   

Return to Index


My info for javascript.

by (Login Chandlerklebs)

I have some files about the javscript I know.
A simple text file tutorial as well as a page designed to be changed with javascript injections!

http://chandlerprogramming.50webs.com/JStut.txt
http://chandlerprogramming.50webs.com/JSinject.html

This is good info for anybody who quickly wants to get started writing stuff in javascript.
Or maybe you just want to mess around by injecting stuff into popular sites!

Posted on Jan 11, 2007, 11:35 PM

Respond to this message   

Return to Index


3D Engine source code. (C++)

by (no login)

My 3D engine doesn't work very will with high-end graphics cards. The problem is that it starts doing software-level math for the rendering instead of hard-ware level. I think the solution is increasing the quality of graphics on it, but I'm not going to have time to test my theory for a while.

Maybe someone here might be able to make some use of this engine. It's about half of a game that was being made. I stopped coding at the badguy class. Well, here's a description of the files and functions that you would need to edit in order to change what's displayed...

glmain.cpp: function void GLMain::Render():
Where it says, "Draw other stuff" is where it tells what all to draw.
world->Render() should be left there... It draws the floor and the animated sky.
city->Render() should be left there... It draws the buildings.
badguy->Render() draws the badguy... It's just a square right now. ;-)
You can edit the stuff under city->Render()... add stuff, remove stuff, etc... Between it and the popmatrix(); function.

City.cpp: function void City::Init():
Where it says, "Initialize the variables":
stairsCount is the number of staircases.
buildingsCount is the number of buildings.
Don't mess with the variables stairs and buildings though.
Where it says, "Draw the city":
Here, you create buildings and stairs. The syntaxes are:
    buildings[i].Create( x1, z1, x2, z2, height, heightMap );
    stairs[i].Create( x1, z1, x2, z2, bottom, height, heightMap );
    Just change x1, z1, x2, z2, bottom, and height.
    Also there's a bug in the stairs; they have to go in the direction <1,y,0>
Note that the index counts from 0 to however many there are of stairs or buildings.

BadGuy.cpp: function void BadGuy::Init():
This function initializes whatever variables the badguy uses.
To add more variables for BadGuys to use, add them under where it says, "private:" in BadGuy.h.

BadGuy.cpp: function void BadGuy::UnInit():
If Init() sets up anything that has to be deleted or shut down, delete or shut down the stuff here.

BadGuy.cpp: function void BadGuy::Prepare(px,py,pz,dt,heightMap[201][201]):
This is where you code the AI... It's empty now, so the dumb badguy just sits there doing nothing.
px is the player's x position.
py is the player's y position (ex. jumping/falling; distance above ground).
pz is the player's z position.
dt the amount of time elapsed since the last time the function was called (use this for velocity/acceleration/etc. equations).
heightMap[x][z] is how high the world is at point (x,z)

BadGuy.cpp: function BadGuy::Render()
This is where you draw the badguy... Right now it's just a red square hovering 1 meter above the ground...



Oh, and the picture files... Store them in ./Images/* (an Images folder). There are several pictures, all 256X256 [not compressed] ?32-bit? tileable TGA pictures.
Clouds.tga is the clouds... White with some alpha for the see-through.
Stars.tga is the stars that are above the clouds.
Floor.tga is the floors.
They're 193KB each, so I didn't bother posting them. I had some good tiles made for it... looked good. I might find a way around this dorm-room's internet filter to upload the three files to my website.

Posted on Jan 8, 2007, 9:19 PM

Respond to this message   

Return to Index


BadGuy.cpp

by (Login ComputerGhost)
R

#include <windows.h>
#include <gl/gl.h>
#include <cmath>
#include "glMain.h"

using namespace std;

void BadGuy::Init()
{
xRot = 0;
x = 10;
y = 0;
z = 10;
isFalling = false;
}

void BadGuy::UnInit()
{
//
}

void BadGuy::Prepare( float px, float py, float pz, float dt, float heightMap[201][201] )
{
//The AI goes here
//Nothing here yet, so the badguy is just some stupid thing that just sits there. hehehehe
}

void BadGuy::Render()
{
glPushMatrix();
glRotatef( xRot, 1.0f, 0.0f, 0.0f );
glTranslatef( x, -y, z );
glBegin(GL_QUADS);
glColor3f( 1.0f, 0.0f, 0.0f );
glVertex3f( 1.0f, 1.0f, 1.0f );
glVertex3f( -1.0f, 1.0f, 1.0f );
glVertex3f( -1.0f, 1.0f, -1.0f );
glVertex3f( 1.0f, 1.0f, -1.0f );
glEnd();
glPopMatrix();
}

Posted on Jan 8, 2007, 9:22 PM

Respond to this message   

Return to Index


City.cpp

by (Login ComputerGhost)
R

#include <windows.h>
#include <gl/gl.h>
#include "City.h"
#include "Wall.h"

//***********************************************
// Init
// Sets up everything
//***********************************************
void City::Init( float heightMap[201][201] )
{
//-----------------------
// Initialize the variables
//-----------------------
stairsCount = 3;
buildingCount = 30;
stairs = new Stairs[stairsCount];
buildings = new Building[buildingCount];

//-----------------------
// Draw the city
// NOTE: -z to +z stairs don't work right
// NOTE: stairs going up towards -x have some bugs
//-----------------------

//Very outter walls
buildings[0].Create( -100, -100, 100, -99, 7, heightMap );
buildings[1].Create( -100, -99, -99, 99, 7, heightMap );
buildings[2].Create( -100, 99, 100, 100, 7, heightMap );
buildings[3].Create( 100, 99, 99, -99, 7, heightMap );

//Four outter towers and their walls
buildings[4].Create( -30, -30, -25, -25, 15, heightMap );
buildings[5].Create( 25, -30, 30, -25, 15, heightMap );
buildings[6].Create( -30, 30, -25, 25, 15, heightMap );
buildings[7].Create( 25, 30, 30, 25, 15, heightMap );
buildings[8].Create( -25, -30, 25, -25, 10, heightMap );
buildings[9].Create( 25, -25, 30, 25, 10, heightMap );
buildings[10].Create( -25, 25, -30, -25, 10, heightMap );
//Entrance towers and the walls
buildings[11].Create( -3, 25, -8, 30, 15, heightMap );
buildings[12].Create( 3, 25, 8, 30, 15, heightMap );
buildings[13].Create( 25, 25, 8, 30, 10, heightMap );
buildings[14].Create( -25, 25, -8, 30, 10, heightMap );
//Keep
buildings[15].Create( -3, -30, 2, -25, 15, heightMap );
buildings[16].Create( 25, -3, 30, 2, 15, heightMap );
buildings[17].Create( -3, -3, 2, 2, 15, heightMap );
buildings[18].Create( 25, 2, 2, -3, 10, heightMap );
buildings[19].Create( -3, -11, 2, -6, 15, heightMap );
buildings[20].Create( -3, -17, 2, -22, 15, heightMap );
buildings[21].Create( 2, -3, -3, -6, 10, heightMap );
buildings[22].Create( -3, -25, 2, -22, 10, heightMap );

buildings[23].Create( 24, -24, 6, -10, 18, heightMap );
buildings[24].Create( 5, -10, 25, -3, 10, heightMap );
buildings[25].Create( 25, -25, 5, -24, 20, heightMap );
buildings[26].Create( 25, -24, 24, -7, 20, heightMap );
buildings[27].Create( 5, -10, 6, -24, 20, heightMap );
buildings[28].Create( 6, -10, 22, -11, 20, heightMap );
buildings[29].Create( 8, -8, 24, -7, 20, heightMap );
//Castle stairs
stairs[0].Create( 8, 25, 25, 25, 0, 10, heightMap );
stairs[1].Create( -24, 25, -8, 25, 0, 10, heightMap );
stairs[2].Create( 8, -8, 24, -8, 10, 18, heightMap );
}

//***********************************************
// UnInit
// Shuts down everything that Init() does
//***********************************************
void City::UnInit()
{
delete[] buildings;
delete[] stairs;
}

//***********************************************
// Prepare
// Does the math
//***********************************************
/*void City::Prepare()
{
//
}*/

//***********************************************
// Render
// Draws the graphics
//***********************************************
void City::Render( float heightMap[201][201])
{
for( int i = 0; i < buildingCount; i++ )
buildings[i].Render();
for( int i = 0; i < stairsCount; i++ )
stairs[i].Render( heightMap );
}

Posted on Jan 8, 2007, 9:22 PM

Respond to this message   

Return to Index


glMain.cpp

by (Login ComputerGhost)
R

#define GROUNDLEVEL 2

#include <windows.h>
#include <gl/gl.h>
#include <stdlib.h>
#include <cmath>
#include "glMain.h"
#include "World.h"
#include "City.h"

using namespace std;

float Sin[360], Cos[360];

//***********************************************
// Init
// Initialize all the OpenGL stuff
//***********************************************
bool GLMain::Init()
{
//-----------------------
// Enable the OpenGL stuff
//-----------------------
float white[] = { 1.0f, 1.0f, 1.0f, 1.0f };
glLightfv( GL_LIGHT0, GL_AMBIENT_AND_DIFFUSE, white );
glClearColor( 0.0f, 0.0f, 0.0f, 0.0f );
glDepthFunc( GL_LEQUAL );
glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
glEnable( GL_COLOR_MATERIAL );
glEnable( GL_DEPTH_TEST );
glEnable( GL_BLEND );
glEnable( GL_LIGHTING );
glEnable( GL_LIGHT0 );

glMatrixMode( GL_PROJECTION );
glLoadIdentity();
glFrustum( -1.0, 1.0, -1.0, 1.0, 1.3, 1000.0 );
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();

//-----------------------
// Initialize the variables
//-----------------------
memset((void*)heightMap, 0, 40000*sizeof(float));
playerX = 0; playerY = 0; playerZ = -10;
playerXVel = 0; playerZVel = 0;
cameraXRot = 0; cameraYRot = 0;
isJumping = false;
oldT = t = float(clock()) / CLOCKS_PER_SEC;

//Trig
for( int degrees = 0; degrees < 360; degrees++ )
{
float radians = (degrees * 3.1416f) / 180;
Sin[degrees] = sin(radians);
Cos[degrees] = cos(radians);
}

//-----------------------
// Initialize other stuff being used
//-----------------------
//Create stuff
world = new World;
city = new City;
badGuy = new BadGuy;
if( world == NULL || city == NULL || badGuy == NULL )
{
delete world; delete city; delete badGuy;
return false;
}

//Init stuff
world->Init();
city->Init( heightMap );
badGuy->Init();

return true;
}

//***********************************************
// UnInit
// Shuts down everything that Init() sets up
//***********************************************
void GLMain::UnInit()
{
world->UnInit();
city->UnInit();
badGuy->UnInit();
}

//***********************************************
// Prepare
// Does the math
//***********************************************
void GLMain::Prepare()
{
t = float(clock()) / CLOCKS_PER_SEC; //Update the time used for the physics
float dt = t - oldT;

//-----------------------
// Move the player
//-----------------------
float vx = playerXVel * dt;
if( playerXVel )
{
float newX = playerX + vx*Cos[cameraYRot];
float newZ = playerZ + vx*Sin[cameraYRot];

float y = heightMap[int(newX + 100)][int(newZ + 100)];
float dy = y - playerY;
if( fabs(dy) <= 1 ) //If he can move there
{
playerX = newX;
playerZ = newZ;
if( !isJumping )
playerY = y;
}
if( dy < -1 ) //If it is a drop-off
{
playerX = newX;
playerZ = newZ;
if( !isJumping )
{
isJumping = true;
startHeight = playerY;
startVelocity = 0.0f;
startAirTime = t - 0.01f;
}
} else if( dy > 1 ) //If it is a wall
playerXVel = 0;
}
float vz = playerZVel * dt;
if( playerZVel )
{
float newX = playerX - vz*Sin[cameraYRot];
float newZ = playerZ + vz*Cos[cameraYRot];

float y = heightMap[int(newX + 100)][int(newZ + 100)];
float dy = y - playerY;
if( fabs(dy) <= 1 ) //If he can move there
{
playerX = newX;
playerZ = newZ;
if( !isJumping )
playerY = y;
}
if( dy < -1 ) //If it is a drop-off
{
playerX = newX;
playerZ = newZ;
if( !isJumping )
{
isJumping = true;
startHeight = playerY;
startVelocity = 0.0f;
startAirTime = t - 0.01f;
}
}
else if( dy > 1 ) //If it is a wall
playerZVel = 0;
}
if( isJumping )
{
float dt = t - startAirTime;
playerY = -4.9f * dt*dt + startVelocity*dt + startHeight;

float y = heightMap[int(playerX + 100)][int(playerZ + 100)];
if( playerY <= y ) //If hit ground
{
isJumping = false;
playerY = y;
}
}

//-----------------------
// Prepare the other stuff
//-----------------------
world->Prepare( playerX, -playerY, playerZ, dt );
city->Prepare();
badGuy->Prepare( playerX, -playerY, playerZ, dt, heightMap );

//-----------------------
// Set the time of the "previous visit" to use next time around
//-----------------------
if( dt )
oldT = t;
}

//***********************************************
// Render
// Draws the graphics
//***********************************************
void GLMain::Render()
{
//-----------------------
// Clear the screen and move the camera
//-----------------------
glLoadIdentity();
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

glRotatef( float(cameraXRot), 1, 0, 0 );
glRotatef( float(cameraYRot), 0, 1, 0 );
glTranslatef( playerX, -(GROUNDLEVEL + playerY), playerZ );

//-----------------------
// Move the light
//-----------------------
float lightPos[] = {0.0f, 0.0f, -50.0f, 1.0f };
glLightfv( GL_LIGHT0, GL_POSITION, lightPos );

//-----------------------
// Draw other stuff
//-----------------------
glPushMatrix();
world->Render();
city->Render( heightMap );
badGuy->Render();
glPopMatrix();
}

//***********************************************
// Jump
// Initialize a jump
//***********************************************
void GLMain::Jump()
{
if( !isJumping )
{
isJumping = true;
startHeight = playerY;
startVelocity = 5.0f;
startAirTime = float(clock()) / CLOCKS_PER_SEC - 0.01f;
}
}

//***********************************************
// RotateX
// Rotate the camera about the x-axis
//***********************************************
void GLMain::RotateX( int xChange )
{
cameraXRot += xChange;
if( cameraXRot < -90 )
cameraXRot = -90;
if( cameraXRot > 90 )
cameraXRot = 90;
}

//***********************************************
// RotateY
// Rotate the camera about the y-axis
//***********************************************
void GLMain::RotateY( int yChange )
{
cameraYRot += yChange;
if( cameraYRot >= 360 )
cameraYRot %= 360;
//while( cameraYRot < 0 ) //Won't use this -- how would yChange be >= 360?
if( cameraYRot < 0 ) //So this is used since it's faster.
cameraYRot = (cameraYRot + 360) % 360;
}

//***********************************************
// SetXVel
// Set velocity in the x direction (left-right)
//***********************************************
void GLMain::SetXVel( float vel )
{
playerXVel = vel;
}

//***********************************************
// SetZVel
// Set velocity in the z direction (forwards-backwards)
// Note that vel < 0 is in the forwards direction
//***********************************************
void GLMain::SetZVel( float vel )
{
playerZVel = vel;
}

Posted on Jan 8, 2007, 9:22 PM

Respond to this message   

Return to Index


main.cpp

by (Login ComputerGhost)
R

#include <windows.h>
#include "GLMain.h"

GLMain *glMain;

//***********************************************
// WindowProc
// Catches messages to the window
//***********************************************
LRESULT CALLBACK WindowProc(
HWND hWindow,
UINT message,
WPARAM wParam,
LPARAM lParam )
{
switch( message )
{
case WM_KEYUP:
//Key is up, so cancel motion in that direction
switch( wParam )
{
case 83: //S
case 87: //W
glMain->SetZVel( 0 ); //Stop moving forwards-backwards
break;
case 68: //A
case 65: //D
glMain->SetXVel( 0 ); //Stop moving left-right
break;
}
return 0;
case WM_KEYDOWN:
//Key is down, so start motion (if not esc)
switch( wParam )
{
case VK_ESCAPE:
PostQuitMessage( 0 );
break;
case 83: //S
glMain->SetZVel( -3.5f );
break;
case 87: //W
glMain->SetZVel( 3.5f );
break;
case 68: //A
glMain->SetXVel( -3.5f );
break;
case 65: //D
glMain->SetXVel( 3.5f );
break;
case VK_SPACE:
glMain->Jump(); //Start the jump
break;
}
return 0;
case WM_SYSCOMMAND: //System command
if( (wParam == SC_SCREENSAVE) || (wParam == SC_MONITORPOWER) )
return 0;
return 1;
case WM_CLOSE: //Close
PostQuitMessage( 0 );
return 0;
}

return DefWindowProc( hWindow, message, wParam, lParam ); //Do the default action
}

//***********************************************
// ShutDown
// Shuts down a few things so that the program can exit safely
//***********************************************
void ShutDown( HDC hDC, HGLRC hRC, HWND hMainWindow )
{
wglMakeCurrent( hDC, NULL );
wglDeleteContext( hRC );
ReleaseDC( hMainWindow, hDC );
ChangeDisplaySettings( NULL, 0 );
ShowCursor( TRUE );
}

//***********************************************
// WinMain
// Entry point to the program
//***********************************************
int WINAPI WinMain(
HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR cmdLine,
int cmdShow )
{
//-----------------------
// Create the window class
//-----------------------
WNDCLASS windowClass = {
CS_OWNDC,
WindowProc,
0, 0,
hThisInstance,
NULL,
NULL,
(HBRUSH)GetStockObject(BLACK_BRUSH),
NULL,
"windowClass"
};
RegisterClass( &windowClass );

//-----------------------
// Make it full screen
//-----------------------
DEVMODE dm = {0};
dm.dmSize = sizeof(DEVMODE);
dm.dmPelsWidth = 800;
dm.dmPelsHeight = 600;
dm.dmBitsPerPel = 32;
dm.dmFields = DM_BITSPERPEL | DM_PELSHEIGHT | DM_PELSWIDTH;
if( ChangeDisplaySettings( &dm, CDS_FULLSCREEN ) != DISP_CHANGE_SUCCESSFUL )
return 1;
ShowCursor( FALSE );
SetCursorPos( 400, 300 );

//-----------------------
// Create the window
//-----------------------
HWND hMainWindow = CreateWindowEx(
WS_EX_APPWINDOW,
"windowClass",
"3D Game",
WS_POPUP | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_VISIBLE,
0, 0,
800, 600,
NULL,
NULL,
hThisInstance,
NULL );
if( hMainWindow == NULL )
{
ChangeDisplaySettings( NULL, 0 );
ShowCursor( TRUE );
return 1;
}

//-----------------------
// Set up the DC, RC, and PFD
//-----------------------
HDC hDC = GetDC( hMainWindow );

PIXELFORMATDESCRIPTOR pfd = {0};
pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR);
pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
pfd.nVersion = 1;
pfd.iPixelType = PFD_TYPE_RGBA;
pfd.cColorBits = 32;
pfd.cDepthBits = 24;
pfd.iLayerType = PFD_MAIN_PLANE;

HGLRC hRC;
if( !SetPixelFormat( hDC, ChoosePixelFormat( hDC, &pfd ), &pfd )
|| !(hRC = wglCreateContext( hDC ))
|| !wglMakeCurrent( hDC, hRC ) )
{
ShutDown( hDC, hRC, hMainWindow );
return 1;
}

//-----------------------
// Few final inits, then the main loop
//-----------------------
glMain = new GLMain;
if( glMain == NULL )
{
ShutDown( hDC, hRC, hMainWindow );
return 1;
} else if( !glMain->Init() )
{
delete glMain;
ShutDown( hDC, hRC, hMainWindow );
return 1;
}

MSG message;
while( 1 == 1 )
{
if( PeekMessage( &message, NULL, 0, 0, PM_REMOVE ) )
{
TranslateMessage( &message );
DispatchMessage( &message );
}
if( message.message == WM_QUIT )
break;

//Trap the mouse
POINT mouse; GetCursorPos( &mouse );
long xChange = mouse.x - 400, yChange = mouse.y - 300;
if( xChange )
glMain->RotateY( xChange );
if( yChange )
glMain->RotateX( yChange );
SetCursorPos( 400, 300 );

//Do the graphics
glMain->Prepare();
glMain->Render();
SwapBuffers( hDC );
}

//-----------------------
// Shutdown everything
//-----------------------
glMain->UnInit();
ShutDown( hDC, hRC, hMainWindow );

return 0;
}

Posted on Jan 8, 2007, 9:23 PM

Respond to this message   

Return to Index


Textures.cpp

by (Login ComputerGhost)
R

#include <fstream>
#include "Textures.h"

using namespace std;

//***********************************************
//** LoadTexture
//** Loads a texture from a file and stores it in buffer
//***********************************************
void LoadTexture( PIXEL *buffer, const char *file, int width, int height )
{
int size = width * height * 3; //Size in bytes of the image

//open file
ifstream texFile;
texFile.open( file, ios::binary );

//If the file is okay
if( texFile.is_open() )
{
texFile.seekg( 18, ios_base::beg ); //Skip the header
texFile.read( (char*)buffer, size ); //Read the data

texFile.close();
}

//If the file is not okay
else {
int l = size >> 2, i;
for( i = 0; i < l; i++ )
((long*)buffer)[i] = 0;
l = size % 4;
if( l )
{
l += (i *= 4);
for( ; i < l; i++ )
((char*)buffer)[i] = 0;
}
}
}

Posted on Jan 8, 2007, 9:23 PM

Respond to this message   

Return to Index


Wall.cpp

by (Login ComputerGhost)
R

#include <windows.h>
#include <gl/gl.h>
#include <cmath>
#include "Wall.h"
#include "Textures.h"

using namespace std;

void Building::Create( int x1, int z1, int x2, int z2, float height, float heightMap[201][201] )
{
if( x1 > x2 )
{
int a = x2;
x2 = x1;
x1 = a;
}
if( z1 > z2 )
{
int a = z2;
z2 = z1;
z1 = a;
}

_x1 = x1; _z1 = z1;
_x2 = x2; _z2 = z2;
_height = height;

for( ; x1 <= x2; x1++ )
for( int z = z1; z <= z2; z++ )
{
if( heightMap[100 - x1][100 - z] < height )
heightMap[100 - x1][100 - z] = height;
};
}

void Building::Render()
{
glBegin(GL_QUADS);
glColor3f( 1.0f, 0.7f, 0.7f );
//-z wall
glVertex3f( (float)_x2 - 0.5f, _height, (float)_z1 - 0.5f );
glVertex3f( (float)_x2 - 0.5f, 0, (float)_z1 - 0.5f );
glVertex3f( (float)_x1 - 0.5f, 0, (float)_z1 - 0.5f );
glVertex3f( (float)_x1 - 0.5f, _height, (float)_z1 - 0.5f );

//-x wall
glVertex3f( (float)_x1 - 0.5f, _height, (float)_z1 - 0.5f );
glVertex3f( (float)_x1 - 0.5f, 0, (float)_z1 - 0.5f );
glVertex3f( (float)_x1 - 0.5f, 0, (float)_z2 - 0.5f );
glVertex3f( (float)_x1 - 0.5f, _height, (float)_z2 - 0.5f );

//+z wall
glVertex3f( (float)_x1 - 0.5f, _height, (float)_z2 - 0.5f );
glVertex3f( (float)_x1 - 0.5f, 0, (float)_z2 - 0.5f );
glVertex3f( (float)_x2 - 0.5f, 0, (float)_z2 - 0.5f );
glVertex3f( (float)_x2 - 0.5f, _height, (float)_z2 - 0.5f );

//+x wall
glVertex3f( (float)_x2 - 0.5f, _height, (float)_z2 - 0.5f );
glVertex3f( (float)_x2 - 0.5f, 0, (float)_z2 - 0.5f );
glVertex3f( (float)_x2 - 0.5f, 0, (float)_z1 - 0.5f );
glVertex3f( (float)_x2 - 0.5f, _height, (float)_z1 - 0.5f );

glColor3f( 0.0f, 0.0f, 0.0f );
//Roof
glVertex3f( (float)_x1 - 0.5f, _height, (float)_z1 - 0.5f );
glVertex3f( (float)_x1 - 0.5f, _height, (float)_z2 - 0.5f );
glVertex3f( (float)_x2 - 0.5f, _height, (float)_z2 - 0.5f );
glVertex3f( (float)_x2 - 0.5f, _height, (float)_z1 - 0.5f );
glEnd();
}

void Stairs::Create( int x1, int z1, int x2, int z2, float floor, float height, float heightMap[201][201] )
{
int dx = x2 - x1;
int dz = z2 - z1;
float y, slope = (height - floor)/float(dx + dz); //Assumes either dx or dz is 0
if( slope < 0 )
y = height;
else
y = slope + floor;

_x1 = x1 + 1; _x2 = x2;
_z1 = z1; _z2 = z2;
_floor = floor; _height = height;

if( x1 > x2 ){
int a = x2;
x2 = x1; x1 = a;
}
if( z1 > z2 ){
int a = z2;
z2 = z1; z1 = a;
}
--z1;
for( ; x1 != x2; x1++ )
{
for( int z = z1; z != _z2; z++ )
{

if( heightMap[100 - x1][101 - z] < y )
heightMap[100 - x1][101 - z] = y;
if( heightMap[100 - x1][100 - z] < y )
heightMap[100 - x1][100 - z] = y;
if( heightMap[99 - x1][101 - z] < y )
heightMap[99 - x1][101 - z] = y;
if( heightMap[99 - x1][100 - z] < y )
heightMap[99 - x1][100 - z] = y;
y += slope;
}
}
}

void Stairs::Render( float heightMap[201][201] )
{
int dx = _x2 - _x1;
int dz = _z2 - _z1;

if( dx < 0 )
dx = -1;
else
dx = 1;
if( dz < 0 )
dz - 1;
else
dz = 1;

for( float x = (float)_x1 - dx; x != (float)_x2; x += (float)dx )
{
for( float z = (float)_z1 - dz; z != (float)_z2; z += (float)dz )
{
float y = heightMap[100 - int(x)][100 - int(z)];
glBegin(GL_QUADS);
glColor3f( 0.7f, 0.7f, 1.0f );
//-z wall
glVertex3f( x - 0.5f, y, z + 0.5f );
glVertex3f( x - 0.5f, _floor, z + 0.5f );
glVertex3f( x + 0.5f, _floor, z + 0.5f );
glVertex3f( x + 0.5f, y, z + 0.5f );

//-x wall
glVertex3f( x + 0.5f, y, z + 0.5f );
glVertex3f( x + 0.5f, _floor, z + 0.5f );
glVertex3f( x + 0.5f, _floor, z - 1.5f );
glVertex3f( x + 0.5f, y, z - 1.5f );

//+z wall
glVertex3f( x + 0.5f, y, z - 1.5f );
glVertex3f( x + 0.5f, _floor, z - 1.5f );
glVertex3f( x - 0.5f, _floor, z - 1.5f );
glVertex3f( x - 0.5f, y, z - 1.5f );

//+x wall
glVertex3f( x - 0.5f, y, z - 1.5f );
glVertex3f( x - 0.5f, _floor, z - 1.5f );
glVertex3f( x - 0.5f, _floor, z + 0.5f );
glVertex3f( x - 0.5f, y, z + 0.5f );

glColor3f( 1.0f, 1.0f, 1.0f );
//Top
glVertex3f( x + 0.5f, y, z + 0.5f );
glVertex3f( x + 0.5f, y, z - 1.5f );
glVertex3f( x - 0.5f, y, z - 1.5f );
glVertex3f( x - 0.5f, y, z + 0.5f );
glEnd();
}
}
}

Posted on Jan 8, 2007, 9:23 PM

Respond to this message   

Return to Index


World.cpp

by (Login ComputerGhost)
R

#include <windows.h>
#include <gl/gl.h>
#include "World.h"
#include "Textures.h"

//***********************************************
// Init
// Sets up everything World uses
//***********************************************
void World::Init()
{
//-----------------------
// Enable stuff
//-----------------------
glEnable( GL_TEXTURE_2D );

//-----------------------
// Load the textures
//-----------------------
PIXEL *bmp = new PIXEL[65536]; //256*256

//Floor
LoadTexture( bmp, "Images/Floor.tga", 256, 256 );
glGenTextures( 1, &texFloor );
glBindTexture( GL_TEXTURE_2D, texFloor );
glTexImage2D( GL_TEXTURE_2D, 0, GL_RGB, 256, 256, 0, GL_RGB, GL_UNSIGNED_BYTE, bmp );
glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );

//Stars
LoadTexture( bmp, "Images/Stars.tga", 256, 256 );
glGenTextures( 1, &texStars );
glBindTexture( GL_TEXTURE_2D, texStars );
glTexImage2D( GL_TEXTURE_2D, 0, GL_RGB, 256, 256, 0, GL_RGB, GL_UNSIGNED_BYTE, bmp );
glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );

//Clouds
LoadTexture( bmp, "Images/Clouds.tga", 256, 256 );
glGenTextures( 1, &texClouds );
glBindTexture( GL_TEXTURE_2D, texClouds );
glTexImage2D( GL_TEXTURE_2D, 0, GL_RGB, 256, 256, 0, GL_RGB, GL_UNSIGNED_BYTE, bmp );
glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );

delete bmp;

//-----------------------
// Initialize the variables
//-----------------------
cloudsOff = 0;
//x = 0; y = 0; z = 0;
}

//***********************************************
// UnInit
// Uninitializes everything Init() set up
//***********************************************
void World::UnInit()
{
//-----------------------
// Unload the textures
//-----------------------
glDeleteTextures( 1, &texFloor );
glDeleteTextures( 1, &texStars );
glDeleteTextures( 1, &texClouds );
}

//***********************************************
// Prepare
// Does the physics
//***********************************************
void World::Prepare( float playerX, float playerY, float playerZ, float dt )
{
x = playerX; y = playerY; z = playerZ;

if( dt )
{
cloudsOff += 1.0f * dt;
if( cloudsOff >= 25.0f )
cloudsOff = float(int(cloudsOff * 10) % 250) / 10; //cloudsOff %= 25.0;
}
}

//***********************************************
// Render
// Draws the graphics
//***********************************************
void World::Render()
{
glColor3f( 1.0f, 1.0f, 1.0f );
//Floor
glBindTexture( GL_TEXTURE_2D, texFloor );
glBegin(GL_QUADS);
glTexCoord2f( 0.0f, 0.0f ); glVertex3f( -100.0f, 0.0f, -100.0f );
glTexCoord2f( 0.0f, 70.0f ); glVertex3f( -100.0f, 0.0f, 100.0f );
glTexCoord2f( 70.0f, 70.0f ); glVertex3f( 100.0f, 0.0f, 100.0f );
glTexCoord2f( 70.0f, 0.0f ); glVertex3f( 100.0f, 0.0f, -100.0f );
glEnd();

//Stars
glBindTexture( GL_TEXTURE_2D, texStars );
glBegin(GL_QUADS);
glTexCoord2f( 0.0f, 0.0f ); glVertex3f( -100.0f - x, 20.0f - y, -100.0f - z );
glTexCoord2f( 0.0f, 8.0f ); glVertex3f( -100.0f - x, 20.0f - y, 100.0f - z );
glTexCoord2f( 8.0f, 8.0f ); glVertex3f( 100.0f - x, 20.0f - y, 100.0f - z );
glTexCoord2f( 8.0f, 0.0f ); glVertex3f( 100.0f - x, 20.0f - y, -100.0f - z );
glEnd();

//Clouds
glBindTexture( GL_TEXTURE_2D, texClouds );
glBegin(GL_QUADS);
glColor4f( 0.8f, 0.8f, 0.8f, 0.5f );
glTexCoord2f( 0.0f, 0.0f );
glVertex3f( -100.0f-x + cloudsOff, 19.8f-y, -100.0f-z + cloudsOff );
glTexCoord2f( 0.0f, 8.0f );
glVertex3f( -100.0f-x + cloudsOff, 19.8f-y, 100.0f-z + cloudsOff );
glTexCoord2f( 8.0f, 8.0f );
glVertex3f( 100.0f-x + cloudsOff, 19.8f-y, 100.0f-z + cloudsOff );
glTexCoord2f( 8.0f, 0.0f );
glVertex3f( 100.0f-x + cloudsOff, 19.8f-y, -100.0f-z + cloudsOff );
glColor4f( 1.0f, 1.0f, 1.0f, 1.0f );
glEnd();
}

Posted on Jan 8, 2007, 9:24 PM

Respond to this message   

Return to Index


BadGuy.h

by (Login ComputerGhost)
R

#ifndef BADGUY_H
#define BADGUY_h

class BadGuy
{
public:
void Init();
void UnInit();

void Prepare( float px, float py, float pz, float dt, float heightMap[201][201] );
void Render();
private:
int xRot;
float x, y, z;
float velX, velZ;

//Used with jumping
float startHeight;
float startVelocity;
float startAirTime;
bool isFalling;
};

#endif

Posted on Jan 8, 2007, 9:24 PM

Respond to this message   

Return to Index


City.h

by (Login ComputerGhost)
R

#ifndef CITY_H
#define CITY_H

#include "Wall.h"

class City
{
public:
void Init( float heightMap[201][201] );
void UnInit();

void Prepare(){};
void Render( float heightMap[201][201] );
private:
Building *buildings;
Stairs *stairs;
int buildingCount, stairsCount;
};

#endif

Posted on Jan 8, 2007, 9:24 PM

Respond to this message   

Return to Index


glMain.h

by (Login ComputerGhost)
R

#ifndef GLMAIN_H
#define GLMAIN_H

#include <time.h>
#include "World.h"
#include "City.h"
#include "BadGuy.h"

class GLMain
{
public:
bool Init();
void UnInit();

void Prepare(); //Game logic
void Render(); //Draw graphics

void RotateX( int xChange );
void RotateY( int yChange );
void SetXVel( float vel );
void SetZVel( float vel );
void Jump();
private:
//Other stuff
World *world;
City *city;
BadGuy *badGuy;
float heightMap[201][201];

//Used with jumping
float startHeight;
float startVelocity;
float startAirTime;
bool isJumping;

//Used for other physics for player and for the camera
int cameraXRot, cameraYRot;
float playerX, playerY, playerZ;
float playerXVel, playerZVel;

//Time variables -- used to keep physics smooth
float t;
float oldT;
};


#endif

Posted on Jan 8, 2007, 9:24 PM

Respond to this message   

Return to Index


Textures.h

by (Login ComputerGhost)
R

#ifndef TEXTURES_H
#define TEXTURES_H

struct PIXEL
{
char r;
char g;
char b;
};

void LoadTexture( PIXEL* buffer, const char *file, int width, int height );

#endif

Posted on Jan 8, 2007, 9:25 PM

Respond to this message   

Return to Index


Wall.h

by (Login ComputerGhost)
R

#ifndef WALL_H
#define WALL_H

class Building
{
public:
void Create( int x1, int z1, int x2, int z2, float height, float heightMap[201][201] );

void Render();
private:
int _x1, _z1;
int _x2, _z2;
float _height;
};

class Stairs
{
public:
void Create( int x1, int z1, int x2, int z2, float floor, float height, float heightMap[201][201] );

void Render( float heightMap[201][201] );
private:
int _x1, _z1;
int _x2, _z2;
float _floor, _height;
};

#endif

Posted on Jan 8, 2007, 9:25 PM

Respond to this message   

Return to Index


World.h

by (Login ComputerGhost)
R

#ifndef WORLD_H
#define WORLD_H

#include <windows.h>
#include <gl/gl.h>

class World
{
public:
void Init();
void UnInit();

void Prepare( float playerX, float playerY, float playerZ, float dt );
void Render();
private:
GLuint texFloor;
GLuint texStars;
GLuint texClouds;

float cloudsOff; //Offset of clouds
float x, y, z; //Player's coordinates (used for the skybox)
};

#endif

Posted on Jan 8, 2007, 9:25 PM

Respond to this message   

Return to Index


<---More Info---> Read this for more info on how to get it to run.

by (Login ComputerGhost)
R

I made it with Microsoft Visual C++, but it should be okay with other stuff...

Just include the library opengl32.lib.

My excuse for posting it here instead of uploading and posting a URL is that I am living at the dorm again. They have access to my website via SSH blocked, and they have every other upload service I can find blocked.


---Edit---
I almost forgot the speed notes file. You can change the velocities of everything if you want. All measurements are in meters, seconds, or meters/second in my engine. The velocities and accelerations are hard-coded, so you'll have to search for them. (tip: to get the jumping velocity, search for "5.0"). As I recall the only acceleration I used was 9.80 (acceleration of gravity on earth).

---Speed Notes.txt---
Slow walking speed: 1.5 meters per second
Fast walking speed: 2.2 meters per second
My jogging speed on 5k run: 3.5 meters per second
Athlete's jogging speed (100m dash): 7.2 meters per second
Car going 60mph speed: 26.8 meters per second



In the game:
Player jumps: 5.0 meters per second
Player moves: 3.5 meters per second
Clouds move: 1.0 meters per second




    
This message has been edited by ComputerGhost on Jan 8, 2007 9:48 PM

Posted on Jan 8, 2007, 9:28 PM

Respond to this message   

Return to Index


VB5 and listboxes

by (no login)

OK, I need some help.

I have used QBasic and made a program that worked quite nicely.
But I want to update my program to VB.

Here is a sample of my code;

Private Sub CommandButton1_Click()
'Press this button to allow entry of length into listbox1.


End Sub

Private Sub CommandButton2_Click()
'Press this button to allow entry of width into listbox2.



End Sub

Private Sub Figure_Click()
'Press this button to figure area of Length * Width and display it in bottom listbox3.


End Sub

Private Sub ListBox1_Click()

End Sub

Private Sub UserForm_Click()

End Sub




The basic idea is to have each numeric value displayed in each listbox and the multiple displayed in the bottom listbox.

Upon entry of new figures old entries must clearout.

This would help me greatly with my project as there are about 5 different formulas I have that would need to bring up a new userform with the same GUI as the previous and clear out all old values.

Any help anyone can give me on this would be most appreciated.

Thanks in advance from a newbie in VB.

P.S. I am running VB that came with FrontPage 2000.

Posted on Jan 3, 2007, 2:12 PM

Respond to this message   

Return to Index


Can't help with VB but I made a pro-QB and anti-VB5 comment.

by Pete (no login)

Recommendation #1: Forget VB5 it is a near worthless language and a step down from Basic despite what the morons at M$ would like you to believe.

Recommendation #2: Forget FrontPage 2000. Even though you didn't state you are using it. Get Nvu if you want a good free Web Authoring System that works on any platform or if you have a few bucks, buy Dreamweaver. It's over-priced but works. FrontPage is abs(crap!)

Personally, I hate VB. Stupid limited language thrown together by M$ to make sheepish programmers follow them into a more controlled environment. I make better functioning drop-down menus in QB than possible in VB but it takes some programming to do so. No drag and drop or calling pre-designed functions in QB, thank goodness.

So, if I haven't "sweet talked" you into throwing out your VB and working out your programming needs in QB (and for the life of me I can't figure out way, my cheery disposition and all) then hang around a bit to see if any of the talented people here that program in QB and other languages can give you a hand.

I'm being a bit sarcastic because I'm just so fed up with Micro$oft and the crap they have put out for the past 10 years. I do feel that QB was an amazing development and the last decent M$ programming released, period. If you would consider making such a program in QB you could also ask for help in the main forum. I've been programming in QB since 1990 and in Basic since 1981. I have had no need to 'step' into anything else. My guess is that you could go further with Basic if you continued.

Note that DOSBox can be used to make QB work in a 32 to 64-bit environment and PowerBasic, very similar to QB, works in 32-bit environments without emulation at all. Get the "V" out of VB and get a "Q" or if you’re going to change, try C. C, unlike VB5 is not “outdated” and M$ will not be able to outdate it (imho). Of course, you have to love to program. It takes longer to put projects together but they are 100% yours when you do. However, if you care more about putting together M$ looking thingies, you may be doing what’s right for you.

In any case, if you have'nt been here before, welcome to the forum, please excuse my less than enthusiastic remarks at your choice of programming languages and please feel free to opinionate all over me if you disagree. Also, if you don’t get some help here in VB5 and want to pursue it, try daniweb.com. They are another active programming site with some older language support, too.

Pete

Posted on Jan 6, 2007, 8:11 AM

Respond to this message   

Return to Index


Strange application

by (Premier Login iorr5t)
Forum Owner

I wouldn't use listboxes like that.

Here is a program that may do what you need:
http://www.network54.com/Realm/WVRes/V.zip

Try running it. You just press Enter when finished with a length or width.

Mac

P.S. You said "I have used QBasic and made a program that worked quite nicely."

It would be helpful if you post that program so we can see exactly what you mean.



    
This message has been edited by iorr5t on Jan 6, 2007 9:59 AM
This message has been edited by iorr5t on Jan 6, 2007 9:58 AM

Posted on Jan 6, 2007, 9:47 AM

Respond to this message   

Return to Index


If it came with FrontPage then it's probably VBA, (for applications), not VB.

by Solitaire (no login)

I'm not familiar with VBA, but I agree with Mac - you should be using textboxes, not listboxes.

Why do you need a button to "allow entry" into the textboxes? Just make sure the textboxes have been filled with numeric values before executing the button's click event. For example:

Private Sub CommandButton1_Click()
Dim length As Double, width As Double, area As Double
If IsNumeric(txtLength) And IsNumeric(txtWidth) Then
   length = Val(txtLength)
   width = Val(txtWidth)
   area = length * width
   txtArea.Text = CStr(area)
End If
End Sub

Posted on Jan 6, 2007, 11:14 AM

Respond to this message   

Return to Index


* Hey, Tim, You able to respond to this thread?

by (Premier Login iorr5t)
Forum Owner

Posted on Jan 8, 2007, 9:29 PM

Respond to this message   

Return to Index


Hi all

by Tim (no login)

Sorry,

I've been very busy as of late.

And thanks to all for the info.

Thanks Mac for the link, I'll check it out.

Here is the program I have:

Dim MenuIn AS INTEGER 'Numeric for user main menu input.
Dim SHARED num AS INTEGER, i%

DO
GOSUB MainMenu 'Call the main menu.
SELECT CASE MenuIn
CASE 1
GOSUB DblDoor 'Figure sizes for double doors according to opening size.
CASE 2
GOSUB SnglDoor 'Figure size for single door according to opening size.
CASE 3
GOSUB Barpnl 'Figure pieces for a bar panel.
CASE 4
GOSUB DecFrac 'Convert decimal numbers to fractions.
CASE 5
GOSUB FigDraw 'Figures height of drawers for cabinet.
CASE 6
GOSUB Quit 'Quits the program.
END SELECT
LOOP UNTIL i% = 1-6

CLOSE
END

MainMenu:
CLS
PRINT
PRINT "What do you want to do."
PRINT "****************************"
PRINT "1. Figure double door sizes according to opening size."
PRINT "2. Figure single door size according to opening size."
PRINT "3. Figure pieces for barpanel."
PRINT "4. Convert decimal number to 32nds of an inch."
PRINT "5. Figure height of drawers in cabinet."
PRINT "6. Quits the program."
PRINT
PRINT "Please press the number of your choice."
PRINT
PRINT "(6 will exit the program)"
PRINT
INPUT "What is your selection?" ,MenuIn

IF MenuIn = 1 THEN
GOTO DblDoor
END IF
IF MenuIn = 2 THEN
GOTO SnglDoor
END IF
IF MenuIn = 3 THEN
GOTO Barpnl
END IF
IF MenuIn = 4 THEN
GOTO DecFrac
END IF
IF MenuIn = 5 THEN
GOTO FigDraw
END IF
IF MenuIn = 6 THEN
GOTO Quit
END IF

DblDoor:
CLS
'Establish variable x for opening width.
PRINT "Enter all fractional values in decimal format."
PRINT
INPUT "Enter width of opening in decimal amount: "; x
PRINT
W = (x + .875) / 2
PRINT "Each Door Width = "; W
PRINT
GOTO FigDoorWidth

SnglDoor:
CLS
'Establish variable x for opening width.
PRINT "Enter all fractional values in decimal format."
PRINT
INPUT "Enter width of opening in decimal amount: "; x
PRINT
W = x + 1
PRINT "Total Door Width = "; W
PRINT
GOTO FigDoorWidth

Barpnl:
CLS
PRINT "Figures all pieces for barpanels."
PRINT
PRINT "Enter all fractional values in decimal format."
PRINT
INPUT "Enter total length of barpanel: "; L
B = L - 4.25
PRINT "Length of bottom rail: "; B
PRINT
INPUT "Enter total number of center mulls: "; C
V = L - (5 + 2.5 * C)
D = C + 1
R = (V/D) + .75
PRINT "Length of each top rail: "; R
PRINT
P = R - .313
PRINT "Width of each panel: "; P
PRINT
SYSTEM

DecFrac:
CLS
INPUT "To convert a number to 32nds, enter it in decimal form: "; N
PRINT
F = 32 * N
PRINT F; "/32"
SLEEP
SYSTEM

FigDoorWidth:
R = W - 4.25
PRINT "Rail length: "; R
P = R - .313
PRINT
PRINT "Panel width: "; P
SLEEP
SYSTEM

FigDraw:
CLS
'Establish variable x for cabinet height.
INPUT "Enter total cabinet height: "; x
PRINT
INPUT "How many drawers would you like to have in this cabinet: "; D
PRINT
T = x - (4.75 + 2 * D)
H = (T/D) - .5
PRINT "Total cabinet height is: "; x
PRINT "Total number of drawers is: "; D
PRINT "Height of drawer sides is: "; H
SYSTEM
SLEEP

Quit:
CLS
PRINT "Quits the program."
SYSTEM


I don't think the DecFrac sub works though...

Posted on Jan 10, 2007, 2:30 PM

Respond to this message   

Return to Index


Changed it just a little. Took out some redundancy but I think you have it working fine...

by Pete (no login)

DIM MenuIn AS INTEGER 'Numeric for user main menu input.
DIM SHARED num AS INTEGER, i%

MainMenu:
CLS
PRINT
PRINT "What do you want to do."
PRINT "****************************"
PRINT "1. Figure double door sizes according to opening size."
PRINT "2. Figure single door size according to opening size."
PRINT "3. Figure pieces for barpanel."
PRINT "4. Convert decimal number to 32nds of an inch."
PRINT "5. Figure height of drawers in cabinet."
PRINT "6. Quits the program."
PRINT
PRINT "Please press the number of your choice."
PRINT
PRINT "(6 will exit the program)"
PRINT
LOCATE , , 1: PRINT "What is your selection? ";

DO
MenuIn = VAL(INKEY$)
LOOP UNTIL MenuIn >= 1 AND MenuIn <= 6

SELECT CASE MenuIn
CASE 1
GOSUB DblDoor 'Figure sizes for double doors according to opening size.
GOSUB FigDoorWidth
CASE 2
GOSUB SnglDoor 'Figure size for single door according to opening size.
GOSUB FigDoorWidth
CASE 3
GOSUB Barpnl 'Figure pieces for a bar panel.
CASE 4
GOSUB DecFrac 'Convert decimal numbers to fractions.
CASE 5
GOSUB FigDraw 'Figures height of drawers for cabinet.
CASE 6
GOTO quit 'Quits the program.
END SELECT

LOCATE 25, 1
PRINT "Press Esc to End or Enter to Continue...";
DO
b$ = INKEY$
IF b$ = CHR$(13) THEN EXIT DO
IF b$ = CHR$(27) THEN GOTO quit
LOOP
RUN

DblDoor:
CLS
'Establish variable x for opening width.
PRINT "Enter all fractional values in decimal format."
PRINT
INPUT "Enter width of opening in decimal amount: "; x
PRINT
W = (x + .875) / 2
PRINT "Each Door Width = "; W
PRINT
RETURN

SnglDoor:
CLS
'Establish variable x for opening width.
PRINT "Enter all fractional values in decimal format."
PRINT
INPUT "Enter width of opening in decimal amount: "; x
PRINT
W = x + 1
PRINT "Total Door Width = "; W
PRINT
RETURN

Barpnl:
CLS
PRINT "Figures all pieces for barpanels."
PRINT
PRINT "Enter all fractional values in decimal format."
PRINT
INPUT "Enter total length of barpanel: "; L
b = L - 4.25
PRINT "Length of bottom rail: "; b
PRINT
INPUT "Enter total number of center mulls: "; C
V = L - (5 + 2.5 * C)
D = C + 1
R = (V / D) + .75
PRINT "Length of each top rail: "; R
PRINT
P = R - .313
PRINT "Width of each panel: "; P
RETURN

DecFrac:
CLS
INPUT "To convert a number to 32nds, enter it in decimal form: "; N
PRINT
F = 32 * N
PRINT LTRIM$(STR$(F)); "/32"
RETURN

FigDoorWidth:
R = W - 4.25
PRINT "Rail length: "; R
P = R - .313
PRINT
PRINT "Panel width: "; P
RETURN

FigDraw:
CLS
'Establish variable x for cabinet height.
INPUT "Enter total cabinet height: "; x
PRINT
INPUT "How many drawers would you like to have in this cabinet: "; D
PRINT
T = x - (4.75 + 2 * D)
H = (T / D) - .5
PRINT "Total cabinet height is: "; x
PRINT "Total number of drawers is: "; D
PRINT "Height of drawer sides is: "; H
RETURN

quit:
CLS
PRINT "Quits the program."

Posted on Jan 10, 2007, 3:30 PM

Respond to this message   

Return to Index


I'm learning some Java !

by (Login Chandlerklebs)

I didn't think I'd like Java very much,but I read stuff and finally got the Hello World
working!

class hello
{

public static void main(String[] args)
{
System.out.print("Hello World!\n");
}

}

after installing something weird,I did the command line according to these instructions.

http://java.sun.com/docs/books/tutorial/getStarted/index.html

So now I have Hello World!
Now I have to learn how to print integers and work with variables.
Then of course I'll need to use conditionals and write a binary counting program in Java .

There is an up and a downside of Java.

The bad news

The runtime environment and SDK are very large. This is what hurt me the most.

The good news

These Java .class files are nice because they are interpretted.
They about a third of size of the Windows EXEs I've made with FASM.
The class file for Hello World is 411 bytes! Try doing that with FreeBasic or C .

I do not recommend Java for everybody,but I read it has been used server side before.
Maybe if I learn more I can use it on my server .

Besides,I plan to write good binary counting programs in all popular
languages. Java was a target especially since Ben Dellheim is learning it.
I'm his programming rival .

Posted on Jan 2, 2007, 4:07 PM

Respond to this message   

Return to Index


*Good for you! When you are done with the basics, check out the java.math.BigInteger class

by rpgfan3233 (no login)

Posted on Jan 2, 2007, 4:22 PM

Respond to this message   

Return to Index


I remember somebody telling me about that.

by (Login Chandlerklebs)

However,I didn't become a programmer to rely on these classes.
I bet there is a binary output class too for all I know,but coding it my
way gives me satisfaction .

I finally got a binary counting program working!

class IO
{


public static void main(String[] args)
{

byte b,c0,c1,d,e,g;
e=8;
g=e;
g++;
byte[] a=new byte[g];

do
{

for(b=1;b<=e;b++){System.out.print(a[b]);}
System.out.print("\r\n");

c0=1;
for(b=e;b>0;b--)
{
c1=c0;
c0&=a[b];
a[b]^=c1;
}

}
while(c0==0);

}
}

You can change the 8 variable to do 0 to FF bits .
Java is very slow though in comparison to PHP,but now that I've done my awesome binary counting,
I feel like it's 1 more programming language I've defeated!

Posted on Jan 2, 2007, 7:18 PM

Respond to this message   

Return to Index


LOL Nicely done. BTW, here is a way to do it using BigInteger and String...

by rpgfan3233 (no login)

import java.math.BigInteger;

class BinaryCounting {

public static void main (String[] args) {
BigInteger upperBound = new BigInteger("FFFFFFFFFFFFFFFF", 16); // set the maximum number to output (constructor: BigInteger(String value [, int radix]) )

for (BigInteger n = BigInteger.ZERO; n.compareTo(upperBound) != 1; n = n.add(BigInteger.ONE))
System.out.println(n.toString(2)); // output the BigInteger as a String after converting it to base 2

}

}

Posted on Jan 2, 2007, 8:02 PM

Respond to this message   

Return to Index


Nice.

by (Login Chandlerklebs)

I suppose importing classes is great for reducing the time it takes to make something.

The binary program I posted is modeled after my assembly versions.

Posted on Jan 3, 2007, 1:45 PM

Respond to this message   

Return to Index


defeated? *

by (no login)

Posted on Jan 3, 2007, 2:34 PM

Respond to this message   

Return to Index


Yes neuro,defeated.

by (Login Chandlerklebs)

See,these programming languages are designed with the idea of printing integers
in decimal . By making everything binary,I have killed the intention of
those languages.

Also,my programs that do more than thirtytwo bits break the standard limit
of the machine. I am very proud of overcoming the obstacles.

That is what lead me into assembly of course.
It's hard work trying to get an assembly program to do what
a higher level language can do easier.

It is through these trials that I have become so strong!

Posted on Jan 3, 2007, 9:10 PM

Respond to this message   

Return to Index


Is it possible to allow people to upload to my server?

by (Login Chandlerklebs)

Obviously,people can download from my server quite easily.

The thing is,supposing there was a way to let them upload something to my server?

I probably wouldn't do it for very long because of security risks,but
I would try to upload it to my own server. Seems like a weird way,but
for a test of something different.

Of course,each time it would have to be configured for my server since my IP changes each time.

I figured somebody here would be able to do it.

Posted on Dec 29, 2006, 9:58 PM

Respond to this message   

Return to Index


Re: Is it possible to allow people to upload to my server?

by E.K.Virtanen (no login)

There is actually tons of upload scripts allready. Just go to http://www.phpbuilder.com/snippet/ or some other snippet site there is for php programming.
Security is allways a major issue, i suggest you to learn php more than just get a finished script to keep your server safe.

But if you want some simple upload script, take from some snippet site or i can do script like that to you, but as told, security is allways a major risk.

Posted on Dec 30, 2006, 2:13 PM

Respond to this message   

Return to Index


OK thanks.

by (Login Chandlerklebs)

I'm not going to keep it on there very long.
I'll probably test it myself,but never actually let anybody else use it.
I should be safe that way.

Posted on Dec 30, 2006, 3:56 PM

Respond to this message   

Return to Index


Any ASM guru's about?

by Pete (no login)

TheBob and I are looking for some ideas on making a PCOPY for SCREEN 12 and 13. The following code was found on the Web for DragonBasic. I was wondering if it could be made to PCOPY a screen 12 or 13 QB graphics program. Any ideas?

Pete

-------------------------------------------------------------------

The BASIC program which follows loads the necessary machine-code to do page-switching: it's configured to work with DragonDos, and by default goes into the cassette buffer at &H200. To use it without a disk, change the instructions at line 140 (JMP $D917) to read "140 DATA 39,12,12" (ie RTS,NOP,NOP), and allocate a specific address for BA when prompted in line 430. The machine-code comprises 3 sections: SWOPIT, which dumps the stack- pointer in "HOLE", switches pages, and reloads the SP from the corresponding location in the other page; VDG, which keeps the Video Display looking at the right text-screen; and MOVIT, which sets up Page 1 initially, by copying page 0 into it and then altering a few 1ocations. After the BASIC has run, it can be deleted (but the machine-code must be kept intact) - if Reset is pressed, SWOPIT will not in general work correctly (a bit more code, pointed to by the Reset vector, is needed). After the Basic has run, typing 'EXEC' (or executing it in a BASIC statement) will take you from one field to the other, and pick up any program from where it was interrupted; (however, SWOPIT could be linked into the 'End-of-Line' hook at &H19A-&H19C - or even into FIRQ). The routine is believed to work correctly for all BASIC programs (and many m/c ones), which use the text-screen only. It will also generate graphics correctly, but in Page 1 will not display them unless the statement 'SCREEN a,b' is expanded to 'SCREEN a,b: POKE &HFFD3,0'.

Thats it - it's all quite easy really - give it a try!.

Bob Hall.

ASSEMBLY LANGUAGE
³ ³
TTL PAGE SWOP ROUTINE PIC
STTL DUMP REGS,STACK, SWITCH PAGES & RELOAD

10 'HOLE-STACK STORED HERE
20 DATA 0,0 HOLE FDB 0 STACK STORED HERE
30 'STOPIT-SWITCHES PAGES
40 DATA 34,7F SWOPIT PSHS A,B,X,Y,U,DP,CC
50 DATA 1A,50 ORCC œ$50 I0F
60 DATA 10,EF,8C,F6 STS HOLE,PCR
70 DATA 32,8C,75 LEAS SWOPIT+$80,PCR IN CASE OF NMI?
80 DATA B7,FF,D4 LS1 STA $FFD4 FLIP PAGE
90 DATA 10,EE,8C,EC LDS HOLE,PCR
100 DATA 35,FF PULS PC,A,B,X,Y,U,DP,CC
110 'VDG-CHANGE VDG PAGE STTL VDG RESET ON RAM O/P HOOK
120 DATA 7D,00,6F VDG TST $6F FIND IF O/P TO SCREEN
130 DATA 27,03 BEQ LV2
l40 DATA 7E,D9,17 JMP $D917 DRAGONDOS HOOK
150 DATA BD,8O,0C LV2 JSR $800C PUT CHAR ON SCREEN
160 DATA 32,62 LEAS 2,S DROP OLD RETURN ADDRESS OFF STACK
l70 DATA 34,16 PSHS X,B,A
180 DATA 8E,FF,C8 LDX œ$FFC8 SAM VDG BITS START
190 DATA A7,0A LV1 STA $A,X
200 DATA 7E,A9,41 JMP $A941 NOW REJOIN ROM RESET ROUTINE
210 'MOVIT-SETUP INITIAL CONFIG
220 DATA 34,7F STTL COPY PAGE 0 TO PAGE 1 AND SETUP
230 DATA 1A,50 MOVIT PSHS A,B,X,Y,U,DP,CC
240 DATA 8E,00,00 ORCC œ$5O
250 DATA 10,8E,80,00 LDX œ$0000
260 DATA B7,FF,DF LDY œ$8000
270 DATA A6,80 STA $FFDF MAPMODE 1
280 DATA A7,A0 LM1 LDA ,X+
290 DATA 8C,7E,FF STA ,Y+
300 DATA 2F,F7 CMPX œ$7EFF
310 DATA 86,D5 BLE LM1
320 DATA A7,8C,C6 LDA œ$D5
330 DATA 4A STA LS1+2,PCR
340 DATA A7,8D,7F,C1 DEC A
350 DATA 86,0A STA LS1+$8002,PCR
360 DATA A7,8C,D6 LDA œ$0A
370 DATA 4C STA LV1+1,PCR
380 DATA A7,8D,7F,D1 INC A
390 DATA B7,FF,DE STA LV1+$8001,PCR
400 DATA 35,FF STA $FFDE MAPMODE 0
410 ' PULS PC,X,Y,A,B,U,DP,CC
420 CLEAR 500
430 PRINT"swopit here":PRINT"GIVE ME A HOLE TO LIVE IN";:INPUT BA
440 IF BA<300 THEN BA=512
450 SWOPIT=BA+2:VDG=BA+22:MOVIT=BA+45
460 FOR I=BA TO BA+92
470 READ V$:V=VAL("&H"+V$)
480 POKE I,V
490 NEXT I
500 EXEC SWOPIT
510 X=VDG:Y=INT(X/256):Z=X-256*Y
520 POKE &H169,Z
530 POKE &H168,Y
540 POKE &H167,&H7E
550 EXEC MOVIT
560 EXEC SWOPIT
570 EXEC SWOPIT

Posted on Dec 22, 2006, 4:01 PM

Respond to this message   

Return to Index


* That looks confusing to me!

by (Login Chandlerklebs)

Posted on Dec 23, 2006, 12:17 PM

Respond to this message   

Return to Index


Have a look at

by (Login PhyloGenesis)
R

RelLib, if you download it you should also get the ASM code that compiled into the functions (if not I'll give you them). RelLib contains MANY very similar functions for Screen 13, just adapt them for 12 and you should be ready to roll!

You might want to ask Rel but if for naught else, they could be very good examples of what you need to write, no?

PhyloGenesis

Posted on Dec 25, 2006, 2:10 AM

Respond to this message   

Return to Index


Doesn't quite work that way...

by (Login Mikrondel)
R

SCREEN 12 doesn't hold all of its data in the video memory at once. (You need to use OUTs to select which portion of the video mem is available there.)

So you can't just copy the memory to/from a buffer.

(In fact, you're not going to find a single buffer large enough for all of SCREEN 12's data - Remember that SCREEN 12 needs 150 KB of data... but an entire memory segment only holds 64KB of data)

Methinks extended memory would almost be a must for this.

For all the evil details on SCREEN 12 (and more)...
http://www.cs.ucla.edu/~kohler/class/04f-aos/ref/hardware/ibm-vga.txt

Sorry, but SCREEN 12 just has waaay too many pixels. With about 3 times as much data as SCREEN 13 (plus all the extended memory flipping and OUTing and other crap) I think the page flips would take too long.

Back to the (SCREEN 9) drawing board.

Posted on Dec 25, 2006, 9:26 PM

Respond to this message   

Return to Index


VB6

by Colonel O'Neill (no login)

Hey all,

I ported my encryption program to VB6. It works but I find that it hits a slight snag as it progresses. When the progress bar hits a certain point, the bar and the label containing the percent whites out (the same way it looks right before Task Manager pops up for a crashed program). I find that if i Ctrl+Break it, it suddenly reappears as if nothing happened.

Whats weird is it recurs after I continue from the breakpoint.

Could anyone tell me why it is happening so i can fix it?

Thanks.

Posted on Dec 21, 2006, 7:03 PM

Respond to this message   

Return to Index


Re: VB6

by 'lipse (no login)

Try putting "DoEvents" somewhere in your loop... where it will be processed at least twice a second. DoEvents tells VB to take a break from processing your code and repaint anything that needs to be repainted and process anything else that's been put on hold.

Posted on Dec 21, 2006, 8:42 PM

Respond to this message   

Return to Index


Does what I'm looking for exist?

by (Login Chandlerklebs)

I always kinda wanted a cool internet scripting language.
I learned some PHP,but it's so sad that I have to run it off my server.

You know how Javascript is just interpretted by the browser(in most cases).
Therefore it runs on any server.

The probalem is that Javascript is really slow.
What internet scripting languages do you guys use?

Maybe you can help me find something that works petty good.

assembly is cool,but isn't portable,whereas an internet scripting language does something reguardless of OS.

Posted on Dec 19, 2006, 12:26 AM

Respond to this message   

Return to Index


PHP all the WAY!!!!

by (no login)

I LIKE PHP, you should use it, it works good, you can do cool stuff with it, and if you buy the delux version it comes with a cup holder *cough* Whoops, thinking of a car there, anyways, PHP is really cool, If you need help I could help you so as I've writing my own working code at:

clikpik.100webspace.net/order/index.php

(For a day or two there may be no link to the actual workings so here is what it is)

clikpik.100webspace.net/order/order.php

and if you want to check what you ordered visit:

clikpik.100webspace.net/order/checknew.php

Ok, I got carried away with it, anyway, GET PHP OR ELSE....
Oh and thank you for saying "Yes" to PHP rules for visiting this $_POST (PHP coding), JKs. Thanks

Posted on Dec 19, 2006, 1:24 AM

Respond to this message   

Return to Index


I once wrote a binary counting program in PHP.

by (Login Chandlerklebs)

However,PHP requires configuration to work with a server.
Very few free hosts have PHP support.

and lets face it,Javascript is more portable and popular.
Isn't the chat written in Javascript?

PHP requires you to install it on your own server to really test it out,but
Javascript is interpretted by firefox.

Suppose you were running from the Damn Small Linux livecd and had no hard drive.

You can't just install PHP. You could however write your Javascript and upload it to a free server or
email it to yourself so you don't lose it.

I am interested in the idea of getting an assembly program to help me run a server,but I don't
think DOS programs will work very well.

I decided at some point I will have to learn more Javascript.
It's a bit limited,but it's really my only option for the simple stuff I want.

Sure,not all browsers do Javascript the same way,but for every OS you can find a browser that does.
In most cases that will be firefox.

Posted on Dec 19, 2006, 4:22 PM

Respond to this message   

Return to Index


The chat is alright...

by rpgfan3233 (Login rpgfan3233)
R

The chat would be better if you could get it to show the private message combo box in browsers other than Windows IE without having to change your user agent string. In Firefox, this is possible via extensions or through about:config, but both render the chat useless, in my experience. In Opera, I think you can do it natively with few problems (I typed "C++" and it looked like I only typed "C"). I'm not sure about Mac browsers like Safari and Camino. All it would take is a bit of browser-sniffing to determine whether to use DOM code or older JavaScript for legacy browsers.

As for PHP, you don't need to configure it manually. There are packages like XAMPP (cross-platform) and WAMP. If you wanted to customize it to your liking, there are tutorials regarding Apache+PHP+MySQL for Windows all over the Web. For Linux (LAMP servers usually), I recently stumbled upon a howto that tells you how to do everything from scratch -- http://www.lamphowto.com/lamp.htm (the author notes that it is for PHP 4 only as PHP 5 hasn't been tested against the howto).

Posted on Dec 20, 2006, 7:34 AM

Respond to this message   

Return to Index


Well,I WANTED it with abyss web server.

by (Login Chandlerklebs)

I like abyss better than apache because it's much smaller!

I did get PHP working though.

Perhaps if I tried a server on ubuntu I would use apache as I think
I already have it. I don't use Linux much due to the videos I'm watching that
need codecs that I'd never find for Linux and I already have my stuff set up.

Posted on Dec 21, 2006, 12:00 AM

Respond to this message   

Return to Index


Since you like PHP so much,

by (Login Chandlerklebs)

<?php
for($eax=0;$eax<256;$eax++)
{
$ebx=$eax << 24;
for($ecx=0;$ecx<8;$ecx++)
{
$edx=$ebx >> 31 & 1;
echo $edx;
$ebx=$ebx << 1;
}
echo "<br>";
}
?>

Posted on Dec 20, 2006, 7:48 AM

Respond to this message   

Return to Index


*Thats really cool! Nice work!!! :)*

by (no login)

Posted on Dec 20, 2006, 4:25 PM

Respond to this message   

Return to Index


I figured you'd like that.

by (Login Chandlerklebs)

I have PHP installed and configured with my server.
I may try to write a program that gives the first 256 powers of 2 in decimal.

PHP is indeed better for things AFTER you go through the pain of installing it.

I configured it with abyss web server and it wasn't easy.

Posted on Dec 20, 2006, 9:54 PM

Respond to this message   

Return to Index


I made another awesome PHP thing!

by (Login Chandlerklebs)

<?php

$edx=78; # controls how many digits

for($ebx=0;$ebx<$edx;$ebx++){$a[$ebx]=0;}
$a[$edx-1]=1;

for($ecx=0;$ecx<256;$ecx++)
{

for($ebx=0;$ebx<$edx;$ebx++)
{
$a[$ebx]<<=1;
if($a[$ebx]>9){$a[$ebx]-=10;$a[$ebx-1]++;}
}

for($ebx=0;$ebx<$edx;$ebx++){echo $a[$ebx];}
echo "<br>";
}
?>


Posted on Dec 21, 2006, 12:02 AM

Respond to this message   

Return to Index


If it ever rains for over 10 days straight, I'm heading for Chandler's!

by Pete (no login)

I figure he's the one God will pick to select 'two' of everything and hopefully I'll be the first clown, there.

Pete

There are two kinds of people in the world, me's and you's.

Posted on Dec 21, 2006, 3:47 PM

Respond to this message   

Return to Index


I'm a number soldier of one and zero.

by (Login Chandlerklebs)

Sailor Two ! And in the name of the two,I will punish you!

In case you didn't get that,that's based off of Sailor Moon.

"I'm a sailor soldier of love and justice,Sailor Moon !
And in the name of the moon,I will punish you!

But anyway,Pete is very wise.

Posted on Dec 22, 2006, 10:01 AM

Respond to this message   

Return to Index


Server-side scripts such as PHP have uses Javascript can't fulfil, and vice versa.

by (no login)

For instance; if you have a database on your server, it's going to be very slow, difficult to configure, likely insecure, and a browser compatibility nightmare (particularly for browsers that don't run javascript) to retrieve information from the database using Javascript.

PHP on the other hand, runs on the server, processes the information, and then sends clean, simple HTML.

PHP is great for dynamically building pages, such as forums; it is pretty good for processing data; it's powerless to make info-bubbles appear (you need Javascript for that).

But you can run even an assembler program as a server-side script, as long as it reads stdin and writes stdout, or so I hear. It is possible to use QB programs as server-side processing.

If you write a forum in assembler... wow. That would be cool.

Posted on Dec 19, 2006, 7:18 AM

Respond to this message   

Return to Index