* Testing 1,2,3by (Premier Login iorr5t)Forum Owner |
it worked! mac you're a genius!by mennonite (no login)waston come here, i want you! |
'*i'm not here right now, please leave a message after the beep: PRINT CHR$(7)by waston (no login) |
|
|
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 |
Well it worked fine for me and it is quite useful, I'm gonna use it for my .html files. :) Nice work! |
* Thanks. What OP system were you using?by (Premier Login iorr5t)Forum Owner |
*XP home.by (no login) |
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! |
*I wish I had VB 6! I've only VB4 and VB1by Iain (no login)* |
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 |
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!
|
*in qb: CLS: SHELL "cmd /c start http://www.network54.com/Index/10167"by mennonite (no login) |
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! |
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! |
Yeah, I have DOSBoxby xXlennonboyXx (no login)...but not for older Macintoshes. Thanks anyway. "Micro$oft Sucks" No kidding. |
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. |
Run BASIC site, a free resourceby (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 |
|
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. |
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 |
Knock that 20 seconds of tweaking off w/o replacing my OS, and +20 points to ya. :-D |
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 |
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! |
Limitsby (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 |
Easy Access to Programmingby (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 |
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> |
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. |
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. |
*and by the way, how gay is that?by sulu (no login) |
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 |
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 |
LOLOLOLby (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 |
|
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. |
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. |
*not if you like crapby mennonite (no login) |
*Thanks for that info. I'm gonna need to add this.by (Login Chandlerklebs) |
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! |
I have started disliking the w3cby (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! |
*heh @ too much power. cg's client doesn't need a browser.by mennonite (no login) |
*I'm gonna have to learn how CG's client works.by (Login Chandlerklebs) |
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. |
http://masterplanthemovie.com/ |
*no kidding... big brother's older, bigger brother.by mennonite (no login) |
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! |
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. |
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! |
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 |
i've seen plenty of legs, chandler, piles of false legs, evenby 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. |
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. |
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. |
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 |
j/k |
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. |
|
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! |
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. |
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. |
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! |
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. |
"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.
|
an html-related story, for peteby 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 :) |
*I would code it in CSS just to avoid that! -LOL ;-)by Pete (no login) |
*html3: bgcolor="#dedede" css: style="background-color: dedede;"by mennonite (no login) |
|
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) |
Thinking more along the lines of: <body style="background-color: rgb(222, 222, 222);"&gby Pete (no login) |
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);"> |
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. |
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?
|
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! |
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. ;-) |
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. |
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! |
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);"> QBasic Rounding Table <font size="+2"> By Edward S. Moneo </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";> N INT(N) CINT(N) INT(N+.5) CINT(N+.5) PUSING(N) SAM(N)<br> ------ ------ ------- --------- ---------- --------- ------<br> -100.3 -101 -100 -100 -100 100- -100<br> -100.5 -101 -100 -100 -100 101- -101<br> -100.7 -101 -101 -101 -100 101- -101<br> -99.3 -100 -99 -99 -99 99- -99<br> -99.5 -100 -100 -99 -99 100- -100<br> -99.7 -100 -100 -100 -99 100- -100<br> -2.5 -3 -2 -2 -2 3- -3<br> -1.5 -2 -2 -1 -1 2- -2<br> -.5 -1 0 0 0 1- -1<br> 0 0 0 0 0 0 0<br> .5 0 0 1 1 1 1<br> 1.5 1 2 2 2 2 2<br> 2.5 2 2 3 3 3 3<br> 98.3 98 98 98 99 98 98<br> 98.5 98 98 99 99 99 99<br> 98.7 98 99 99 99 99 99<br> 99.3 99 99 99 100 99 99<br> 99.5 99 100 100 100 100 100<br> 99.7 99 100 100 100 100 100<br> 100.3 100 100 100 101 100 100<br> 100.5 100 100 101 101 101 101<br> 100.7 100 101 101 101 101 101</span> </td> </tr> </tbody> </table> </div> </body> </html> |
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") |
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. |
:Dee reprise of :Dee theme for :Dee peteby 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! |
*Surely you joust?by Sir Pete (no login) |
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 ;) |
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 |
*lol! at least this image is less (?!) than the jpegby mennonite (no login) |
French Quiz with a bugby (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 |
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 |
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 |
/***************** 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? |
|
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 |
http://isorecorder.alexfeinman.com/isorecorder.htm |
*Strange, my XP has that ability, already...to burn CD's without other software.by Pete (no login) |
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 |
Now if I could only get the wireless connection working..... PhyloGenesis |
PowerBasic data typesby (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} |
Those kinda lists are so cool.by (Login Chandlerklebs)I used to write down things like that. |
PowerBasic source to a disk free space wiperby (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 |
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 . |
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]++; } ?> |
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. |
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. |
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. |
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. |
This person is also trying to do permutations in VB 2005by Solitaire (no login)Check out this url: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1116835&SiteID=1 |
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! |
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. |
#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(); } |
#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 ); } |
#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; } |
#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; } |
#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; } } } |
#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(); } } } |
#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(); } |
#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 |
#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 |
#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 |
#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 |
#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 |
#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 |
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
|
VB5 and listboxesby (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. |
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 |
Strange applicationby (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.
|
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 |
* Hey, Tim, You able to respond to this thread?by (Premier Login |