From: sparky4 Date: Thu, 22 Jun 2017 23:51:07 +0000 (-0500) Subject: openwatcom farcoreleft is back to static value.... X-Git-Url: http://4ch.mooo.com/gitweb/?p=16.git;a=commitdiff_plain;h=64c9061cc919841ebc88c52646641c9c62c44180 openwatcom farcoreleft is back to static value.... --- diff --git a/16/SP2.COM b/16/SP2.COM new file mode 100755 index 00000000..02340543 Binary files /dev/null and b/16/SP2.COM differ diff --git a/16/fcsp2src/FCINFO12.TXT b/16/fcsp2src/FCINFO12.TXT new file mode 100755 index 00000000..7530450d --- /dev/null +++ b/16/fcsp2src/FCINFO12.TXT @@ -0,0 +1,1244 @@ +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³ ³ +³ <<< THE FUTURE CREW INFORMATION PACKAGE >>> ³ +³ ³ +³ Version 1.2 ³ +³ ³ +³ 02-DEC-1993 ³ +³ ³ +³ ³ +³ This file contains general information about the Future ³ +³ Crew and our demos. It also includes frequently asked ³ +³ questions we often receive by mail and instructions on ³ +³ how to contact us best. ³ +³ ³ +³ We will update this file as things change, and if the ³ +³ above date is rather old, you can get the most recent ³ +³ version of this file either by E-Mail from Internet or ³ +³ from our distribution sites. ³ +³ ³ +³ ³ +³ ³ +³ ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³ CONTENTS ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + 1: Opening words + 2: Demos for Commercial Purposes + 3: The Distribution and Use of Our Demos + 4: The Current Memberstatus + 5: International Demo Competitions + 6: Official Assembly'93 Competition Results + 7: Quick Information on The Party 3 + 8: How to Contact Future Crew + 9: Frequently Asked Questions + 10: Creativity Demo Net Information + 11: Official Distribution Site BBS List + 12: How to Become a Distribution Site + 13: The Brief History of The Future Crew + 14: Answers to rumors + 15: Sonic Dreams is NOT a Future Crew demo + 16: Final Words + + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³1: OPENING WORDS ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + Welcome to the FCINFO.TXT file version 1.2 ! + + This textfile is a update to FCINFO10.TXT (version 1.0). The updated + parts are section 13 and the release list. In addition, voting form + has been removed. + + This textfile was written to tell you about Future Crew, to + give you answers to most of the things you would probably like + to ask us, and to tell you how to get more demos. + + If you are interested in us making a demo for you, please, + start reading from the next paragraph in this file. + + The things discussed in this textfile are mainly aimed to + those people who have not seen much demos before, but are very + interested in learning more about them and about the whole + demo scene (=demo world) in general. In the future versions + there will be changes and additions taking into account what + has happened since the last information package. + + Signed, GORE + + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³2: DEMOS FOR COMMERCIAL PURPOSES ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + If you find our demos interesting and would like us to make + you one for commercial purposes, do not hesitate to contact us. + + When contacting us, please, include a short explanation of + what kind of a demo you are interested in. That would greatly + help us in evaluating the size of the project. + Kindly include, for example, these kinds of information: + + - What kinds of demo effects would you be interested in + - Should there be any colorful still-pictures (logos, etc.) + - If the demo should have sound, which sound cards would you like + to be supported, what type of music should be played, etc. + - How big the demo could be in kilobytes and for how long + should the demo run in minutes approximately. + - Where would the demo be used and how soon would you like the + demo to be finished. + + We would like you to understand that our demos are not animations. + This means that nearly everything you see on the screen is being + real-time calculated. The speed of the movement is usually + dependant to the speed of the VGA card and the speed of the + processor. + + When contacting us, you should realise that we are all rather + young and thus still studying in various schools. This is why + our time is usually quite limited. And it is very likely that + we might already be involved in another project. + + You should also know that we do not make demos for Microsoft + Windows due to its limitations from an assembly language + programming point of view. + + Since normal mail is quite a slow way to communicate, we would + prefer the communication be made through e-mail or fax. + + You can find our contact information from this file. + + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³3: THE DISTRIBUTION AND USE OF OUR DEMOS ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + All our demos, except the ones which we have created for different + companies, are freeware. + + This means that you can copy and distribute them freely as long + as you make no modifications to them. Also, no money can be + charged for copying them. + + If you are a PD distributor, please contact us before including + our products in your collection. + + In general, all commercial utilization of our demos without our + permission is forbidden. This includes selling disks containing + our demos. + + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³4: THE CURRENT MEMBERSTATUS ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + Alias: Real name: Age: Main responsibility: + -------------------------------------------------------------- + GORE Samuli Syvahuoko 20 Organizer + Psi Sami Tammilehto 20 Coder + Trug Mika Tuomi 21 Coder + Wildfire Arto Vuori 18 Coder + Purple Motion Jonne Valtonen 17 Musician + Skaven Peter Hajba 18 Musician + Marvel Aki Maatta 18 Graphics Artist + Pixel Mikko Iho 18 Graphics Artist + Abyss Jussi Laakkonen 18 BBS Coordinator + + FC Internet Division: + Henchman Markus Maki - Thanks for helping with the e-mail + Jake Jarkko Heinonen - Thanks for providing the e-mail + address + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³5: INTERNATIONAL DEMO COMPETITIONS ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + For those who have no idea what the above are, I will explain. + Demo competitions (= parties) are international events where + the demo scene people go to meet each other and to compete in + the many competitions that are being held. These competitions + (= compos) are the demo, intro (= a demo sized under 100kb), + music and graphics. There are often different compos for different + machines (PC, Amiga, Atari ST and C-64). There are also prizes in + each compo (cash or computer hardware & software). The cash prizes + are usually the money people pay as the entrance fee (usually + about $20 US) and the possible computer hardware & software has + usually been sponsored by various computer companies. All + contributions are being experienced on a big screen (many meters + wide) and with the aid of a powerful audio system. After this all + the people or a selected jury vote and decide which contributions + are the best. After this the prizes are being given out and the + party is over. In the process people of course get to know each + other better and exchange a lot of new ideas. + + All contributions are usually being released at the party itself, + but sometimes the PC demos are not. This is very unfortunate, + and will probably change in the future. The reason why this is + allowed to happen is becouse most demos haven't been beta-tested + well enough before the party and might not work on most machines. + So, the groups are being allowed to finish their demos after the + party and then release them when they so see fit. + + Parties usually last for three days (a weekend) and are usually + organized by bigger demo groups. + + There are a few big demo parties being held annually. + These include the following: The Party in Denmark at Christmas- + time, The Gathering in Norway around Easter, The Computer + Crossroad in Sweden before the summer and Assembly in Finland + in the end of Summer. The biggest of these is The Party, which + is being held for the third time this Christmas. And the most + recent party was Assembly'93, which was held for the second time. + + A few months before the party, the organizing demo groups usually + release special invitation demos to advertise their parties. + + At Assembly'93 there were a total of 1500 attenders from which + 550 were PC people. About half of them had come from outside + Finland (Germany, Belgium, Holland, Sweden, Norway, USA, Israel, + Canada, Denmark, Switzerland, Spain, etc...). Only PC people were + allowed to vote on PC compos. + + The overall quality of the contributions exceeded all expectations. + It was very cool to see how much the PC scene had developed since + last year. The party itself went quite smoothly, except for a + few bumps, but what would a demo party be without them... :-) + Also the prizes were very good in all PC compos. The total value + of all the prizes on the PC was about $7800 US. + + Next we would like to thank all the companies which sponsored + most of the PC side prizes at Assembly'93: + + Advanced Gravis, Canada + + Epic MegaGames, USA + + The Waite Group Press, USA + + Terton, Finland + + HiCompu, Finland + + Toptronics, Finland + + Pro Component, Finland + + Lan Vision, Finland + + Data Fellows, Finland + + + The thanks to all the sponsoring companies are also in the end + scroller of the demo. We hope to see you also next year! + + And to all you people out there: + + Don't forget to attend Assembly'94 next summer ! + + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³6: OFFICIAL ASSEMBLY'93 COMPETITION RESULTS ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + Here we have the final and true results of the PC compos at + Assembly'93. Ignore all the anonymous 'result' files circulating + lately around BBS'es. + + Assembly'93 party results for PC. Votes were calculated by giving five + points for the first place, four for the second place and so on. Up to + five contributions could be voted for. A total of 130 votes were cast. + + PC Demos Top Ten + ----------------------------------------------------------------- + Place: Votes: #: Group: Demo: + 1. 472 10. Future Crew Second Reality + 2. 403 9. Silents Optic Nerve + 3. 242 3. Xography Elements + 4. 126 2. Dust Saga + 5. 78 6. Extreme Extermination + 6. 51 5. Virtual Visions Fruits of Indolence + 7. 31 7. Paranoids Wasted Time + 8. 26 4. Alphaforce Phenomenon + 9. 17 8. Black Rain Obsession + + PC Intros Top Ten + ----------------------------------------------------------------- + Place: Votes: #: Group: Intro: + 1. 378 8. EMF Eclipse + 2. 196 5. Epical Tangle + 3. 165 9. Darkzone Debut + 4. 163 7. Onyx Locomotion + 5. 125 10. Avalanche Motion + 6. 115 15. Sonic-PC Plan-B + 7. 106 6. Doomsday prod. Vanity & Apathy + 8. 48 4. Jeskola prod. Dieetti-Intro + 9. 43 3. Surprise! prod. Stardream + 10. 12 1. RatCompany Fraust + + PC Multichannel Music Top Ten + ----------------------------------------------------------------- + Place: Votes: #: Composer: Tune: + 1. 219 7. Skaven / Future Crew Ice Frontier + 2. 178 4. Marvel / Future Crew Can't remember you + 3. 164 1. Purple Motion / Future Crew Starshine + 4. 153 5. Leinad / Avalanche Atomic II + 5. 147 6. Silent Mode / Pentagon Inferno + 6. 86 2. Tonedeaf / Extreme Heartbeat + 7. 69 10. Prism / Wish Time running out + 8. 59 3. Mikki / Epical Opossumi + 9. 56 9. Funk't'ion / Paranoids Deepness + 10. 29 8. Bloodsoaker / Wapy Shout + + PC 4-channel Music Top Ten + ----------------------------------------------------------------- + Place: Votes: #: Composer: Tune: + 1. 133 19. Purple Motion / Future Crew Sundance + 2. 98 13. Leinad / Avalanche Teaspoon + 3. 90 6. Cybelius / Sonic-PC Schwinging the Swing + 4. 60 9. Tonedeaf / Extreme Sounds of War + 5. 59 8. Executioner Pork Chop + 6. 53 17. Blizzard / Epical Hidden Shadows + 7. 51 21. JayJay / Progress Phantoms + 8. 47 5. Mellow-D / Sonic-PC Fast Changer II + 9. 45 10. Gibson / Extreme Blackbird + 10. 43 16. Mistake / Darkzone Michael Jackson sez hi! + + PC Graphics Top Ten + ----------------------------------------------------------------- + Place: Votes: #: Artist: Picture: + 1. 176 8. Marvel / Future Crew Ice Kingdom + 2. 144 2. Delsion / Cascada Eevi + 3. 106 9. Zenjuga / Black Mind A3 + 4. 88 10. Pixel / Future Crew Troll + 5. 44 11. Giems / Dark Zone Escaping from the Raytracer + 6. 42 14. Ranx / Sonic-PC Invintro + 7. 29 13. PCA / Painkiller W2 + 8. 22 7. Kapsu / Epical Assyroad + 22 15. Mahlzahn / Pentagon Dungeon + 10. 19 12. Leinad / Avalanche Korvmack + + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³7: QUICK INFORMATION ON THE PARTY 3 ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + As said before, The Party 3 will be the next big party. + And as usual, it will be held in Denmark. But this time it + will be held in Herning, the biggest exhibition centre in + scandinavia. There will of course be competitions for Amiga, + PC and C-64. The PC side is organized by ACCESS DENIED. + For more information, get your hands on the official PC scene + invitation intro (by Access Denied). The filename is ADPARTY.ZIP. + + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³8: HOW TO CONTACT THE FUTURE CREW ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + Note that our mailing address has changed! + + The new one is: Our home BBS is: + + Abyss / Future Crew StarPort - FC WHQ BBS + (c/o Jussi Laakkonen) +358-0-804 4626, 14.4k + Sepetlahdentie 2 E 36 +358-0-804 1133, 14.4k + 02230 Espoo SysOp: Abyss + FINLAND + + PLEASE NOTE THAT THE STARPORT'S #2 NODE NUMBER WAS _INCORRECT_ + IN FCINFO10.TXT !! DO NOT CALL THAT NUMBER ANYMORE !! + + You can also e-mail us or send a fax: + + Internet: jtheinon@kruuna.helsinki.fi (GORE & Jake) + + Fax: +358-0-420 8620 (at GORE's place) + + We receive a lot of mail and simply can't answer all of it. + Comments and opinions are always appreciated, but if you + also have questions, consider first if you might find the + answers elsewhere, for example from the Frequently Asked + Questions section inside this file. However, if you include + questions in your mail, please enclose a return envelope ready + with your address and an international mail coupon. + This would help us a lot. + + The best and the fastest way to contact us is through e-mail. + So, if you really want to chat with us alot, you should find + a way to use e-mail. From internet you can also find lots of + demos and be able to e-mail other demo groups as well. + We get a LOT of e-mail so you may have to wait for our reply + for a while. We TRY to answer every e-mail we get but please, + write your e-mail address into your message. + + A very good anonymous ftp site where you can find lots of + demos is ftp.uwp.edu. Our demos can be found in the directory: + pub/msdos/demos/groups/future.crew. + + You can also call our many BBSes around the world. You can + find the list of these BBSes in this textfile. + + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³9: FREQUENTLY ASKED QUESTIONS ABOUT THE FUTURE CREW ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + Here we have compiled a list of questions along with the + answers (in random order) which are being asked in about + 95% of all the letters we receive. Hopefully you will find + the answers to your questions from here and save us and + yourself from some unneeded paperwork. + +Q: Where can I get your and other groups' demos? +A: There are several ways to get demos. + The best way (if you have a modem) is to call an FC distribution site + near you. They have all of our productions online and you can download + them freely. Also many normal BBSes carry our productions and other + groups' demos. If you don't have a modem, then getting our demos is a + lot harder. We don't have a mailswapping system. So, if you have a friend + who has a modem, why not try to get him to call one of our distribution + sites. Another VERY good way to get demos is from the INTERNET. A very + good demo site is ftp.uwp.edu which carries probably the best demo + collection on internet. + +Q: When is the musicdisk coming out ? +A: We will probably release a sort of musicdisk at TheParty '93. It will + feature a long-awaited MOD/S3M-player for GUS/SB/SBPro and a nice pile of + Skaven's and Purple Motion's best S3M songs. + +Q: When is Scream Tracker 3.0 going to be out? +A: Scream Tracker 3.0 is a product which might or might not ever be out. + This is very ambiguous, but the problem is that ST3 is not a high + priority project. The coder, Psi, is studying at a university, coding + demos, doing commercial software and trying to spend some freetime. + So at the moment there is no time to finish ST3 and no set release date. + +Q: When is Worldcharts issue #2 coming out? +A: Since there are a lot of other groups publishing all kinds of magazines + today and our main directive is to make demos, and that Worldcharts #1 + wasn't as good a success as we wanted it to be, we see no real sense in + in continuing to publish it anymore. Also as you might have guessed our + time has become too limited for these kinds of projects. In a nutshell, + at this time there is no real reason for you to send in your votes or + articles. If we change our minds about this, you can be sure that we'll + let you know. Thanks to everyone who supported us by sending us votes + and articles. + +Q: What programming books would you recommend to learn assembler and VGA? +A: This is a hard question, and a general answer is, that any book will do. + You can get the basics from a book and books are a great reference, + but when it comes to creating something new, you can't just read it + from a book. We have all learned to code the hard way (a lot of + miscellaneous books and a lot of experimenting). Anyway, here are + some of the books we often find handy (there are undoutedly newer + prints, so check them out): + + Mastering Turbo Assembler, Tom Swan + Hayden Books 1989, ISBN 0-672-48435-8 + PC System Programming, Michael Tischer + Abacus 1990, ISBN 1-55755-036-0 + The Programmers PC Sourcebook, Thom Hogan + Microsoft Press 1988, ISBN 1-55615-118-7 + Programming the 80386, John H. Crawford and Patrick P. Gelsinger + Sybex 1987, ISBN 0-89588-381-3 + Programmers guide to EGA and VGA cards, Richard F. Ferraro + Addison Wesley 1989, ISBN 0-201-12692-3 + + Also, most up to date are many software 'books', such as interrupt + lists from bbs'es and such. We have also found a lot of valuable + information in articles and such. In short, there is no magic + way of learning to code, it really does take hard work. + +Q: Are you going to make games in the future ? +A: Why not. It all depends if we have the time. We have a few game + ideas cooking, but they are far from being completed. But we will + let you all know when we have a game coming, don't you worry! + +Q: What do the members of Future Crew do besides computers ? +A: Most of us study in various schools; universities, high schools and + colleges. In real life most of us are quite normal(?) human beings. + Our hobbies are for example, sci-fi, movies, weight-lifting, techno, + hi-fi, etc, etc. And most of us have or has had a girlfriend. + +Q: What sound cards will you support? +A: At the moment our productions support the following sound cards: + + Gravis UltraSound - for it's programming advantages + Sound Blaster Pro - for being a standard + Sound Blaster - same here + + Support to other sound cards is always possible, but right now we + don't see enough demand to support any other cards. + +Q: Why do your demos require a 386 or higher to run? +A: There are several reasons for the requirement; For example, 386 has many + new assembler commands, 32bit registers, and of course more processing + power. There isn't simply enough processing power in 286 to run a full + ledged demo. And besides, 286-based machines are a dying breed. + +Q: How did you learn to code as you do now? +A: Learning to code demos is a long and very very difficult process. It takes + years to learn to code demos very well. A good way to start is some high + level language like Pascal or C and then started to experiment with + assembler. It takes a lot of time and experimenting to get better, and + there are no shortcuts (for book recommendations, see a question before + this). The main thing is trying to understand what you do, then trying + to change the program to see what you get, and gain wisdom in what's + the best way of doing things. Learning to code well requires a lot of + patience, a lot of enthusiasm and a lot of time. It is not easy. + +Q: What programs do you use to do your demos? +A: We use the following programs to do our demos; For code we use + Borland C++, Microsoft C, Borland Pascal and of course TASM (Turbo + Assembler). For graphics we use Deluxe Paint 2 Enchanded (and 3D Studio + 2.0). For making the music we use Scream Tracker 3.0 beta, and for + digitizing the samples for our songs we use Advanced DigiPlayer 2.5 + beta. Scream Tracker 3.0 and Advanced DigiPlayer are our own programs + made by Psi, and they are not available to the public at this time. + In addition to all these, we of course have a big collection of + utilities we have crafted to our need during the years. + +Q: I'm a beginner programmer. I wonder if you could help me learn demo coding? +A: To help beginners learn the secrets of democoding we have released the + full source of our Mental Surgery demo. This source code is spread along + with our STMIK (Scream Tracker Music Interface Kit), which is a 4 channel + music player, which you can link into your own programs. You can find these + from our distribution sites, under the name STMIK020.ZIP (be sure to grab + STMIKFIX.ZIP too, which fixes one nasty bug). Do not try to ask us send + you some of our unreleased source code. + If you are reading this file, you probably know already that we have + released a new source code pack which includes the full, documented + ASM source code of our new StarPort intro II. + There's always the possibility that we will release some other source code + in the future as well, but at this time there are no immediate plans for + such an event. + +Q: What is the complete list of your released productions with release dates? +A: To date, we have released the following productions: + + Filename Size Released A Short Description + -------- ---- -------- ------------------- + YO!.ZIP 32 kb 2-24-89 YO! intro, VGA textmode/PC-speaker + GR8.ZIP 31 kb 7-12-89 GR8 intro, EGA/No sound + FC-SLIDE.ZIP 350 kb 7-23-90 Slideshow I, a graphics collection, SB + ST224.ZIP 130 kb 2-22-91 Scream Tracker 2.24 shareware version, SB + MENTAL.ZIP 90 kb 7-02-91 Mental Surgery demo, SB/Covox/PC-speaker + STMIK020.ZIP 170 kb 8-10-91 Scream Tracker Music Interface Kit 0.20 + FISHTRO.ZIP 230 kb 4-08-92 Assembly'92 invitation intro, SB + STMIKFIX.ZIP 10 kb 7-14-92 A Bugfix to STMIK + UNREAL.ZIP 1350 kb 8-06-92 Unreal megademo, SB/SBp + STARPRT2.EXE 6 kb 9-13-92 StarPort BBS intro, VGA/AdLib + THEPARTY.ZIP 165 kb 10-02-92 The Party II invitation intro, SB/SBp + PANIC.ZIP 950 kb 2-04-93 Panic trackdemo, SB/SBp + ASM-93.ZIP 400 kb 6-15-93 Assembly'93 invitation intro, SB/SBp/GUS + WCHARTS.ZIP 680 kb 6-26-93 Worldcharts magazine issue #1, SB/SBp/GUS + SOULOMAT.ZIP 100 kb 7-10-93 A song by Purple Motion + ICEKNGDM.LBM 65 kb 8-01-93 Winner of PC graphics compo at Asm'93 + ICEFRONT.ZIP 180 kb 8-01-93 The winner of PC multichnl compo at Asm'93 + CAN'T.ZIP 125 kb 8-01-93 The second in PC multichnl compo at Asm'93 + STRSHINE.ZIP 225 kb 8-01-93 The third in PC multichnl compo at Asm'93 + TROLL.LBM 85 kb 8-01-93 The fourth in PC graphics compo at Asm'93 + SUNDANCE.ZIP 235 kb 8-10-93 The winner of PC 4chnl compo at Asm'93 + 2NDREAL1.ZIP 1250 kb 10-07-93 Second Reality, Asm'93 winner, SB/SBp/GUS + 2NDREAL2.ZIP 790 kb 10-07-93 Second part of the Second Reality demo + 2NDR_MS.ZIP 280 kb 11-01-93 Skaven's songs from Second Reality + SYMPHONY.ZIP 260 kb 11-01-93 Symphony by Skaven + PMFRACT.ZIP 210 kb 11-05-93 The winner of Megaleif ST/PC music compo + BUSMATKA.ZIP 75 kb 11-09-93 Finnish invitation to Party3 bussymatka + STARPORT.ZIP 4522 byt 11-21-93 StarPort BBS intro II, VGA/Adlib + SP2SRC.ZIP 30 kb 12-02-93 StarPort BBS intro II sources + + You SHOULD be able to find all of the above from our Distribution Sites. + +Q: Exactly where do FC members study and what? +A: Many of us study in high school or in university. Here is the complete list: + + Psi - Turku university, major informatics + Trug - finished his studies + WildFire - last year in high school + Purple Motion - second year in high school + Skaven - not studying at the moment + Pixel - last year in high school + Marvel - last year in high school + Abyss - last year in high school + GORE - studying in business school + +Q: How long does it take to make a demo like Second Reality? +A: The complete time that it takes to make such demo can't really be counted. + Most of our knowledge is based on years of hard work and on our previous + works. All of us do little experiments on their freetime and when a + "critical mass" is achieved the making of a demo begins more seriously. + From this point to a final demo (in the case of a major production like + Second Reality) it takes around three to six months. + + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³10: CREATIVITY DEMO NET (CDN) INFORMATION ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + Creativity Demo Net or shortly CDN is nowadays quite a common sight +among BBS'es that are oriented towards demos. But what exactly is CDN? + + The idea behind The Creativity Demo Net(work) is now about 2 years +old. I had been dreaming about having a way to communicate electronically +between different demogroups. When we (Future Crew) attended Megaleif +Easter Party'92 last year in Uppsala, Sweden, I was positively surprised +when I found out that Mirage / Cascada had also been thinking about the +same thing. We both thought that it was a good idea and began developing it. + + But it didn't work out as we intended. There were a lot of difficulties, +in Sweden and here in Finland. At first we tried to spread the net via FidoNet, +but soon it came clear to us that demogroups needed their own net. The +same time I had been also talking with Trojaner (SysOp of Skull's Southern +Germany HQ) and he was also inspired by this idea. We decided that Skull +and Future Crew wouldn't be enough to start a new net with, so I contacted +Arjan Pool (who had relations with DCE) and he also thought that the idea +was just great. And we got underway. + + At first the net was called just plainly DemoNet, but it was almost +immediately changed to Creativity Demo Net. Anyway, at first it was planned +that StarPort would become the World HQ, but as Arjan wanted to take the job +and all the big responsibilities, Arco BBS became the WHQ (and still is). Much +of the coming success of CDN was based on Arjan's continuing hard work for CDN. + + The net started working in August 1992, four months after the first idea +about a demonet had come to me. And after that the net has spread like a +wildfire! At first CDN spanned only 3 countries (Finland, Holland and Germany) +but soon Sweden joined in, and then country after country and bbs after bbs +joined in. To this date CDN spans the following countries: Finland, Holland, +Germany, Switzerland, Spain, Denmark, Sweden, England, Italy, Turkey, Belgium, +Canada, USA, France, Hungary, Brazil, Austria and Australia. THAT'S 18 +COUNTRIES! And there are about 140 nodes in CDN, all BBS's that are demogroup's +BBS'es. Considering the small amount of demogroup BBS'es, I would estimate +that about 75% of all demogroup BBSes are connected to CDN and all of the +biggest groups like FC, Triton, Renaissance, Cascada, etc... are connected +to the net. + + So what kind of echoes does CDN carry? Well here is the complete list of +echomail areas: + +* 1. CDN.4ALL + The area for everyone in CDN +* 2. CDN.ANNOUNCE + Made a new demo ? announce it overhere. +* 3. CDN.DISKMAG + All information about diskmagazines +% 4. CDN.CHAT + All chatting with other members +% 5. CDN.PROGRAMMING + For help with programming problems +% 6. CDN.GFX + For all graphics makers +% 7. CDN.MUSIC + MIDI/MOD/MUSIC help and questions +S 8. CDN.TEST + Test area +! 9. CDN.INTERGROUP + For selected groups within CDN +S 10. CDN.SYSOP + Sysops CDN only +H 11. CDN.HQ_HOST + For mail between HOSTS versus HQ + +* - for everyone who gets + connected to a BBS +% - for registered persons + (demogroup members) +S - only for CDN sysops +H - only hosts and HQ +! - for special selected groups + + CDN has areas for relaxed talk between people (and it gets QUITE +relaxed sometimes, and QUITE weird =), but it's just fun!), and for +serious purposes such as programming. + + And what does CDN require from a BBS? Well, the first and MOST +important requirement is that the BBS is some demogroups (preferably an +active one) BBS. That is rule that there are only few exceptions from. +But otherwise, you just have to: + + - place the completed files of the CDN on his/her BBS that everyone + can download them + - use the CDN nodelist and it's updates + - connect to every area available to them + + Not too many rules... And that is because we want CDN to be fun, +not some playground for idiots with a lawbook for brains. +Also, there are ABSOLUTELY no charges in CDN, so the only costs you have to +pay are your own phonebills. + + You can FREQ more info about from for example the WHQ under the magic name +CDNINFO. So, get more info now if you are interested in joining in! + + =ABYSS- / Future Crew + + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³11: OFFICIAL FUTURE CREW DISTRIBUTION SITES ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + +ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³Country ³BBS name ³BBS number(s) ³SysOp / Other info³ +ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ +³Finland ³StarPort - FC WHQ ³+358-0-804-4626 HST/V32b³=ABYSS- / FC ³ +³ ³ ³+358-0-804-1133 V32bis ³ ³ +³ ³ ³ ³ ³ +³Australia ³Tequila Sunrise ³+61-7-801-4446 V32bis ³Bartender ³ +³ ³ ³ ³ ³ +³Austria ³Polymorph LIGHTS ³+43-1-596-9026 V32b&HST³Gery ³ +³ ³ ³ ³ ³ +³Belgium ³Genesis ³+32-2-2453498 16.8k ³McGarret&MadFlight³ +³ ³ ³ ³ ³ +³Belgium ³Point Break ³+32-11436925 16.8k ³Lord Cyrix & ³ +³ ³Access Denied WHQ ³ ³Jumping Jack Flash³ +³ ³ ³ ³ ³ +³Brazil ³Warmboot BBS ³+55-19426-5112 V32b ³Carlos Cantu ³ +³ ³ ³ ³ ³ +³Canada ³Spasm-o-Tron ³+1-514-744-5718 V32bis ³Snibble / HiTS ³ +³ ³ ³ ³ ³ +³Canada ³The Basement Breweries³+1-905-527-3469 V32bis ³Wizard ³ +³ ³ ³ ³ ³ +³Denmark ³Crack Central BBS ³+45-981.10096 19.2k ³Executioner ³ +³ ³ ³ ³ ³ +³England ³Sound & Vision BBS ³+44-932-252323 V32bis ³Rob Barth ³ +³ ³ ³ ³ ³ +³Germany ³The BitBlasters BBS ³+49-851-83994 16.8k ³BitBlaster ³ +³ ³ ³ ³ ³ +³Germany ³The Continental BBS ³+49-711-548501 16.8k ³Trojaner ³ +³ ³ ³ ³ ³ +³Holland ³The Consultation BBS ³+31-1170-54987 V32bis ³Preceptor ³ +³ ³ ³ ³ ³ +³Hungary ³Dune II ³+36-62-342-793 V32bis ³TSC / Phantom ³ +³ ³ ³open: workdays 14-07 CET³weekends: 24h ³ +³ ³ ³ ³ ³ +³Iceland ³Mori BBS ³+354-1-677020 V32bis ³Arni Eggertsson ³ +³ ³ ³ ³ ³ +³Israel ³The Bureaucratic BBS ³+972-9-984173 V32bis ³Shachar Cafri ³ +³ ³ ³+92-9-426657 V22bis ³ ³ +³ ³ ³ ³ ³ +³Norway ³Romeo November ³+47-4-536698 V32bis ³Stinger ³ +³ ³ ³+47-4-536797 19.2k ³ ³ +³ ³ ³ ³ ³ +³Singapore ³MultiMedia GS ³+65-252-1220 V32b ³WildCat ³ +³ ³ ³ ³ ³ +³Spain ³Dracker BBS ³+34-3-385-3393 16.8k ³Gvyt / ENiAC ³ +³ ³ ³ ³ ³ +³Sweden ³Illusion ³+46-18-260565 V32bis ³ZED / FAiC ³ +³ ³ ³ ³ ³ +³Switzerlan³Wonderland ³+41-64-47-3046 16.8k ³PfUsuUS ³ +³ ³ ³ ³ ³ +³USA, NY ³The Sound Barrier ³+1-718-979-6629 HST V32b³Daredevil / REN ³ +³ ³Renaissance WHQ ³+1-718-979-9406 V22bis ³Charles Scheffold ³ +³ ³ ³ ³ ³ +³USA, ND ³Quantum Accelerator ³+1-701-258-0319 V32bis ³Chris Zimman ³ +³ ³ ³ ³ ³ +³USA, TX ³Programmer's Oasis ³+1-214-328-6142 V32bis ³Daniel Potter / ³ +³ ³ ³ ³Digital Infinity ³ +³ ³ ³ ³ ³ +³USA, SC ³The End of Time ³+1-803-855-0783 V32bis ³Holy Water and ³ +³ ³ ³ ³The Hit Man ³ +³ ³ ³ ³ ³ +³USA, KY ³Eleutheria ³+1-606-223 1853 V32bis ³Soul Rebel / ³ +³ ³ ³ ³Avalanche ³ +³ ³ ³ ³ ³ +³USA, MO ³Red Sector ³+1-816-792 3821 16.8k ³Lion Heart ³ +³ ³ ³+1-816-792 2029 HST ³ ³ +³ ³ ³ ³ ³ +³USA, D.C. ³Data Connection BBS ³+1-703-506 8598 16.8kHST³Ryan / Renaissance³ +³ ³ ³ ³ ³ +³USA, FL ³The Power Grid ³+1-813-481-6539 16.8k ³Grid Runner & ³ +³ ³HQ for many groups ³ ³Syntax Error / iCE³ +ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + In addition, you can get our demos from internet where + a very good anonymous ftp demo site is ftp.uwp.edu. Our demos + can be found in the directory: /pub/msdos/demos/groups/future.crew. + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³12: HOW TO BECOME A FUTURE CREW DISTRIBUTION SITE ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + We are looking for distribution sites around the world. + We are looking for demo-oriented BBS'es that are interested + in becoming part of FC's growing number of BBS'es. + + So, what does it take to become an FC distsite? + In fact, it's not easy, we require a lot, but before + giving up, take a look at the following list: + + - Your BBS MUST have every single one production + FC or any member of FC has ever RELEASED + + - Your BBS has to call StarPort (FC WHQ) at least + twice a month, and keep in contact with the FC + + - Your BBS also has to be a voting place for our possibly + continuing Worldcharts diskmag (voting door) + + - Your BBS has to be absolutely DEMO-ORIENTED, NOT + some gigantic all-around BBS. YOU yourself have + to be very interested about demos and the PC demo + scene in general + + - Your BBS should join the Creativity Demo Net, if + by any means possible + + - Your BBS would also be a Future Crew information + forum. You would have to answer questions concerning + FC and our production, and help people who have + problems with our software + + - Your BBS should be operated on a PC compatible, + with at least a 14400 BPS modem and 300 megabytes + of diskspace for demos, and the BBS should be open + 24 hours a day, and 365 days / year + + So what do you get in exchange? Well, these things we can + guarantee: + + - Your BBS will be mentioned in every FC production + in the distsite BBS list + - You have a chance to get all FC's future productions + first hand + - You will get some FC inner circle information + + What we can't guarantee, but what is likely to happen, is that + your BBS will become more and more popular and it's quality + will improve dramatically. + + Remember that we already have BBSes in most of the european + countries (check out the BBS list), but there are still some + gaps left which we'd like to fill out. In the USA and Canada, + we are accepting one BBS per state. + + Please read the above rules carefully and think twice before + sending in the application below: + +-----8<------8<------8<------8<---cut-here------8<------8<------8<------8<----- + + + THE FUTURE CREW DISTRIBUTION SITE APPLICATION FORM + ================================================== + + Copy this application to it's own file, fill it out and give the + file the name of your BBS. Then send it to StarPort or e-mail it. + Do NOT fax it or send it by normal mail! + + BBS name :______________________________________ + + BBS phonumber(s) :______________________________________ + :______________________________________ + :______________________________________ + :______________________________________ + + BBS modem(s) :______________________________________ + :______________________________________ + + Modem speeds supported : [ ] 1200 [ ] 2400 [ ] 9600 (V32) + (place X on appropriate : [ ] 14.4k (V32bis) [ ] 16.8k + box) : [ ] MNP [ ] V42bis + + BBS net address(es) :______________________________________ + + List networks you are in :______________________________________ + :______________________________________ + + Would you be willing to join the Creativity Demo Net if you aren't + yet in? : (Yes / No) + + If necessary would you be willing to become a Host / Hub for The + Creativity Demo Net? : (Yes / No) + + BBS software :______________________________________ + + Mailer software :______________________________________ + + Is your board any other group's distsite or member board: (Yes/No) + If yes, please list them :______________________________________ + :______________________________________ + :______________________________________ + + How many lines/nodes does your system have :____________ + + How many users does your system have :__________________ + + How large (in MB's) is your system :__________________ + + Is your BBS very demo-oriented : (Yes / No) + + In what country do you live :___________________________________ + + SysOp alias / group :______________________________________ + + SysOp real name :______________________________________ + + SysOp voice phone number :______________________________________ + + SysOp e-mail address :______________________________________ + + SysOp age :___ + + SysOp full mail address :______________________________________ + :______________________________________ + :______________________________________ + :______________________________________ + + + Anything special we should be aware of?: + _________________________________________________________________ + _________________________________________________________________ + _________________________________________________________________ + _________________________________________________________________ + _________________________________________________________________ + + +-----8<------8<------8<------8<---cut-here------8<------8<------8<------8<----- + + P.S. Filling up this form doesn't mean that you will automatically + become an FC distribution site! We'll check the form and get back + to you! + + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³13: THE BRIEF HISTORY OF THE FUTURE CREW ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + by Abyss and Gore / Future Crew + + - 1986-1987 - + Future Crew (FC) was founded in the year 1986 on the C-64. And only one + member has been in the group for the whole time - Psi. FC did two + demos on the C-64 before changing into the PC scene in the year 1988. + + - 1988 - + FC's first PC demo was a CGA sinus -scroller called GR8. At that time + the members were HAL, JPM, SS (Psi) and SIDDER. And DARK POWER + was FC's BBS. + + - 1989 - + Then there came YO! which was quite popular for a while. It used one of + the VGA's textmodes and included 'nice' PC-speaker music. It had + many scrollers, a sinusing YO!-logo, a little bouncing ball and + a 2D-starfield. At this time ICE joined and so FC + had another BBS - SILICON DRAGON. + + - 1990 - + In the year 1990 there was only one demo release from us, the Slideshow I. + It was the first PC demo which included 4 voice SoundBlaster music. + It didn't include any other special code for it was a VGA picture + slideshow. And at this time there were a lot of members in FC: + Psi, ICE, HAL, JPM, SID, BIG, DAC, MAC and SEBU. + + - 1990 - + And only shortly after Slideshow I, Psi released his ScreamTracker 2.0 - + a 4 voice music editing program inspired by the Amiga SoundTracker. + ST 2.0 was a real success. But of course, it didn't take much time + when a pirated version was on the move. This was in the year 1990. + + - 1991 - + In summer 1991, FC released a demo called Mental Surgery. It had + a big scroller on the top of the screen, 3D-starfield, a nice writer, + music scopes and of course 4 voice SoundBlaster music. + This was the last FC demo that worked on a 286 machine. At this + time the members were: Psi, ICE, Dr.Venkman and Purple + Motion. And only a while after this I (GORE) joined FC and ICE lost + the interest to demos and left FC along with his BBS. And + Dr.Venkman went crazy by selling his computer and retired for a while. + + - 1992 - + So, FC lived quietly for about half a year. But when the year + 1992 came Trug, Pixel, Skaven and Abyss joined FC. And as Abyss + joined, FC had a BBS again, namely StarPort. So, in the + beginning of the year 1992 FC had the following members: + + 1. Psi --- Main coder + 2. Trug --- Asst. coder + 3. GORE --- Organizer/asst. GFX-man + 4. Pixel --- Main GFX-man + 5. Abyss --- BBS support/utilities + 6. Skaven --- Musician/asst. GFX-man + 7. Purple Motion --- Musician + + It was at this time that we had begun making UNREAL. Our first + plan was to release it at MEGA-Leif Convention - An Atari ST/PC party + held in Uppsala, Sweden. But about a month before MEGA-Leif, + MeeGosh/Rebels (Amiga) called me and told me about ASSEMBLY'92 + and that it would be cool to have also the PC scene there. So, he + asked us to do an invitation intro for the PC scene about this + mega-event. We agreed and so, UNREAL was put to rest as Psi got + the idea of making something different - namely the Fishtro. + It took us about two weeks to create Fishtro from nothing, but + when we went to MEGA-Leif Convention, we still had little bugs in it and + therefore we couldn't release it until a week after MEGA-Leif. + We also competed with Fishtro in the MEGA-Leif PC demo compo, but + we were never told who came second. As the people who were at MEGA-Leif + remember, the belgian Raiders Brothers won the demo compo, but + they have not released their winning demo to this date (13.7.92). + After we came back from MEGA-Leif, we started on making UNREAL again. + And Dr.Venkman came back from his retirement. + + - 1992 - + Then Unreal was released. Unreal was the first really big megademo for PC and + it hit the top of the charts immediately. + + - 1992 - + Then we were contacted by the organizers of a BIG Amiga/C64/PC party, called + The Party 1992. They asked us to organize the PC demo compo there and make + again an Invitation Intro for it's PC side. So The Party 1992 Invitation Intro + was made. At that time we had the following members: + + Psi - Code + Trug - Code + WildFire - Code + Pixel - GFX + Purple Motion - Music + Skaven - Music & GFX + GORE - Organizer + Abyss - BBS support + + The Party 1992 Inv. Intro was mostly coded by Psi and WildFire. WildFire was + our new coder who joined us in autumn 1992. He had before been active on the + Atari ST scene. + + - 1992 - + Then it was the time for another big demo. The making of Panic! began. + It was the normal process of making demos with blood and sweat and annoying + deadlines. WildFire was the one to assemble the demo together, but lots of + code was also done by Psi and Trug. + + Then it was the time for The Party 1992. As we thought that it would really + nice to get as many people as possible to The Party as cheaply as possible, + we decided to organize a bus trip there with the amiga people. So we managed + to load two buses full of computer freaks and take our leave towards The + Party. At that time The Party 1992 was the biggest computer party ever. + There were about 2500 computer freaks of which around 400 were PC dudes. + + There we entered the demo compo with Panic, and to our surprise we came + second. Witans Facts of Life had won the demo compo. We were quite + disappointed by this, because there was absolutely no voting. The voting + system on Amiga just didn't work. And then some organizer just asked the last + remaining PC organizer "What do you think were the best demos" without telling + him that these were going to be the official results. And without thinking he + just said "Witans, FCs and Sonics". + + Anyway, The Party 1992 was a big success. + + - 1993 - + After The Party 1992 we lived quietly for awhile. The only big change was + that Marvel (formerly from Sonic-PC) joined us. So we now have two gfx + artists. Then we began thinking of making a diskmag. At first nobody really + wanted to code it, so we thought that we would make it as a co-operation + with Stone (a finnish demogroup). But after some co-operation troubles we + began making it 100% by ourselves. We tried to make it the best diskmag + on the PC and according to many opinions, we succeeded quite well. What + we tried to do, was to set an example on how well you can do diskmags if + you really try. The diskmag was coded by Psi and the GFX were done by + Pixel and the musics by Purple Motion and C.C.Catch from Renaissance. + + - 1993 - + Then it was the time for Assembly'93. Once again we were the PC organizers + and we made an invitation intro for it. It's name is quite easy to guess, + it's Assembly'93 Invitation Intro (hard one! =)). It was coded by Trug, + the GFX were done by Marvel and the musics by Purple Motion. It fulfilled + its purpose (to get as many people as possible to Asm'93) very well. + + Assembly'93 was the biggest ever summer demo party. There were about 1300 + people on the party place of which around 450 were PC demo freaks. Asm'93 + was also a big advancement on the PC side. For the first time we also had + a intro, music (4 channel and multichannel) and graphic compos. + + Our biggest production yet, the Second Reality won the PC demo competition. + You have most probably also seen it, so I won't (again) go into detail in + trying to describe its effects. + + At the moment we are looking ahead to The Party III: The Ultimate. We are +again organizing a bustrip to Herning (were the party is to take place). We +really recommend this party because we feel that The Party III is going to +be the biggest and coolest demo party for PC ever. So be there or be square! + + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³14: ANSWERS TO RUMORS ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + + Rumors: - The computer was changed to a faster one to run Second + Reality. + - An additional GUS was added to machine. + - The VGA card was changed to a faster one. + - Marvel scanned his picture (Ice Kingdom) + - Marvel didn't compose his tune "Can't remember you" + - FC did something to the tunes, because they sounded so + weird. + - FC used dirty tricks in the The Party II + - FC skipped some parts of other groups demos to hurt their + score + - FC conducted a ballot-stuffing (fake voting) + + Question 1) Was the computer changed? + Answer 1) No. All the competitions (music,gfx,intro and demo) were + run on the same 486/33mhz 64kb cache GUS 1mb and ET4000 + 1mb machine with 4mb of RAM. This machine belongs to me + (Abyss) and is the very same machine (except for the GUS) + which was used to display the demos at The Party II. + + + Question 2) Did you change the VGA card? + Answer 2) No we didn't. The same ET4000 1MB VGA card was used all + the time. + + + Question 3) Was a second GUS card added to the machine? + Answer 3) At first few months before the Asm'93 we thought that + Dolby Surround Pro Logic was only possible to make + if you had 2 GUSes. Then we found out that it is very + easy and possible to do with only one GUS card. So no + second GUS card was added. + + + Question 4) Why is Marvels Ice Kingdom so like BEAR1.GIF? + Answer 4) Let me explain at first about the background. Most of + you arent familiar with the Amiga scene. On the amiga + scene it is forbidden to scan a picture, but it is + ok to use a existing picture as a model from which to + draw. What this means is that many of pictures made + are not ORIGINALLY created by the author (for example, + EEVI which came second at Asm'93 is originally by H. + Giger (the guy who did the gfx for Alien (I-III) for + example)). + What Marvel did was, that he draw the outlines from the + BEAR1.GIF and the proceeded on his own with the most + difficult task. If you compare BEAR1.GIF and ICEKNGDM.LBM + 1) they are in different resolutions + 2) there is no wall in the ICEKNGDM.LBM + 3) if you zoom in the picture you will see that the + colouring (dithering) of the picture is completely + different than in Marvels picture. + 4) BEAR1.GIF looks scanned, it looks helluva good and + it looks very different than Marvels picture. + + + Question 6) Did Marvel compose the tune "Can't remember you" + Answer 6) Yes, he did. Among his other talents, Marvel is a quite + good composer. He has made around 5-6 tunes during his + amiga career (though not too famous songs). He composed + the "Can't remember you" using ST ]I[ beta. + + + Question 7) Did you refuse to use any other player than ST3? + Answer 7) No we didn't. Most of the songs were supplied to us as + plain MOD files. No player was included with them. Only + one song had it's own player, and that player was used + to play it. In the Assembly'93 text file there was a + notion:"Bring your own player" (about the PC multichannel + competition). Because no player was supplied with most of + the MODs/multichannel files, we used the best player + we know of, the ST3 beta. + It is also claimed by people who have never used nor + seen ST3 that ST3 has still serious bugs in its .MOD + capabilities. This can't be more wrong as ST3 is one of + the very few composers that really play all Amiga commands + really correctly, not like many PC composers. So it's more + likely that composer used to create the tune wasn't enough + Amiga MOD compatible than ST3 to have bugs in it's MOD + playing module. + + + Question 8) Did you do something to the tunes to make them sound so + weird? + Answer 8) No, we didn't. The PA system broke down. The left speaker + broke and didn't play most of the middle-sounds. We are + very sorry for this, but it's very rare that this kind of + things happen. + + + Question 9) Did you use dirty little tricks in The Party II? + Answer 9) Rick Dangerous / S!P has claimed that we used the + following dirty trick in The Party II: + ù First telling everyone there'll be no demo from them + ù then, all of a sudden, at the END of the compo Gore + shouted (you know in this certain style) And Now! + The new demo by the Future Crew.... (all other things + were anounced like uhh.. hmm yes.. copper? by humm... + surbrisse..?...) + ù and finally they turned the volume up to give the + sound a special boost... + + 1) We telled nobody of our demo (Panic) because we feared + that it would scare off people. The almightyFC is gonna + do a new demo, we can't win, so why compete? We thought + we could this way get a lot better compo. + + 2) Gore shouted? In fact the man who announced ALL the + competitions (Amiga, PC and C64) was some of the Amiga- + organizers. We didn't even know him. In fact Gore was + nowhere near the compo room, only I and Wildfire were + (of FC) at the compo room. + + 3) We couldn't have boosted the volume because PA system + was operated by two other guys. They controlled the + volume during all the compos. Not us. + + + Question 10) Did FC skip parts of other groups demos? + Answer 10) Yes. Some parts were skipped because the demo run just for + too long displaying the same effects all over again. + If the audience began almost to die of borement because + of looking at the same boring screen for 3-4 minutes it + was the time to skip to next part. This could have not + hurted the group, because people already were bored with + the screen. Boring them more would affected the groups + score even more. + + + Question 11) Did FC conduct a fake voting? + Answer 11) The counting of votes was an open happening. Anybody could + have joined us to help with the counting. We invited + everybody to join us. We made every attempt to make the + voting as reliable as possible and it's our opinion that + the votes were counted as correctly as possible. + What comes to faking votes, it is a complete lie. No votes + were forged. The results of the music competitions might + have been surprises, but for those surprises only the + voters can be blamed. + + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³15: SONIC DREAMS ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + + Two files which have claimed to be a demo from us under the + name of Sonic Dreams have been circulating boards around + Europe. + + These files: FCSONIC1.ZIP and FCSONIC2.ZIP + + A*R*E F*A*K*E*S*! + + We don't know the maker of these files nor the purpose of them. + Under our tests we have not found any viruses nor troijans in those + files. Those files are composed of PCX pictures with some simple + C source code. Please delete the files when encountered. We + (the Future Crew) are not the makers of these files. + + + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³16: FINAL WORDS ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + This is the second revision of this file. In the first version + there was a a little "bug". The number to StarPorts' second node + was incorrect. Please, don't call that number! The number goes + to some Finnish home. + + Thank you for reading this file. + + + Signed, Abyss, GORE & Henchman / Future Crew diff --git a/16/fcsp2src/FILE_ID.DIZ b/16/fcsp2src/FILE_ID.DIZ new file mode 100755 index 00000000..7f4922e1 --- /dev/null +++ b/16/fcsp2src/FILE_ID.DIZ @@ -0,0 +1,7 @@ +Ûßß Ûßß Proudly Presents: +Ûß Û +Û Û The COMPLETE sources for +Û Û StarPort BBS Intro II. +Û Û +Û Û Includes updated FCINFO.TXT +Û ÛÜÜ diff --git a/16/fcsp2src/MAKE.BAT b/16/fcsp2src/MAKE.BAT new file mode 100755 index 00000000..dd1b086b --- /dev/null +++ b/16/fcsp2src/MAKE.BAT @@ -0,0 +1,5 @@ +@echo off +tasm /m9 /ml sp2.asm +if ERRORLEVEL 1 goto end +tlink /t /x sp2.obj +:end diff --git a/16/fcsp2src/README b/16/fcsp2src/README new file mode 100755 index 00000000..a3756c73 --- /dev/null +++ b/16/fcsp2src/README @@ -0,0 +1,9 @@ + +-- Starport Intro II V1.0 -- Source -- Copyright (C) 1993 Future Crew -- + +File: Description; +SP2.COM the second starport intro +SP2.ASM the assembler source for it +MAKE.BAT batch file to compile the demo + +Read the beginning of SP3.ASM for more details about the intro. diff --git a/16/fcsp2src/SP2.COM b/16/fcsp2src/SP2.COM new file mode 100755 index 00000000..a871a39e Binary files /dev/null and b/16/fcsp2src/SP2.COM differ diff --git a/16/fcsp2src/scene.org.txt b/16/fcsp2src/scene.org.txt new file mode 100755 index 00000000..d59a29ed --- /dev/null +++ b/16/fcsp2src/scene.org.txt @@ -0,0 +1,57 @@ +Problems? Mail: ftp@scene.org + ___ __ __ ____ Scene.org! +/ //_____ _ __/ //_____. _____ __/ //_____. _____ _\\_ /___ ___ +\__ /_ _____. _/ |_\\_ \_ _/ | _\\_ \_ _/ // _//_____ + _/ / _/ | \ | / / \ | / / / \ \_ \_ / + \______\ \ |___\_____| / \ ___\_____| / /___\_____/ / / +- ---_ ____\_____|-diP-_ _____\______\-bM--------\________\-----_ __________\- + + ftp.scene.org - 'elektronik free art' since 11 March 1996 + + +MIRRORS: ftp.jp.scene.org (ftp.dti.ad.jp) in /pub/scene + ftp.us.scene.org (darkscape.net) in /pub + ftp.us2.scene.org (zexxx.genotrance.com) in /scene + ftp.se.scene.org (ftp.sunet.se) in /pub/demos/scene.org + ftp.pl.scene.org (sunsite.icm.edu.pl) in /pub/demos + ftp.no.scene.org (ftp.gathering.org) in /scene.org + ftp.hu.scene.org (ftp.harmless.hu) in /mirrors/scene.org + + http.se.scene.org (ftp.sunet.se) in /pub/demos/scene.org + http.pl.scene.org (sunsite.icm.edu.pl) in /pub/demos + www.inercia.org (inercia.dcc.online.pt) in /scene.org + +MAIN SPONSOR: + Hogeschool Rotterdam (www.hro.nl) + +CORPORATE SPONSORS: + Gaffer Software (www.gaffer.org) + Firelight Multimedia (www.fmod.org) + DemoGL (www.demogl.com) + Nixxes Software (www.nixxes.com) + Twilight3D (www.twilight3d.com) + + + How can you help? + + * You can help by donating money to scene.org. All money will go + into upgrading the archive, and will allow us to improve our + services to you and the rest of the scene. + + * We are also looking for corporate sponsors. The return on a + sponsorship involves advertising the company on the archive. This + is an ideal method for a company to reach a global potential + customer base of young, talented and motivated people in the + computer and design business. + + * Thirdly, we are looking for mirrors for our archive. Mirrors help + us with lowering the demand on our main server and improve the + availability of the archive around the world. + + For more info mail to staff@scene.org. If you feel like to donate + money, look at the instructions at http://www.scene.org/bank.html + + With regards, + Jeffry Sleddens (Redhound) + + diff --git a/16/fcsp2src/sp16.asm b/16/fcsp2src/sp16.asm new file mode 100755 index 00000000..363cb568 --- /dev/null +++ b/16/fcsp2src/sp16.asm @@ -0,0 +1,1046 @@ +;-------------------------------------------------------------------- +; StarPort Intro II V1.0 +;-------------------------------------------------------------------- +; Copyright (C) 1993 Future Crew +;-------------------------------------------------------------------- +; code: Psi +; music: Skaven +;-------------------------------------------------------------------- +; This code is released to the public domain. You can do +; whatever you like with this code, but remember, that if +; you are just planning on making another small intro by +; changing a few lines of code, be prepared to enter the +; worldwide lamers' club. However, if you are looking at +; this code in hope of learning something new, go right +; ahead. That's exactly why this source was released. +; (BTW: I don't claim there's anything new to find here, +; but it's always worth looking, right?) +;-------------------------------------------------------------------- +; The code is optimized mainly for size but also a little +; for speed. The goal was to get this little bbs intro to +; under 2K, and 1993 bytes sounded like a good size. Well, +; it wasn't easy, and there are surely places left one could +; squeeze a few extra bytes off... +; Making a small intro is not hard. Making a small intro +; with a nice feel is very hard, and you have to sacrifice +; ideas to fit the intro to the limits you have set. I had +; a lot of plans (a background piccy for example), but well, +; the size limit came first. +; I hope you enjoy my choice of size/feature ratio in this +; intro! In case you are interested, this was a three evening +; project (the last one spent testing). +;-------------------------------------------------------------------- +; You can compile this with TASM, but the resulting COM-file +; will be a lot larger than the released version. This is +; because all the zero data is included to the result. The +; released version was first compiled to a COM file, and then +; a separate postprocessing program was ran which removed all +; the zero data from the end of the file. If you are just +; experimenting, recompiling is as easy as MAKE.BAT. If you +; want to make this small again, you have to do some work as +; well, and make your own postprocessor. +;-------------------------------------------------------------------- + +BORDERS=0 ;set to 1 for visible border-timings + +code SEGMENT para public 'CODE' + ASSUME cs:code +; LOCALS + .8087 + +ORG 100h +start: cld ;filler to make the filesize exactly 1993 bytes + cld ;filler to make the filesize exactly 1993 bytes + jmp main + +;±±±±±±±±±±±±±±±± setborder ±±±±±±±±±±±±±±±± +;descr: debug/change border color +setborder MACRO col + IF BORDERS + push ax + push dx + mov dx,3dah + in al,dx + mov dx,3c0h + mov al,11h+32 + out dx,al + mov al,col + out dx,al + pop dx + pop ax + ENDIF + ENDM + +;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Simplex Adlib Player ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ +;this doesn't just read raw data to output to adlib like the one +;used in the last starport intro. This player really does have +;note & instrument data it reads and processes! + +;±±±±±±±±±±±±±±±± output data to adlib ±±±±±±±±±±±±±± +a_lodsboutaw03: ;size optimization related entry (instrument loading) + call a_lodsboutaw + add ah,3 +a_lodsboutaw: ;size optimization related entry (instrument loading) + lodsb +a_outaw PROC NEAR ;ah=reg,al=data + push ax + push cx + xchg al,ah + mov dx,388h + out dx,al + mov cx,7 + call a_wait + mov dx,389h + mov al,ah + out dx,al + mov cx,30 + call a_wait + pop cx + pop ax + ret +a_wait: in al,dx + loop a_wait + ret +a_outaw ENDP + +;±±±±±±±±±±±±±±±± load instrument to adlib ±±±±±±±±±±±±±± +a_loadinstrument PROC NEAR + ;bx=channel, ds:si=offset to instrument data + mov ah,ds:a_inst_table[bx] + mov cx,4 +@@1: call a_lodsboutaw03 + add ah,20h-3 + loop @@1 + add ah,40h + call a_lodsboutaw03 + mov ah,bl + add ah,0c0h + jmp a_lodsboutaw +a_loadinstrument ENDP + +;±±±±±±±±±±±±±±±± set note on/off ±±±±±±±±±±±±±± +a_playnote PROC NEAR + ;bx=channel, ax=data + push bx + xchg ah,bl + add ah,0a0h + call a_outaw + mov al,bl + add ah,010h + pop bx + jmp a_outaw +a_playnote ENDP + +;±±±±±±±±±±±±±±±± initialize/clear/shutup adlib ±±±±±±±±±±±±±± +a_init PROC NEAR + mov ax,00120h + call a_outaw + mov ax,00800h + call a_outaw + mov ah,0bdh + call a_outaw + mov bp,9 + xor bx,bx + mov di,OFFSET music_instruments +@@1_: mov si,ds:[di] + add di,2 + call a_loadinstrument + xor ax,ax + call a_playnote + inc bx + dec bp + jnz @@1_ + ret +a_init ENDP + +;±±±±±±±±±±±±±±±± advance music one row ±±±±±±±±±±±±±± +a_dorow PROC NEAR + sub byte ptr ds:a_musiccnt,1;;;; + jnc @@0 + mov byte ptr ds:a_musiccnt,8;;;;music_speed + mov cx,music_channels + mov di,OFFSET music_patterns + xor bx,bx +@@1__: sub byte ptr ds:a_chdelaycnt[bx],1;;;; + jns @@2 + mov si,ds:[di] + xor ax,ax + call a_playnote +@@4: lodsb + or al,al + jz @@7 + jns @@6 + sub al,81h + mov ds:a_chdelay[bx],al + lodsb +@@6: mov dl,al + and ax,15 + mov bp,ax + add bp,bp + mov ax,ds:a_note_table[bp] + shr dl,1 + shr dl,1 + and dl,not 3 + add ah,dl + call a_playnote + mov al,ds:a_chdelay[bx] + mov ds:a_chdelaycnt[bx],al + mov ds:[di],si +@@2: add di,4 + inc bx + loop @@1__ +@@0: ret +@@7: mov si,ds:[di+2] + jmp @@4 +a_dorow ENDP + +;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Intro Routines ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ + +;±±±±±±±±±±±±±±±± sin/cos ±±±±±±±±±±±±±±±± +;entry: ax=angle (0..65535) +; exit: ax=muller (-127..127) +addwcos:add ax,ds:[bx] ;optimized entry for wavesets + mov ds:[bx],ax +cos: add ax,16384 +sin: mov bx,ax + mov cx,bx + and cx,1023 + neg cx + add cx,1023 + shr bx,1 + shr bx,1 + shr bx,1 + shr bx,1 + shr bx,1 + shr bx,1 + shr bx,1 + shr bx,1 + shr bx,1 + shr bx,1 + mov ah,ds:sintable[bx] + xor al,al + imul cx + push ax + push dx + mov ah,ds:sintable[bx+1] + xor al,al + neg cx + add cx,1023 + imul cx + pop bx + pop cx + add ax,cx + adc dx,bx +; shrd ax,dx,11;;;;;;;; + ret + +;±±±±±±±±±±±±±±±± rand ±±±±±±±±±±±±±±±± +;returns a random value in range -4096..4095 +rand PROC NEAR + mov ax,1107;;;;;;;;;030247 + mul ds:seed + add ax,9717;;;;;;;;7 + mov ds:seed,ax + shr ax,1 + shr ax,1 + shr ax,1 + shr ax,1 + shr ax,1 + shr ax,1 + shr ax,1 + shr ax,1 + shr ax,1 + shr ax,1 + shr ax,1 + shr ax,1 + shr ax,1 + shr ax,1 + shr ax,1 + and ax,8191 + sub ax,4096 +;size optimizatin, some code moved from after all rand calls + add bx,2 + mov ds:[bx],ax + ret +rand ENDP + +;±±±±±±±±±±±±±±±± timer ±±±±±±±±±±±±±±±± +inittimer PROC NEAR + mov ax,fs:[8*4] + mov ds:oldint8,ax + mov ax,cs + shl ax,1 + shl ax,1 + shl ax,1 + shl ax,1 + shl ax,1 + shl ax,1 + shl ax,1 + shl ax,1 + shl ax,1 + shl ax,1 + shl ax,1 + shl ax,1 + shl ax,1 + shl ax,1 + shl ax,1 + shl ax,1 + mov ax,OFFSET intti8 + mov dx,17000 ;70hz + jmp @@1___ +deinittimer: + mov ax,ds:oldint8 + xor dx,dx +@@1___: cli + mov fs:[8*4],ax + mov al,036h + out 43h,al + mov al,dl + out 40h,al + mov al,dh + out 40h,al + sti + ret +inittimer ENDP + +intti8 PROC FAR ;timer interrupt + push ax + mov al,20h + out 20h,al + inc [word ptr cs:framecounter];;;; + pop ax + iret +intti8 ENDP + +;±±±±±±±±±±±±±±±± load indexed palette ±±±±±±±±±±±±±± +setpal PROC NEAR + ;ds:si=pointer to colorindices + mov dx,3c8h + xor al,al + out dx,al + inc dx + mov cx,8 +@@1____: xor bh,bh + mov bl,ds:[si] + shr bl,1 + shr bl,1 + call setpl2 + mov bl,ds:[si] + shl bx,1 + shl bx,1 + call setpl2 + inc si + loop @@1____ + ret +setpl2: and bx,15*2 + mov ax,word ptr ds:col0[bx] + out dx,al + mov al,ah + out dx,al + mov al,ds:col0[bx+2] + out dx,al + ret +setpal ENDP + +;±±±±±±±±±±±±±± clear & copy videobuffer to screen ±±±±±±±±±±±±±± +clearcopy PROC NEAR +;---copy/clear buf + xor dx,dx + mov si,OFFSET vbuf + mov bx,4 + mov cx,200 + mov di,-4 +@@1_____: mov bp,5 +@@2_: REPT 2 + mov ax,ds:[si] + add di,bx + mov ds:[si],dx + add si,bx + mov es:[di],ax + ENDM + dec bp + jnz @@2_ + add si,bx + dec cx + jnz @@1_____ + ret +clearcopy ENDP + +;±±±±±±±±±±±±±± draw a small pixel ±±±±±±±±±±±±±± +pset1 PROC NEAR ;ds:di=destination center, si=xmask offset + mov al,ds:colb[si] + or ds:[di],al + ret ;;;;@@1: +pset1 ENDP + +;±±±±±±±±±±±±±± draw a big pixel (depending on Z) ±±±±±±±±±±±±± +pset2 PROC NEAR ;ds:di=destination center, si=xmask offset + mov ax,ds:colbww[si] + or ds:[di+0],ax + or ds:[di+44],ax + cmp bp,8300 ;zcompare for size + jl pset3 + ;smaller one + mov ax,ds:colbw[si] + or ds:[di-44],ax + or ds:[di+88],ax + mov ax,ds:colbv[si] + or ds:[di-88],ax + or ds:[di+132],ax + ret +pset3: ;larger one + or ds:[di-44],ax + or ds:[di+88],ax + mov ax,ds:colbw[si] + or ds:[di-88],ax + or ds:[di+132],ax + ret +pset2 ENDP + +;±±±±±±±±±±±±±± add a letter composed of big dots to dotlist ±±±±±±±±±±±±± +letter3d PROC NEAR + ;bx=letter + ;si=basex + ;bp=basey + sub bx,'A' + jc @@0__ + shl bx,1 + shl bx,1 + shl bx,1 + mov di,ds:nextdot + mov cx,8 +@@1_______: push cx + push si + mov cx,8 +@@2__: cmp byte ptr ds:font[bx],0;;;; + je @@3 + mov ds:dots[di],si + mov ds:dots[di+2],bp + ;zsinus + push si + add si,ds:sinus1 + sar si,1 + sar si,1 + sar si,1 + sar si,1 + sar si,1 + sar si,1 + and si,63 + mov al,ds:sintable[si] + cbw + pop si + shl ax,1 + shl ax,1 + mov ds:dots[di+4],ax + ; + mov word ptr ds:dots[di+6],OFFSET pset2 + add di,8 + and di,2047;;;;DOTNUM1*8-1 +@@3: inc bx + add si,LETTERDOTSPACING + loop @@2__ + pop si + add bx,320-8 + add bp,LETTERDOTSPACING + pop cx + loop @@1_______ + mov ds:nextdot,di +@@0__: ret +letter3d ENDP + +;±±±±±±±±±±±±±± calc 2x2 rotation matrix ±±±±±±±±±±±±± +set3drot PROC NEAR + ;ax=angle,ds:di=pointer to matrix + push ax + call sin + mov ds:[di+r01-r00],ax + neg ax + mov ds:[di+r10-r00],ax + pop ax + call cos + mov ds:[di+r00-r00],ax + mov ds:[di+r11-r00],ax + ret +set3drot ENDP + +;±±±±±±±±±±±± rotate point with 2x2 rotation matrix (innerpart) ±±±±±±±±±±±±± +rotate2x2i PROC NEAR + ;(di,bp)->(cx) with matrix half at ds:si + ;this is the inner part, called twice + push bx + mov ax,di + imul word ptr ds:[si] + mov cx,ax + mov bx,dx + mov ax,bp + imul word ptr ds:[si+2] + add cx,ax + adc bx,dx +; shrd cx,bx,14;;;;;;;; + pop bx + add si,4 + ret +rotate2x2i ENDP + +;±±±±±±±±±±±±±± advance demo one frame (raw work) ±±±±±±±±±±±±± +doit PROC NEAR +;======wait for border + setborder 0 + mov dx,3dah +@@w1: in al,dx + test al,8 + jnz @@w1 +@@w2: in al,dx + test al,8 + jz @@w2 + setborder 30 +;======done + mov si,ds:index + push si + call setpal + pop si + add si,9 + cmp si,OFFSET index4 + jbe @@i2 + mov si,OFFSET index1 +@@i2: mov ds:index,si + mov al,2 + mov ah,ds:[si+8] + mov dx,3c4h + out dx,ax + call clearcopy +;======do timer simulation stuff + setborder 28 + xor cx,cx + mov byte ptr ds:scrollsubber,0;;;; + xchg cx,ds:framecounter + jcxz @@78 +@@77: push cx + add byte ptr ds:scrollsubber,90;;;;;SCROLLSPEED + call doit70 + pop cx + loop @@77 + setborder 26 +@@78:;====== +;---redraw dots + mov cx,DOTNUM + mov bx,OFFSET dots +@@1________: push cx + push bx + mov bp,ds:[bx+2] + mov di,ds:[bx+4] + cmp word ptr ds:[bx+6],OFFSET pset2 + jne @@5 + ;ysinus + mov cx,ds:[bx] + mov si,ds:sinus2 + add si,cx + sar si,1 + sar si,1 + sar si,1 + sar si,1 + sar si,1 + sar si,1 + sar si,1 + and si,63 + mov al,ds:sintable[si] + cbw + shl ax,1 + shl ax,1 + add bp,ax + ;scroll + sub cx,ds:scrollsubber + mov ds:[bx],cx + cmp cx,-3900 + jl @@7_ + cmp cx,3900 + jg @@7_ +@@5: ;--rotate coordinates + mov si,OFFSET r00 + call rotate2x2i + push cx + call rotate2x2i + pop di + mov bp,ds:[bx] + mov si,OFFSET p00 + push cx + call rotate2x2i + push cx + call rotate2x2i + pop bp + pop di + ;bp=Z, cx=X, di=Y + add bp,ds:zadder + cmp bp,1024 + jl @@7_ + ;--project + mov ax,256 + imul di + idiv bp + add ax,100 + mov di,ax + mov ax,307 + imul cx + idiv bp + add ax,160 + mov si,ax + ;si=SX, di=SY + mov ax,ds:[bx+6] + cmp si,319 + ja @@7_ + cmp di,199 + ja @@7_ + ;calc dest address & xmask offset + add di,di + mov di,ds:rows[di] + add si,si + add di,ds:cols[si] + ; + call ax +@@7_: pop bx + pop cx + add bx,8 + dec cx + jnz @@1________ + ret +doit ENDP + +;±±±±±±±±±±±±±± advance demo counters 1/70 sec ±±±±±±±±±±±±± +;a separate routine is used to get frame syncronization for +;slower machines (and slow vga cards) +doit70 PROC NEAR +;---add sinuses & udforce + add byte ptr ds:sinus1,70;;;; + add byte ptr ds:sinus2,177;;;; + add word ptr ds:udforced,3000;;;; +;---set wave1 + mov bx,OFFSET wwave + mov ax,77 + call addwcos + sar ax,1 + sar ax,1 + sar ax,1 + sar ax,1 + sar ax,1 + mov ds:wave1,ax +;---set zadder + mov bx,OFFSET zwave + mov ax,370 + call addwcos + sar ax,1 + sar ax,1 + sar ax,1 + add ax,8888 + mov ds:zadder,ax +;---set 3d rotate YZ + mov bx,OFFSET udwave + mov ax,ds:wave1 + call addwcos + imul word ptr ds:udforce;;;; +; shrd ax,dx,8;;;;;;;; + mov di,OFFSET r00 + call set3drot +;---set 3d rotate XZ + mov bx,OFFSET lrwave + mov ax,200 + call addwcos + sar ax,1 + mov di,OFFSET p00 + call set3drot +;---add more text to 3d scroller + sub byte ptr ds:textcnt,90;;;;SCROLLSPEED + jnc @@t1 + mov word ptr ds:textcnt,1023;;;;LETTERDOTSPACING*8-1 + mov si,ds:text + mov bl,ds:[si] + IFDEF XORTEXTS + xor bl,17h + ENDIF + and bx,255 + jz @@t3 + inc si + mov ds:text,si + cmp bl,32 + jge @@t4 + shl bx,1;;;;SCROLLDELAYSHL + shl bx,1 + shl bx,1 + shl bx,1 + shl bx,1 + shl bx,1 + shl bx,1 + shl bx,1 + shl bx,1 + mov ds:textcnt,bx + jmp @@t1 +@@t4: mov bp,0 + mov si,4100 + call letter3d + jmp @@t1 +@@t3: mov si,OFFSET text0 + mov ds:text,si +@@t1: ;;; +;======adlib music + jmp a_dorow +doit70 ENDP + +;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Main routine ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ +;stack @ cs:0fffeh + +main PROC NEAR +;ÍÍÍÍÍÍÍÍÍ Zero Zerodata & Init Segs ÍÍÍÍÍÍÍ +.8086 ;;; + push cs + push cs + pop ds + pop es + mov cx,(zeroend-zerobeg)/2 + mov di,OFFSET zerobeg + xor ax,ax ;zero used later + rep stosw + mov dx,0a000h + mov es,dx +;segments now set: DS=code/data ES=vram +;ÍÍÍÍÍÍÍÍÍ Check for 386 ÍÍÍÍÍÍÍÍÍ + push sp + pop dx + cmp dx,sp + jz @@o1 +@@o2: jmp endansi ;80(1)86 +.286p ;;; +@@o1: mov bx,OFFSET rows + sgdt ds:[bx] + cmp byte ptr ds:[bx+5],0 + js @@o2 +;ÍÍÍÍÍÍÍÍÍ Check for VGA ÍÍÍÍÍÍÍÍÍ +.386p ;;; + mov fs,ax ;ax was zero +;segments now set: DS=code/data ES=vram FS=zeropage + mov ax,1a00h + int 10h + cmp al,01ah + jne endansi ;no vga + cmp bl,7 + jb endansi ;no vga +;ÍÍÍÍÍÍÍÍÍ Initialize - doinit 0 ÍÍÍÍÍÍÍÍÍ + ;copy vga font to font buffer + mov ax,13h + int 10h + mov cx,'Z'-'A'+1 + mov bx,16 + mov ax,'A'+0eh*256 +@@a1: int 10h + inc al + loop @@a1 + mov cx,8*320/2 + mov bx,OFFSET font + xor di,di +@@a2: mov ax,es:[di] + mov ds:[di+bx],ax + add di,2 + loop @@a2 +;ÍÍÍÍÍÍÍÍÍ Initialize - vga ÍÍÍÍÍÍÍÍÍ + ;init videomode 320x200x16 + mov ax,0dh + int 10h + ;set up rows/cols/etc + mov si,-2 + mov di,OFFSET vbuf-44 + mov bl,128 + xor bp,bp + jmp @@b5 +@@b1: mov ds:rows[si],di + mov ds:colb[si],bl + mov ds:colbww[si],cx + shr cl,1 + rcr ch,1 + mov ds:colbw[si],dx + shr dl,1 + rcr dh,1 + mov ds:colbv[si],ax + shr al,1 + rcr ah,1 + mov ds:cols[si],bp + ror bl,1 + jnc @@b4 + inc bp +@@b5: mov cx,0000000011111110b + mov dx,0000000001111100b + mov ax,0000000000111000b +@@b4: add di,44 + add si,2 + cmp si,(320)*2 + jle @@b1 + ;set simplex palette order (16 color mode) + mov dx,3dah + in al,dx + mov dl,0c0h + xor ax,ax + mov cx,16 +@@b2: out dx,al + out dx,al + inc al + loop @@b2 + mov al,20h + out dx,al +;ÍÍÍÍÍÍÍÍÍ Initialize - doinit ÍÍÍÍÍÍÍÍÍ + mov cx,DOTNUM + mov bx,OFFSET dots-2 +@@c1: push cx + call rand + call rand + call rand + sar ax,2 + mov ds:[bx],ax + add bx,2 + mov word ptr ds:[bx],OFFSET pset1 + pop cx + loop @@c1 +;ÍÍÍÍÍÍÍÍÍ Initialize - others ÍÍÍÍÍÍÍÍÍ + call a_init + call inittimer +;ÍÍÍÍÍÍÍÍÍ Do the intro stuff ÍÍÍÍÍÍÍÍÍ +again: call doit + mov ah,1 + int 16h + jz again + mov ah,0 + int 16h +;ÍÍÍÍÍÍÍÍÍ DeInitialize ÍÍÍÍÍÍÍÍÍ + call deinittimer + call a_init ;reinitializing adlib shuts it up +;ÍÍÍÍÍÍÍÍÍ Display end ansi (only thing done if no 386 or vga) ÍÍÍÍÍÍÍÍÍ +endansi:mov ax,3h + int 10h + mov si,OFFSET endtext + push 0b800h ;if the user has an MGA or HGC + pop es ;it's not my problem :-) + xor di,di + mov ah,0eh +@@1__________: lodsb + IFDEF XORTEXTS + xor al,17h + ENDIF + cmp al,31 + jae @@2___ + mov ah,al + jmp @@1__________ +@@2___: jz @@3__ + stosw + jmp @@1__________ +@@3__: mov ax,4c00h + int 21h +main ENDP + +;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Initialized (nonzero) data ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ + +;pointer & delay counter for scrolltext +text dw OFFSET text0 +textcnt dw 1 + +;3d rotation values (more in zerodata) +udforced LABEL DWORD + dw 0 +udforce dw 64 +lrwave dw -20000 +zwave dw 16000 + +sintable LABEL BYTE ;sine table (circle is 64 units) +db 0,12,24,36,48,59,70,80,89,98,105,112,117,121,124,126,127,126 +db 124,121,117,112,105,98,89,80,70,59,48,36,24,12,0,-12,-24,-36 +db -48,-59,-70,-80,-89,-98,-105,-112,-117,-121,-124,-126,-127 +db -126,-124,-121,-117,-112,-105,-98,-89,-80,-70,-59,-48,-36 +db -24,-12,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54 +db 57,59,62,65,67,70 + +;adlib player data +a_inst_table LABEL BYTE + db 20h+0,20h+1,20h+2,20h+8,20h+9,20h+10,20h+16,20h+17,20h+18 +NTB equ 8192 ;+1024*1 +a_note_table LABEL WORD + dw NTB+363,NTB+385,NTB+408,NTB+432,NTB+458,NTB+485 + dw NTB+514,NTB+544,NTB+577,NTB+611,NTB+647,NTB+868 + ;note: a zero word is expected after this table (found in col0) + +col0 db 0, 0, 0 ,0 ;background color +col1 db 0,15,35 ,0 ;delay color 3 +col2 db 16,30,48 ,0 ;delay color 2 +col3 db 32,45,55 ,0 ;delay color 1 +col4 db 60,61,62 ;brightest color + ;1 . x . x . x . x . x . x . x . x + ;2 . . x x . . x x . . x x . . x x + ;4 . . . . x x x x . . . . x x x x + ;8 . . . . . . . . x x x x x x x x +;palette indices for 4 palettes. Last number is bitplane to write +;during the frame having this palette +index1 db 04h,34h,24h,34h,14h,34h,24h,34h ,1 ;1248 +index2 db 03h,23h,13h,23h,44h,44h,44h,44h ,8 ;8124 +index3 db 02h,12h,44h,44h,33h,33h,44h,44h ,4 ;4812 +index4 db 01h,44h,33h,44h,22h,44h,33h,44h ,2 ;2481 +index dw OFFSET index1 ;offset to current index + +;################## Music - (tune by skaven/fc) ################### +;generated with ST3->SIMPLEXADLIB, handoptimized by psi (283 bytes) +music_channels equ 8 +music_speed equ 8 +music_instruments LABEL BYTE +dw OFFSET ains6 +dw OFFSET ains2 +dw OFFSET ains4 +dw OFFSET ains3 +dw OFFSET ains3 +dw OFFSET ains1 +dw OFFSET ains1 +dw OFFSET ains4 +ains1 LABEL BYTE +db 65,194,6,0,35,242,240,240,1,0,4 +ains2 LABEL BYTE +db 145,64,135,128,243,111,35,3,1,1,2 +ains3 LABEL BYTE +db 225,33,17,128,17,19,34,34,0,0,12 +ains4 LABEL BYTE +db 97,33,27,0,98,132,86,85,0,0,14 +ains6 LABEL BYTE +db 145,64,135,136,243,111,35,3,1,1,2 +music_patterns LABEL BYTE +ach0 dw OFFSET ach0d,OFFSET ach0dr +ach1 dw OFFSET ach1d,OFFSET ach1dr +ach2 dw OFFSET ach2d,OFFSET ach2dr +ach3 dw OFFSET ach3d,OFFSET ach3d +ach4 dw OFFSET ach4d,OFFSET ach4d +ach5 dw OFFSET ach5d,OFFSET ach5d +ach6 dw OFFSET ach6d,OFFSET ach6d +ach7 dw OFFSET ach7d,OFFSET ach7d +ach0d LABEL BYTE +db 081h +ach0dr LABEL BYTE +db 057h,050h,050h,055h,057h,050h,055h,057h +db 050h,055h,057h,050h,055h,057h,050h,055h +db 0 +ach1d LABEL BYTE +db 081h +ach1dr LABEL BYTE +db 050h,055h,057h,050h,055h,057h,050h,055h +db 057h,050h,055h,057h,050h,055h,057h,050h +db 0 +ach2d LABEL BYTE +db 0C0h,050h,084h +db 030h,020h,030h,020h,02Ah,01Ah,02Ah,01Ah +db 030h,020h,030h,020h,02Ah,01Ah,02Ah,01Ah +ach2dr LABEL BYTE +db 030h,020h,030h,020h,02Ah,01Ah,02Ah,01Ah +db 025h,015h,025h,015h,028h,018h,02Ah,01Ah +db 0 +ach3d LABEL BYTE +db 0A0h,050h,040h,0C0h,040h,088h,040h,040h +db 03Ah,042h,090h,045h,088h,040h,042h,040h +db 047h,090h,04Ah,088h,045h,098h,040h +db 0 +ach4d LABEL BYTE +db 0A0h,050h,030h,0C0h,047h,088h,047h,043h +db 042h,045h,047h,045h,048h,047h,047h,050h +db 052h,084h,050h,04Ah,088h,050h,098h,045h +db 0 +ach5d LABEL BYTE +db 0C0h,020h,0A0h,010h,010h,090h,010h,02Ah +db 025h,088h,028h,02Ah,090h,010h,02Ah,025h +db 088h,028h,02Ah +db 0 +ach6d LABEL BYTE +db 0C0h,020h,0A0h,020h,020h,090h,020h,01Ah +db 015h,088h,018h,01Ah,090h,020h,01Ah,015h +db 088h,018h,01Ah +db 0 +ach7d LABEL BYTE +db 0C0h,00Ch,0FEh,050h,090h,00Ch,081h,04Ah +db 050h,084h,052h,055h,086h,04Ah,081h,050h +db 04Ah,086h,050h,082h,055h,098h,045h +db 0 +;######################################################### + +SCROLLSPEED equ 90 +SCROLLDELAYSHL equ 9 +LETTERDOTSPACING equ 128 + +db 0fch + +text0 LABEL BYTE ;scrolltext (numbers are delays) + db 31,25,'CALL STARPORT',9,'FUTURE CREW WORLD HQ',9,'CDN',9,'GRAVIS EURO',9,'AND MORE',0 + +endtext LABEL BYTE ;endansi... well... endansiline (numbers are colors) + db 15 + db 'StarPort' + db 3,' ÄÄ ',11 + db 'V32bis +358-0-8044626' + db ' +358-0-8041133' + db 3,' ÄÄ ',15 + db 'FC-WHQ' + db 31 +endtext1 LABEL BYTE + +db 0fch + +;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Uninitialized (zero) data ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ + +zerobeg LABEL WORD ;start zero clear from here + +rows dw 320 dup(0) ;offsets to screen rows +cols dw 320 dup(0) ;offsets to screen cols +colb db 320 dup(0,0) ;bitmasks for screen cols +colbv dw 320 dup(0) ;wide -"- +colbw dw 320 dup(0) ;wider -"- +colbww dw 320 dup(0) ;very wide -"- + +ALIGN 4 + db 44*8 dup(0) ;negative overflow for videobuffer +vbuf LABEL BYTE + db 44*200 dup(0) ;video buffer + db 44*8 dup(0) ;positive overflow for videobuffer + +ALIGN 4 +font LABEL BYTE + db 8 dup(320 dup(0)) ;font buffer + + +DOTNUM1 equ 256 ;number of dots used for text +DOTNUM equ 444 ;total number of dots +ALIGN 4 +dots LABEL WORD + dw DOTNUM dup(0,0,0,0) ;x,y,z,routine data for each dot + +;2x2 rotation matrices +r00 dw 0 +r10 dw 0 +r01 dw 0 +r11 dw 0 +p00 dw 0 +p10 dw 0 +p01 dw 0 +p11 dw 0 + +;zero initialized 3d rotation stuff +zadder dw 0 +wave1 dw 0 +udwave dw 0 +wwave dw 0 +sinus1 dw 0 +sinus2 dw 0 + +;adlib data +a_musiccnt dw 0 +a_chdelaycnt db 9 dup(0) +a_chdelay db 9 dup(0) +ALIGN 2 + +;misc +nextdot dw 0 +scrollsubber dw 0 +framecounter dw 0 +oldint8 dw 0;;;;;;;; +seed dw 0;;;;;;;; + +padder db 16 dup(0) +zeroend LABEL WORD ;end zero clear here + +code ENDS + END start diff --git a/16/fcsp2src/sp2.asm b/16/fcsp2src/sp2.asm new file mode 100755 index 00000000..c0e3a132 --- /dev/null +++ b/16/fcsp2src/sp2.asm @@ -0,0 +1,976 @@ +;-------------------------------------------------------------------- +; StarPort Intro II V1.0 +;-------------------------------------------------------------------- +; Copyright (C) 1993 Future Crew +;-------------------------------------------------------------------- +; code: Psi +; music: Skaven +;-------------------------------------------------------------------- +; This code is released to the public domain. You can do +; whatever you like with this code, but remember, that if +; you are just planning on making another small intro by +; changing a few lines of code, be prepared to enter the +; worldwide lamers' club. However, if you are looking at +; this code in hope of learning something new, go right +; ahead. That's exactly why this source was released. +; (BTW: I don't claim there's anything new to find here, +; but it's always worth looking, right?) +;-------------------------------------------------------------------- +; The code is optimized mainly for size but also a little +; for speed. The goal was to get this little bbs intro to +; under 2K, and 1993 bytes sounded like a good size. Well, +; it wasn't easy, and there are surely places left one could +; squeeze a few extra bytes off... +; Making a small intro is not hard. Making a small intro +; with a nice feel is very hard, and you have to sacrifice +; ideas to fit the intro to the limits you have set. I had +; a lot of plans (a background piccy for example), but well, +; the size limit came first. +; I hope you enjoy my choice of size/feature ratio in this +; intro! In case you are interested, this was a three evening +; project (the last one spent testing). +;-------------------------------------------------------------------- +; You can compile this with TASM, but the resulting COM-file +; will be a lot larger than the released version. This is +; because all the zero data is included to the result. The +; released version was first compiled to a COM file, and then +; a separate postprocessing program was ran which removed all +; the zero data from the end of the file. If you are just +; experimenting, recompiling is as easy as MAKE.BAT. If you +; want to make this small again, you have to do some work as +; well, and make your own postprocessor. +;-------------------------------------------------------------------- + +BORDERS=0 ;set to 1 for visible border-timings + +code SEGMENT para public 'CODE' + ASSUME cs:code +; LOCALS + .386 + +ORG 100h +start: cld ;filler to make the filesize exactly 1993 bytes + cld ;filler to make the filesize exactly 1993 bytes + jmp main + +;±±±±±±±±±±±±±±±± setborder ±±±±±±±±±±±±±±±± +;descr: debug/change border color +setborder MACRO col + IF BORDERS + push ax + push dx + mov dx,3dah + in al,dx + mov dx,3c0h + mov al,11h+32 + out dx,al + mov al,col + out dx,al + pop dx + pop ax + ENDIF + ENDM + +;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Simplex Adlib Player ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ +;this doesn't just read raw data to output to adlib like the one +;used in the last starport intro. This player really does have +;note & instrument data it reads and processes! + +;±±±±±±±±±±±±±±±± output data to adlib ±±±±±±±±±±±±±± +a_lodsboutaw03: ;size optimization related entry (instrument loading) + call a_lodsboutaw + add ah,3 +a_lodsboutaw: ;size optimization related entry (instrument loading) + lodsb +a_outaw PROC NEAR ;ah=reg,al=data + push ax + push cx + xchg al,ah + mov dx,388h + out dx,al + mov cx,7 + call a_wait + mov dx,389h + mov al,ah + out dx,al + mov cx,30 + call a_wait + pop cx + pop ax + ret +a_wait: in al,dx + loop a_wait + ret +a_outaw ENDP + +;±±±±±±±±±±±±±±±± load instrument to adlib ±±±±±±±±±±±±±± +a_loadinstrument PROC NEAR + ;bx=channel, ds:si=offset to instrument data + mov ah,ds:a_inst_table[bx] + mov cx,4 +@@1: call a_lodsboutaw03 + add ah,20h-3 + loop @@1 + add ah,40h + call a_lodsboutaw03 + mov ah,bl + add ah,0c0h + jmp a_lodsboutaw +a_loadinstrument ENDP + +;±±±±±±±±±±±±±±±± set note on/off ±±±±±±±±±±±±±± +a_playnote PROC NEAR + ;bx=channel, ax=data + push bx + xchg ah,bl + add ah,0a0h + call a_outaw + mov al,bl + add ah,010h + pop bx + jmp a_outaw +a_playnote ENDP + +;±±±±±±±±±±±±±±±± initialize/clear/shutup adlib ±±±±±±±±±±±±±± +a_init PROC NEAR + mov ax,00120h + call a_outaw + mov ax,00800h + call a_outaw + mov ah,0bdh + call a_outaw + mov bp,9 + xor bx,bx + mov di,OFFSET music_instruments +@@1_: mov si,ds:[di] + add di,2 + call a_loadinstrument + xor ax,ax + call a_playnote + inc bx + dec bp + jnz @@1_ + ret +a_init ENDP + +;±±±±±±±±±±±±±±±± advance music one row ±±±±±±±±±±±±±± +a_dorow PROC NEAR + sub byte ptr ds:a_musiccnt,1;;;; + jnc @@0 + mov byte ptr ds:a_musiccnt,8;;;;music_speed + mov cx,music_channels + mov di,OFFSET music_patterns + xor bx,bx +@@1__: sub byte ptr ds:a_chdelaycnt[bx],1;;;; + jns @@2 + mov si,ds:[di] + xor ax,ax + call a_playnote +@@4: lodsb + or al,al + jz @@7 + jns @@6 + sub al,81h + mov ds:a_chdelay[bx],al + lodsb +@@6: mov dl,al + and ax,15 + mov bp,ax + add bp,bp + mov ax,ds:a_note_table[bp] + shr dl,2 + and dl,not 3 + add ah,dl + call a_playnote + mov al,ds:a_chdelay[bx] + mov ds:a_chdelaycnt[bx],al + mov ds:[di],si +@@2: add di,4 + inc bx + loop @@1__ +@@0: ret +@@7: mov si,ds:[di+2] + jmp @@4 +a_dorow ENDP + +;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Intro Routines ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ + +;±±±±±±±±±±±±±±±± sin/cos ±±±±±±±±±±±±±±±± +;entry: ax=angle (0..65535) +; exit: ax=muller (-127..127) +addwcos:add ax,ds:[bx] ;optimized entry for wavesets + mov ds:[bx],ax +cos: add ax,16384 +sin: mov bx,ax + mov cx,bx + and cx,1023 + neg cx + add cx,1023 + shr bx,10 + mov ah,ds:sintable[bx] + xor al,al + imul cx + push ax + push dx + mov ah,ds:sintable[bx+1] + xor al,al + neg cx + add cx,1023 + imul cx + pop bx + pop cx + add ax,cx + adc dx,bx + shrd ax,dx,11 + ret + +;±±±±±±±±±±±±±±±± rand ±±±±±±±±±±±±±±±± +;returns a random value in range -4096..4095 +rand PROC NEAR + mov eax,1107030247 + mul ds:seed + add eax,97177 + mov ds:seed,eax + shr eax,15 + and ax,8191 + sub ax,4096 +;size optimizatin, some code moved from after all rand calls + add bx,2 + mov ds:[bx],ax + ret +rand ENDP + +;±±±±±±±±±±±±±±±± timer ±±±±±±±±±±±±±±±± +inittimer PROC NEAR + mov eax,fs:[8*4] + mov ds:oldint8,eax + mov ax,cs + shl eax,16 + mov ax,OFFSET intti8 + mov dx,17000 ;70hz + jmp @@1___ +deinittimer: + mov eax,ds:oldint8 + xor dx,dx +@@1___: cli + mov fs:[8*4],eax + mov al,036h + out 43h,al + mov al,dl + out 40h,al + mov al,dh + out 40h,al + sti + ret +inittimer ENDP + +intti8 PROC FAR ;timer interrupt + push ax + mov al,20h + out 20h,al + inc [word ptr cs:framecounter];;;; + pop ax + iret +intti8 ENDP + +;±±±±±±±±±±±±±±±± load indexed palette ±±±±±±±±±±±±±± +setpal PROC NEAR + ;ds:si=pointer to colorindices + mov dx,3c8h + xor al,al + out dx,al + inc dx + mov cx,8 +@@1____: xor bh,bh + mov bl,ds:[si] + shr bl,2 + call setpl2 + mov bl,ds:[si] + shl bx,2 + call setpl2 + inc si + loop @@1____ + ret +setpl2: and bx,15*2 + mov ax,word ptr ds:col0[bx] + out dx,al + mov al,ah + out dx,al + mov al,ds:col0[bx+2] + out dx,al + ret +setpal ENDP + +;±±±±±±±±±±±±±± clear & copy videobuffer to screen ±±±±±±±±±±±±±± +clearcopy PROC NEAR +;---copy/clear buf + xor edx,edx + mov si,OFFSET vbuf + mov bx,4 + mov cx,200 + mov di,-4 +@@1_____: mov bp,5 +@@2_: REPT 2 + mov eax,ds:[si] + add di,bx + mov ds:[si],edx + add si,bx + mov es:[di],eax + ENDM + dec bp + jnz @@2_ + add si,bx + dec cx + jnz @@1_____ + ret +clearcopy ENDP + +;±±±±±±±±±±±±±± draw a small pixel ±±±±±±±±±±±±±± +pset1 PROC NEAR ;ds:di=destination center, si=xmask offset + mov al,ds:colb[si] + or ds:[di],al + ret ;;;;@@1: +pset1 ENDP + +;±±±±±±±±±±±±±± draw a big pixel (depending on Z) ±±±±±±±±±±±±± +pset2 PROC NEAR ;ds:di=destination center, si=xmask offset + mov ax,ds:colbww[si] + or ds:[di+0],ax + or ds:[di+44],ax + cmp bp,8300 ;zcompare for size + jl pset3 + ;smaller one + mov ax,ds:colbw[si] + or ds:[di-44],ax + or ds:[di+88],ax + mov ax,ds:colbv[si] + or ds:[di-88],ax + or ds:[di+132],ax + ret +pset3: ;larger one + or ds:[di-44],ax + or ds:[di+88],ax + mov ax,ds:colbw[si] + or ds:[di-88],ax + or ds:[di+132],ax + ret +pset2 ENDP + +;±±±±±±±±±±±±±± add a letter composed of big dots to dotlist ±±±±±±±±±±±±± +letter3d PROC NEAR + ;bx=letter + ;si=basex + ;bp=basey + sub bx,'A' + jc @@0__ + shl bx,3 + mov di,ds:nextdot + mov cx,8 +@@1_______: push cx + push si + mov cx,8 +@@2__: cmp byte ptr ds:font[bx],0;;;; + je @@3 + mov ds:dots[di],si + mov ds:dots[di+2],bp + ;zsinus + push si + add si,ds:sinus1 + sar si,6 + and si,63 + mov al,ds:sintable[si] + cbw + pop si + shl ax,2 + mov ds:dots[di+4],ax + ; + mov word ptr ds:dots[di+6],OFFSET pset2 + add di,8 + and di,2047;;;;DOTNUM1*8-1 +@@3: inc bx + add si,LETTERDOTSPACING + loop @@2__ + pop si + add bx,320-8 + add bp,LETTERDOTSPACING + pop cx + loop @@1_______ + mov ds:nextdot,di +@@0__: ret +letter3d ENDP + +;±±±±±±±±±±±±±± calc 2x2 rotation matrix ±±±±±±±±±±±±± +set3drot PROC NEAR + ;ax=angle,ds:di=pointer to matrix + push ax + call sin + mov ds:[di+r01-r00],ax + neg ax + mov ds:[di+r10-r00],ax + pop ax + call cos + mov ds:[di+r00-r00],ax + mov ds:[di+r11-r00],ax + ret +set3drot ENDP + +;±±±±±±±±±±±± rotate point with 2x2 rotation matrix (innerpart) ±±±±±±±±±±±±± +rotate2x2i PROC NEAR + ;(di,bp)->(cx) with matrix half at ds:si + ;this is the inner part, called twice + push bx + mov ax,di + imul word ptr ds:[si] + mov cx,ax + mov bx,dx + mov ax,bp + imul word ptr ds:[si+2] + add cx,ax + adc bx,dx + shrd cx,bx,14 + pop bx + add si,4 + ret +rotate2x2i ENDP + +;±±±±±±±±±±±±±± advance demo one frame (raw work) ±±±±±±±±±±±±± +doit PROC NEAR +;======wait for border + setborder 0 + mov dx,3dah +@@w1: in al,dx + test al,8 + jnz @@w1 +@@w2: in al,dx + test al,8 + jz @@w2 + setborder 30 +;======done + mov si,ds:index + push si + call setpal + pop si + add si,9 + cmp si,OFFSET index4 + jbe @@i2 + mov si,OFFSET index1 +@@i2: mov ds:index,si + mov al,2 + mov ah,ds:[si+8] + mov dx,3c4h + out dx,ax + call clearcopy +;======do timer simulation stuff + setborder 28 + xor cx,cx + mov byte ptr ds:scrollsubber,0;;;; + xchg cx,ds:framecounter + jcxz @@78 +@@77: push cx + add byte ptr ds:scrollsubber,90;;;;;SCROLLSPEED + call doit70 + pop cx + loop @@77 + setborder 26 +@@78:;====== +;---redraw dots + mov cx,DOTNUM + mov bx,OFFSET dots +@@1________: push cx + push bx + mov bp,ds:[bx+2] + mov di,ds:[bx+4] + cmp word ptr ds:[bx+6],OFFSET pset2 + jne @@5 + ;ysinus + mov cx,ds:[bx] + mov si,ds:sinus2 + add si,cx + sar si,7 + and si,63 + mov al,ds:sintable[si] + cbw + shl ax,2 + add bp,ax + ;scroll + sub cx,ds:scrollsubber + mov ds:[bx],cx + cmp cx,-3900 + jl @@7_ + cmp cx,3900 + jg @@7_ +@@5: ;--rotate coordinates + mov si,OFFSET r00 + call rotate2x2i + push cx + call rotate2x2i + pop di + mov bp,ds:[bx] + mov si,OFFSET p00 + push cx + call rotate2x2i + push cx + call rotate2x2i + pop bp + pop di + ;bp=Z, cx=X, di=Y + add bp,ds:zadder + cmp bp,1024 + jl @@7_ + ;--project + mov ax,256 + imul di + idiv bp + add ax,100 + mov di,ax + mov ax,307 + imul cx + idiv bp + add ax,160 + mov si,ax + ;si=SX, di=SY + mov ax,ds:[bx+6] + cmp si,319 + ja @@7_ + cmp di,199 + ja @@7_ + ;calc dest address & xmask offset + add di,di + mov di,ds:rows[di] + add si,si + add di,ds:cols[si] + ; + call ax +@@7_: pop bx + pop cx + add bx,8 + dec cx + jnz @@1________ + ret +doit ENDP + +;±±±±±±±±±±±±±± advance demo counters 1/70 sec ±±±±±±±±±±±±± +;a separate routine is used to get frame syncronization for +;slower machines (and slow vga cards) +doit70 PROC NEAR +;---add sinuses & udforce + add byte ptr ds:sinus1,70;;;; + add byte ptr ds:sinus2,177;;;; + add word ptr ds:udforced,3000;;;; +;---set wave1 + mov bx,OFFSET wwave + mov ax,77 + call addwcos + sar ax,5 + mov ds:wave1,ax +;---set zadder + mov bx,OFFSET zwave + mov ax,370 + call addwcos + sar ax,3 + add ax,8888 + mov ds:zadder,ax +;---set 3d rotate YZ + mov bx,OFFSET udwave + mov ax,ds:wave1 + call addwcos + imul word ptr ds:udforce;;;; + shrd ax,dx,8 + mov di,OFFSET r00 + call set3drot +;---set 3d rotate XZ + mov bx,OFFSET lrwave + mov ax,200 + call addwcos + sar ax,1 + mov di,OFFSET p00 + call set3drot +;---add more text to 3d scroller + sub ds:textcnt,90;;;;SCROLLSPEED + jnc @@t1 + mov ds:textcnt,1023;;;;LETTERDOTSPACING*8-1 + mov si,ds:text + mov bl,ds:[si] + IFDEF XORTEXTS + xor bl,17h + ENDIF + and bx,255 + jz @@t3 + inc si + mov ds:text,si + cmp bl,32 + jge @@t4 + shl bx,9;;;;SCROLLDELAYSHL + mov ds:textcnt,bx + jmp @@t1 +@@t4: mov bp,0 + mov si,4100 + call letter3d + jmp @@t1 +@@t3: mov si,OFFSET text0 + mov ds:text,si +@@t1: ;;; +;======adlib music + jmp a_dorow +doit70 ENDP + +;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Main routine ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ +;stack @ cs:0fffeh + +main PROC NEAR +;ÍÍÍÍÍÍÍÍÍ Zero Zerodata & Init Segs ÍÍÍÍÍÍÍ +.8086 ;;; + push cs + push cs + pop ds + pop es + mov cx,(zeroend-zerobeg)/2 + mov di,OFFSET zerobeg + xor ax,ax ;zero used later + rep stosw + mov dx,0a000h + mov es,dx +;segments now set: DS=code/data ES=vram +;ÍÍÍÍÍÍÍÍÍ Check for 386 ÍÍÍÍÍÍÍÍÍ + push sp + pop dx + cmp dx,sp + jz @@o1 +@@o2: jmp endansi ;80(1)86 +.286p ;;; +@@o1: mov bx,OFFSET rows + sgdt ds:[bx] + cmp byte ptr ds:[bx+5],0 + js @@o2 +;ÍÍÍÍÍÍÍÍÍ Check for VGA ÍÍÍÍÍÍÍÍÍ +.386p ;;; + mov fs,ax ;ax was zero +;segments now set: DS=code/data ES=vram FS=zeropage + mov ax,1a00h + int 10h + cmp al,01ah + jne endansi ;no vga + cmp bl,7 + jb endansi ;no vga +;ÍÍÍÍÍÍÍÍÍ Initialize - doinit 0 ÍÍÍÍÍÍÍÍÍ + ;copy vga font to font buffer + mov ax,13h + int 10h + mov cx,'Z'-'A'+1 + mov bx,16 + mov ax,'A'+0eh*256 +@@a1: int 10h + inc al + loop @@a1 + mov cx,8*320/2 + mov bx,OFFSET font + xor di,di +@@a2: mov ax,es:[di] + mov ds:[di+bx],ax + add di,2 + loop @@a2 +;ÍÍÍÍÍÍÍÍÍ Initialize - vga ÍÍÍÍÍÍÍÍÍ + ;init videomode 320x200x16 + mov ax,0dh + int 10h + ;set up rows/cols/etc + mov si,-2 + mov di,OFFSET vbuf-44 + mov bl,128 + xor bp,bp + jmp @@b5 +@@b1: mov ds:rows[si],di + mov ds:colb[si],bl + mov ds:colbww[si],cx + shr cl,1 + rcr ch,1 + mov ds:colbw[si],dx + shr dl,1 + rcr dh,1 + mov ds:colbv[si],ax + shr al,1 + rcr ah,1 + mov ds:cols[si],bp + ror bl,1 + jnc @@b4 + inc bp +@@b5: mov cx,0000000011111110b + mov dx,0000000001111100b + mov ax,0000000000111000b +@@b4: add di,44 + add si,2 + cmp si,(320)*2 + jle @@b1 + ;set simplex palette order (16 color mode) + mov dx,3dah + in al,dx + mov dl,0c0h + xor ax,ax + mov cx,16 +@@b2: out dx,al + out dx,al + inc al + loop @@b2 + mov al,20h + out dx,al +;ÍÍÍÍÍÍÍÍÍ Initialize - doinit ÍÍÍÍÍÍÍÍÍ + mov cx,DOTNUM + mov bx,OFFSET dots-2 +@@c1: push cx + call rand + call rand + call rand + sar ax,2 + mov ds:[bx],ax + add bx,2 + mov word ptr ds:[bx],OFFSET pset1 + pop cx + loop @@c1 +;ÍÍÍÍÍÍÍÍÍ Initialize - others ÍÍÍÍÍÍÍÍÍ + call a_init + call inittimer +;ÍÍÍÍÍÍÍÍÍ Do the intro stuff ÍÍÍÍÍÍÍÍÍ +again: call doit + mov ah,1 + int 16h + jz again + mov ah,0 + int 16h +;ÍÍÍÍÍÍÍÍÍ DeInitialize ÍÍÍÍÍÍÍÍÍ + call deinittimer + call a_init ;reinitializing adlib shuts it up +;ÍÍÍÍÍÍÍÍÍ Display end ansi (only thing done if no 386 or vga) ÍÍÍÍÍÍÍÍÍ +endansi:mov ax,3h + int 10h + mov si,OFFSET endtext + push 0b800h ;if the user has an MGA or HGC + pop es ;it's not my problem :-) + xor di,di + mov ah,0eh +@@1__________: lodsb + IFDEF XORTEXTS + xor al,17h + ENDIF + cmp al,31 + jae @@2___ + mov ah,al + jmp @@1__________ +@@2___: jz @@3__ + stosw + jmp @@1__________ +@@3__: mov ax,4c00h + int 21h +main ENDP + +;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Initialized (nonzero) data ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ + +;pointer & delay counter for scrolltext +text dw OFFSET text0 +textcnt dw 1 + +;3d rotation values (more in zerodata) +udforced LABEL DWORD + dw 0 +udforce dw 64 +lrwave dw -20000 +zwave dw 16000 + +sintable LABEL BYTE ;sine table (circle is 64 units) +db 0,12,24,36,48,59,70,80,89,98,105,112,117,121,124,126,127,126 +db 124,121,117,112,105,98,89,80,70,59,48,36,24,12,0,-12,-24,-36 +db -48,-59,-70,-80,-89,-98,-105,-112,-117,-121,-124,-126,-127 +db -126,-124,-121,-117,-112,-105,-98,-89,-80,-70,-59,-48,-36 +db -24,-12,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54 +db 57,59,62,65,67,70 + +;adlib player data +a_inst_table LABEL BYTE + db 20h+0,20h+1,20h+2,20h+8,20h+9,20h+10,20h+16,20h+17,20h+18 +NTB equ 8192 ;+1024*1 +a_note_table LABEL WORD + dw NTB+363,NTB+385,NTB+408,NTB+432,NTB+458,NTB+485 + dw NTB+514,NTB+544,NTB+577,NTB+611,NTB+647,NTB+868 + ;note: a zero word is expected after this table (found in col0) + +col0 db 0, 0, 0 ,0 ;background color +col1 db 0,15,35 ,0 ;delay color 3 +col2 db 16,30,48 ,0 ;delay color 2 +col3 db 32,45,55 ,0 ;delay color 1 +col4 db 60,61,62 ;brightest color + ;1 . x . x . x . x . x . x . x . x + ;2 . . x x . . x x . . x x . . x x + ;4 . . . . x x x x . . . . x x x x + ;8 . . . . . . . . x x x x x x x x +;palette indices for 4 palettes. Last number is bitplane to write +;during the frame having this palette +index1 db 04h,34h,24h,34h,14h,34h,24h,34h ,1 ;1248 +index2 db 03h,23h,13h,23h,44h,44h,44h,44h ,8 ;8124 +index3 db 02h,12h,44h,44h,33h,33h,44h,44h ,4 ;4812 +index4 db 01h,44h,33h,44h,22h,44h,33h,44h ,2 ;2481 +index dw OFFSET index1 ;offset to current index + +;################## Music - (tune by skaven/fc) ################### +;generated with ST3->SIMPLEXADLIB, handoptimized by psi (283 bytes) +music_channels equ 8 +music_speed equ 8 +music_instruments LABEL BYTE +dw OFFSET ains6 +dw OFFSET ains2 +dw OFFSET ains4 +dw OFFSET ains3 +dw OFFSET ains3 +dw OFFSET ains1 +dw OFFSET ains1 +dw OFFSET ains4 +ains1 LABEL BYTE +db 65,194,6,0,35,242,240,240,1,0,4 +ains2 LABEL BYTE +db 145,64,135,128,243,111,35,3,1,1,2 +ains3 LABEL BYTE +db 225,33,17,128,17,19,34,34,0,0,12 +ains4 LABEL BYTE +db 97,33,27,0,98,132,86,85,0,0,14 +ains6 LABEL BYTE +db 145,64,135,136,243,111,35,3,1,1,2 +music_patterns LABEL BYTE +ach0 dw OFFSET ach0d,OFFSET ach0dr +ach1 dw OFFSET ach1d,OFFSET ach1dr +ach2 dw OFFSET ach2d,OFFSET ach2dr +ach3 dw OFFSET ach3d,OFFSET ach3d +ach4 dw OFFSET ach4d,OFFSET ach4d +ach5 dw OFFSET ach5d,OFFSET ach5d +ach6 dw OFFSET ach6d,OFFSET ach6d +ach7 dw OFFSET ach7d,OFFSET ach7d +ach0d LABEL BYTE +db 081h +ach0dr LABEL BYTE +db 057h,050h,050h,055h,057h,050h,055h,057h +db 050h,055h,057h,050h,055h,057h,050h,055h +db 0 +ach1d LABEL BYTE +db 081h +ach1dr LABEL BYTE +db 050h,055h,057h,050h,055h,057h,050h,055h +db 057h,050h,055h,057h,050h,055h,057h,050h +db 0 +ach2d LABEL BYTE +db 0C0h,050h,084h +db 030h,020h,030h,020h,02Ah,01Ah,02Ah,01Ah +db 030h,020h,030h,020h,02Ah,01Ah,02Ah,01Ah +ach2dr LABEL BYTE +db 030h,020h,030h,020h,02Ah,01Ah,02Ah,01Ah +db 025h,015h,025h,015h,028h,018h,02Ah,01Ah +db 0 +ach3d LABEL BYTE +db 0A0h,050h,040h,0C0h,040h,088h,040h,040h +db 03Ah,042h,090h,045h,088h,040h,042h,040h +db 047h,090h,04Ah,088h,045h,098h,040h +db 0 +ach4d LABEL BYTE +db 0A0h,050h,030h,0C0h,047h,088h,047h,043h +db 042h,045h,047h,045h,048h,047h,047h,050h +db 052h,084h,050h,04Ah,088h,050h,098h,045h +db 0 +ach5d LABEL BYTE +db 0C0h,020h,0A0h,010h,010h,090h,010h,02Ah +db 025h,088h,028h,02Ah,090h,010h,02Ah,025h +db 088h,028h,02Ah +db 0 +ach6d LABEL BYTE +db 0C0h,020h,0A0h,020h,020h,090h,020h,01Ah +db 015h,088h,018h,01Ah,090h,020h,01Ah,015h +db 088h,018h,01Ah +db 0 +ach7d LABEL BYTE +db 0C0h,00Ch,0FEh,050h,090h,00Ch,081h,04Ah +db 050h,084h,052h,055h,086h,04Ah,081h,050h +db 04Ah,086h,050h,082h,055h,098h,045h +db 0 +;######################################################### + +SCROLLSPEED equ 90 +SCROLLDELAYSHL equ 9 +LETTERDOTSPACING equ 128 + +db 0fch + +text0 LABEL BYTE ;scrolltext (numbers are delays) + db 31,25,'CALL STARPORT',9,'FUTURE CREW WORLD HQ',9,'CDN',9,'GRAVIS EURO',9,'AND MORE',0 + +endtext LABEL BYTE ;endansi... well... endansiline (numbers are colors) + db 15 + db 'StarPort' + db 3,' ÄÄ ',11 + db 'V32bis +358-0-8044626' + db ' +358-0-8041133' + db 3,' ÄÄ ',15 + db 'FC-WHQ' + db 31 +endtext1 LABEL BYTE + +db 0fch + +;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Uninitialized (zero) data ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ + +zerobeg LABEL WORD ;start zero clear from here + +rows dw 320 dup(0) ;offsets to screen rows +cols dw 320 dup(0) ;offsets to screen cols +colb db 320 dup(0,0) ;bitmasks for screen cols +colbv dw 320 dup(0) ;wide -"- +colbw dw 320 dup(0) ;wider -"- +colbww dw 320 dup(0) ;very wide -"- + +ALIGN 4 + db 44*8 dup(0) ;negative overflow for videobuffer +vbuf LABEL BYTE + db 44*200 dup(0) ;video buffer + db 44*8 dup(0) ;positive overflow for videobuffer + +ALIGN 4 +font LABEL BYTE + db 8 dup(320 dup(0)) ;font buffer + + +DOTNUM1 equ 256 ;number of dots used for text +DOTNUM equ 444 ;total number of dots +ALIGN 4 +dots LABEL WORD + dw DOTNUM dup(0,0,0,0) ;x,y,z,routine data for each dot + +;2x2 rotation matrices +r00 dw 0 +r10 dw 0 +r01 dw 0 +r11 dw 0 +p00 dw 0 +p10 dw 0 +p01 dw 0 +p11 dw 0 + +;zero initialized 3d rotation stuff +zadder dw 0 +wave1 dw 0 +udwave dw 0 +wwave dw 0 +sinus1 dw 0 +sinus2 dw 0 + +;adlib data +a_musiccnt dw 0 +a_chdelaycnt db 9 dup(0) +a_chdelay db 9 dup(0) +ALIGN 2 + +;misc +nextdot dw 0 +scrollsubber dw 0 +framecounter dw 0 +oldint8 dd 0 +seed dd 0 + +padder db 16 dup(0) +zeroend LABEL WORD ;end zero clear here + +code ENDS + END start diff --git a/16/fcsp2src/sp2.exe b/16/fcsp2src/sp2.exe new file mode 100755 index 00000000..8f344037 Binary files /dev/null and b/16/fcsp2src/sp2.exe differ diff --git a/16/fcsp2src/sp2orgi.asm b/16/fcsp2src/sp2orgi.asm new file mode 100755 index 00000000..1958f2c7 --- /dev/null +++ b/16/fcsp2src/sp2orgi.asm @@ -0,0 +1,976 @@ +;-------------------------------------------------------------------- +; StarPort Intro II V1.0 +;-------------------------------------------------------------------- +; Copyright (C) 1993 Future Crew +;-------------------------------------------------------------------- +; code: Psi +; music: Skaven +;-------------------------------------------------------------------- +; This code is released to the public domain. You can do +; whatever you like with this code, but remember, that if +; you are just planning on making another small intro by +; changing a few lines of code, be prepared to enter the +; worldwide lamers' club. However, if you are looking at +; this code in hope of learning something new, go right +; ahead. That's exactly why this source was released. +; (BTW: I don't claim there's anything new to find here, +; but it's always worth looking, right?) +;-------------------------------------------------------------------- +; The code is optimized mainly for size but also a little +; for speed. The goal was to get this little bbs intro to +; under 2K, and 1993 bytes sounded like a good size. Well, +; it wasn't easy, and there are surely places left one could +; squeeze a few extra bytes off... +; Making a small intro is not hard. Making a small intro +; with a nice feel is very hard, and you have to sacrifice +; ideas to fit the intro to the limits you have set. I had +; a lot of plans (a background piccy for example), but well, +; the size limit came first. +; I hope you enjoy my choice of size/feature ratio in this +; intro! In case you are interested, this was a three evening +; project (the last one spent testing). +;-------------------------------------------------------------------- +; You can compile this with TASM, but the resulting COM-file +; will be a lot larger than the released version. This is +; because all the zero data is included to the result. The +; released version was first compiled to a COM file, and then +; a separate postprocessing program was ran which removed all +; the zero data from the end of the file. If you are just +; experimenting, recompiling is as easy as MAKE.BAT. If you +; want to make this small again, you have to do some work as +; well, and make your own postprocessor. +;-------------------------------------------------------------------- + +BORDERS=0 ;set to 1 for visible border-timings + +code SEGMENT para public 'CODE' + ASSUME cs:code + LOCALS + .386 + +ORG 100h +start: cld ;filler to make the filesize exactly 1993 bytes + cld ;filler to make the filesize exactly 1993 bytes + jmp main + +;±±±±±±±±±±±±±±±± setborder ±±±±±±±±±±±±±±±± +;descr: debug/change border color +setborder MACRO col + IF BORDERS + push ax + push dx + mov dx,3dah + in al,dx + mov dx,3c0h + mov al,11h+32 + out dx,al + mov al,col + out dx,al + pop dx + pop ax + ENDIF + ENDM + +;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Simplex Adlib Player ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ +;this doesn't just read raw data to output to adlib like the one +;used in the last starport intro. This player really does have +;note & instrument data it reads and processes! + +;±±±±±±±±±±±±±±±± output data to adlib ±±±±±±±±±±±±±± +a_lodsboutaw03: ;size optimization related entry (instrument loading) + call a_lodsboutaw + add ah,3 +a_lodsboutaw: ;size optimization related entry (instrument loading) + lodsb +a_outaw PROC NEAR ;ah=reg,al=data + push ax + push cx + xchg al,ah + mov dx,388h + out dx,al + mov cx,7 + call a_wait + mov dx,389h + mov al,ah + out dx,al + mov cx,30 + call a_wait + pop cx + pop ax + ret +a_wait: in al,dx + loop a_wait + ret +a_outaw ENDP + +;±±±±±±±±±±±±±±±± load instrument to adlib ±±±±±±±±±±±±±± +a_loadinstrument PROC NEAR + ;bx=channel, ds:si=offset to instrument data + mov ah,ds:a_inst_table[bx] + mov cx,4 +@@1: call a_lodsboutaw03 + add ah,20h-3 + loop @@1 + add ah,40h + call a_lodsboutaw03 + mov ah,bl + add ah,0c0h + jmp a_lodsboutaw +a_loadinstrument ENDP + +;±±±±±±±±±±±±±±±± set note on/off ±±±±±±±±±±±±±± +a_playnote PROC NEAR + ;bx=channel, ax=data + push bx + xchg ah,bl + add ah,0a0h + call a_outaw + mov al,bl + add ah,010h + pop bx + jmp a_outaw +a_playnote ENDP + +;±±±±±±±±±±±±±±±± initialize/clear/shutup adlib ±±±±±±±±±±±±±± +a_init PROC NEAR + mov ax,00120h + call a_outaw + mov ax,00800h + call a_outaw + mov ah,0bdh + call a_outaw + mov bp,9 + xor bx,bx + mov di,OFFSET music_instruments +@@1: mov si,ds:[di] + add di,2 + call a_loadinstrument + xor ax,ax + call a_playnote + inc bx + dec bp + jnz @@1 + ret +a_init ENDP + +;±±±±±±±±±±±±±±±± advance music one row ±±±±±±±±±±±±±± +a_dorow PROC NEAR + sub ds:a_musiccnt,1 + jnc @@0 + mov ds:a_musiccnt,music_speed + mov cx,music_channels + mov di,OFFSET music_patterns + xor bx,bx +@@1: sub ds:a_chdelaycnt[bx],1 + jns @@2 + mov si,ds:[di] + xor ax,ax + call a_playnote +@@4: lodsb + or al,al + jz @@7 + jns @@6 + sub al,81h + mov ds:a_chdelay[bx],al + lodsb +@@6: mov dl,al + and ax,15 + mov bp,ax + add bp,bp + mov ax,ds:a_note_table[bp] + shr dl,2 + and dl,not 3 + add ah,dl + call a_playnote + mov al,ds:a_chdelay[bx] + mov ds:a_chdelaycnt[bx],al + mov ds:[di],si +@@2: add di,4 + inc bx + loop @@1 +@@0: ret +@@7: mov si,ds:[di+2] + jmp @@4 +a_dorow ENDP + +;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Intro Routines ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ + +;±±±±±±±±±±±±±±±± sin/cos ±±±±±±±±±±±±±±±± +;entry: ax=angle (0..65535) +; exit: ax=muller (-127..127) +addwcos:add ax,ds:[bx] ;optimized entry for wavesets + mov ds:[bx],ax +cos: add ax,16384 +sin: mov bx,ax + mov cx,bx + and cx,1023 + neg cx + add cx,1023 + shr bx,10 + mov ah,ds:sintable[bx] + xor al,al + imul cx + push ax + push dx + mov ah,ds:sintable[bx+1] + xor al,al + neg cx + add cx,1023 + imul cx + pop bx + pop cx + add ax,cx + adc dx,bx + shrd ax,dx,11 + ret + +;±±±±±±±±±±±±±±±± rand ±±±±±±±±±±±±±±±± +;returns a random value in range -4096..4095 +rand PROC NEAR + mov eax,1107030247 + mul ds:seed + add eax,97177 + mov ds:seed,eax + shr eax,15 + and ax,8191 + sub ax,4096 +;size optimizatin, some code moved from after all rand calls + add bx,2 + mov ds:[bx],ax + ret +rand ENDP + +;±±±±±±±±±±±±±±±± timer ±±±±±±±±±±±±±±±± +inittimer PROC NEAR + mov eax,fs:[8*4] + mov ds:oldint8,eax + mov ax,cs + shl eax,16 + mov ax,OFFSET intti8 + mov dx,17000 ;70hz + jmp @@1 +deinittimer: + mov eax,ds:oldint8 + xor dx,dx +@@1: cli + mov fs:[8*4],eax + mov al,036h + out 43h,al + mov al,dl + out 40h,al + mov al,dh + out 40h,al + sti + ret +inittimer ENDP + +intti8 PROC FAR ;timer interrupt + push ax + mov al,20h + out 20h,al + inc cs:framecounter + pop ax + iret +intti8 ENDP + +;±±±±±±±±±±±±±±±± load indexed palette ±±±±±±±±±±±±±± +setpal PROC NEAR + ;ds:si=pointer to colorindices + mov dx,3c8h + xor al,al + out dx,al + inc dx + mov cx,8 +@@1: xor bh,bh + mov bl,ds:[si] + shr bl,2 + call setpl2 + mov bl,ds:[si] + shl bx,2 + call setpl2 + inc si + loop @@1 + ret +setpl2: and bx,15*2 + mov ax,word ptr ds:col0[bx] + out dx,al + mov al,ah + out dx,al + mov al,ds:col0[bx+2] + out dx,al + ret +setpal ENDP + +;±±±±±±±±±±±±±± clear & copy videobuffer to screen ±±±±±±±±±±±±±± +clearcopy PROC NEAR +;---copy/clear buf + xor edx,edx + mov si,OFFSET vbuf + mov bx,4 + mov cx,200 + mov di,-4 +@@1: mov bp,5 +@@2: REPT 2 + mov eax,ds:[si] + add di,bx + mov ds:[si],edx + add si,bx + mov es:[di],eax + ENDM + dec bp + jnz @@2 + add si,bx + dec cx + jnz @@1 + ret +clearcopy ENDP + +;±±±±±±±±±±±±±± draw a small pixel ±±±±±±±±±±±±±± +pset1 PROC NEAR ;ds:di=destination center, si=xmask offset + mov al,ds:colb[si] + or ds:[di],al +@@1: ret +pset1 ENDP + +;±±±±±±±±±±±±±± draw a big pixel (depending on Z) ±±±±±±±±±±±±± +pset2 PROC NEAR ;ds:di=destination center, si=xmask offset + mov ax,ds:colbww[si] + or ds:[di+0],ax + or ds:[di+44],ax + cmp bp,8300 ;zcompare for size + jl pset3 + ;smaller one + mov ax,ds:colbw[si] + or ds:[di-44],ax + or ds:[di+88],ax + mov ax,ds:colbv[si] + or ds:[di-88],ax + or ds:[di+132],ax + ret +pset3: ;larger one + or ds:[di-44],ax + or ds:[di+88],ax + mov ax,ds:colbw[si] + or ds:[di-88],ax + or ds:[di+132],ax + ret +pset2 ENDP + +;±±±±±±±±±±±±±± add a letter composed of big dots to dotlist ±±±±±±±±±±±±± +letter3d PROC NEAR + ;bx=letter + ;si=basex + ;bp=basey + sub bx,'A' + jc @@0 + shl bx,3 + mov di,ds:nextdot + mov cx,8 +@@1: push cx + push si + mov cx,8 +@@2: cmp ds:font[bx],0 + je @@3 + mov ds:dots[di],si + mov ds:dots[di+2],bp + ;zsinus + push si + add si,ds:sinus1 + sar si,6 + and si,63 + mov al,ds:sintable[si] + cbw + pop si + shl ax,2 + mov ds:dots[di+4],ax + ; + mov word ptr ds:dots[di+6],OFFSET pset2 + add di,8 + and di,DOTNUM1*8-1 +@@3: inc bx + add si,LETTERDOTSPACING + loop @@2 + pop si + add bx,320-8 + add bp,LETTERDOTSPACING + pop cx + loop @@1 + mov ds:nextdot,di +@@0: ret +letter3d ENDP + +;±±±±±±±±±±±±±± calc 2x2 rotation matrix ±±±±±±±±±±±±± +set3drot PROC NEAR + ;ax=angle,ds:di=pointer to matrix + push ax + call sin + mov ds:[di+r01-r00],ax + neg ax + mov ds:[di+r10-r00],ax + pop ax + call cos + mov ds:[di+r00-r00],ax + mov ds:[di+r11-r00],ax + ret +set3drot ENDP + +;±±±±±±±±±±±± rotate point with 2x2 rotation matrix (innerpart) ±±±±±±±±±±±±± +rotate2x2i PROC NEAR + ;(di,bp)->(cx) with matrix half at ds:si + ;this is the inner part, called twice + push bx + mov ax,di + imul word ptr ds:[si] + mov cx,ax + mov bx,dx + mov ax,bp + imul word ptr ds:[si+2] + add cx,ax + adc bx,dx + shrd cx,bx,14 + pop bx + add si,4 + ret +rotate2x2i ENDP + +;±±±±±±±±±±±±±± advance demo one frame (raw work) ±±±±±±±±±±±±± +doit PROC NEAR +;======wait for border + setborder 0 + mov dx,3dah +@@w1: in al,dx + test al,8 + jnz @@w1 +@@w2: in al,dx + test al,8 + jz @@w2 + setborder 30 +;======done + mov si,ds:index + push si + call setpal + pop si + add si,9 + cmp si,OFFSET index4 + jbe @@i2 + mov si,OFFSET index1 +@@i2: mov ds:index,si + mov al,2 + mov ah,ds:[si+8] + mov dx,3c4h + out dx,ax + call clearcopy +;======do timer simulation stuff + setborder 28 + xor cx,cx + mov ds:scrollsubber,0 + xchg cx,ds:framecounter + jcxz @@78 +@@77: push cx + add ds:scrollsubber,SCROLLSPEED + call doit70 + pop cx + loop @@77 + setborder 26 +@@78:;====== +;---redraw dots + mov cx,DOTNUM + mov bx,OFFSET dots +@@1: push cx + push bx + mov bp,ds:[bx+2] + mov di,ds:[bx+4] + cmp word ptr ds:[bx+6],OFFSET pset2 + jne @@5 + ;ysinus + mov cx,ds:[bx] + mov si,ds:sinus2 + add si,cx + sar si,7 + and si,63 + mov al,ds:sintable[si] + cbw + shl ax,2 + add bp,ax + ;scroll + sub cx,ds:scrollsubber + mov ds:[bx],cx + cmp cx,-3900 + jl @@7 + cmp cx,3900 + jg @@7 +@@5: ;--rotate coordinates + mov si,OFFSET r00 + call rotate2x2i + push cx + call rotate2x2i + pop di + mov bp,ds:[bx] + mov si,OFFSET p00 + push cx + call rotate2x2i + push cx + call rotate2x2i + pop bp + pop di + ;bp=Z, cx=X, di=Y + add bp,ds:zadder + cmp bp,1024 + jl @@7 + ;--project + mov ax,256 + imul di + idiv bp + add ax,100 + mov di,ax + mov ax,307 + imul cx + idiv bp + add ax,160 + mov si,ax + ;si=SX, di=SY + mov ax,ds:[bx+6] + cmp si,319 + ja @@7 + cmp di,199 + ja @@7 + ;calc dest address & xmask offset + add di,di + mov di,ds:rows[di] + add si,si + add di,ds:cols[si] + ; + call ax +@@7: pop bx + pop cx + add bx,8 + dec cx + jnz @@1 + ret +doit ENDP + +;±±±±±±±±±±±±±± advance demo counters 1/70 sec ±±±±±±±±±±±±± +;a separate routine is used to get frame syncronization for +;slower machines (and slow vga cards) +doit70 PROC NEAR +;---add sinuses & udforce + add ds:sinus1,70 + add ds:sinus2,177 + add ds:udforced,3000 +;---set wave1 + mov bx,OFFSET wwave + mov ax,77 + call addwcos + sar ax,5 + mov ds:wave1,ax +;---set zadder + mov bx,OFFSET zwave + mov ax,370 + call addwcos + sar ax,3 + add ax,8888 + mov ds:zadder,ax +;---set 3d rotate YZ + mov bx,OFFSET udwave + mov ax,ds:wave1 + call addwcos + imul ds:udforce + shrd ax,dx,8 + mov di,OFFSET r00 + call set3drot +;---set 3d rotate XZ + mov bx,OFFSET lrwave + mov ax,200 + call addwcos + sar ax,1 + mov di,OFFSET p00 + call set3drot +;---add more text to 3d scroller + sub ds:textcnt,SCROLLSPEED + jnc @@t1 + mov ds:textcnt,LETTERDOTSPACING*8-1 + mov si,ds:text + mov bl,ds:[si] + IFDEF XORTEXTS + xor bl,17h + ENDIF + and bx,255 + jz @@t3 + inc si + mov ds:text,si + cmp bl,32 + jge @@t4 + shl bx,SCROLLDELAYSHL + mov ds:textcnt,bx + jmp @@t1 +@@t4: mov bp,0 + mov si,4100 + call letter3d + jmp @@t1 +@@t3: mov si,OFFSET text0 + mov ds:text,si +@@t1: ;;; +;======adlib music + jmp a_dorow +doit70 ENDP + +;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Main routine ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ +;stack @ cs:0fffeh + +main PROC NEAR +;ÍÍÍÍÍÍÍÍÍ Zero Zerodata & Init Segs ÍÍÍÍÍÍÍ +.8086 ;;; + push cs + push cs + pop ds + pop es + mov cx,(zeroend-zerobeg)/2 + mov di,OFFSET zerobeg + xor ax,ax ;zero used later + rep stosw + mov dx,0a000h + mov es,dx +;segments now set: DS=code/data ES=vram +;ÍÍÍÍÍÍÍÍÍ Check for 386 ÍÍÍÍÍÍÍÍÍ + push sp + pop dx + cmp dx,sp + jz @@o1 +@@o2: jmp endansi ;80(1)86 +.286p ;;; +@@o1: mov bx,OFFSET rows + sgdt ds:[bx] + cmp byte ptr ds:[bx+5],0 + js @@o2 +;ÍÍÍÍÍÍÍÍÍ Check for VGA ÍÍÍÍÍÍÍÍÍ +.386p ;;; + mov fs,ax ;ax was zero +;segments now set: DS=code/data ES=vram FS=zeropage + mov ax,1a00h + int 10h + cmp al,01ah + jne endansi ;no vga + cmp bl,7 + jb endansi ;no vga +;ÍÍÍÍÍÍÍÍÍ Initialize - doinit 0 ÍÍÍÍÍÍÍÍÍ + ;copy vga font to font buffer + mov ax,13h + int 10h + mov cx,'Z'-'A'+1 + mov bx,16 + mov ax,'A'+0eh*256 +@@a1: int 10h + inc al + loop @@a1 + mov cx,8*320/2 + mov bx,OFFSET font + xor di,di +@@a2: mov ax,es:[di] + mov ds:[di+bx],ax + add di,2 + loop @@a2 +;ÍÍÍÍÍÍÍÍÍ Initialize - vga ÍÍÍÍÍÍÍÍÍ + ;init videomode 320x200x16 + mov ax,0dh + int 10h + ;set up rows/cols/etc + mov si,-2 + mov di,OFFSET vbuf-44 + mov bl,128 + xor bp,bp + jmp @@b5 +@@b1: mov ds:rows[si],di + mov ds:colb[si],bl + mov ds:colbww[si],cx + shr cl,1 + rcr ch,1 + mov ds:colbw[si],dx + shr dl,1 + rcr dh,1 + mov ds:colbv[si],ax + shr al,1 + rcr ah,1 + mov ds:cols[si],bp + ror bl,1 + jnc @@b4 + inc bp +@@b5: mov cx,0000000011111110b + mov dx,0000000001111100b + mov ax,0000000000111000b +@@b4: add di,44 + add si,2 + cmp si,(320)*2 + jle @@b1 + ;set simplex palette order (16 color mode) + mov dx,3dah + in al,dx + mov dl,0c0h + xor ax,ax + mov cx,16 +@@b2: out dx,al + out dx,al + inc al + loop @@b2 + mov al,20h + out dx,al +;ÍÍÍÍÍÍÍÍÍ Initialize - doinit ÍÍÍÍÍÍÍÍÍ + mov cx,DOTNUM + mov bx,OFFSET dots-2 +@@c1: push cx + call rand + call rand + call rand + sar ax,2 + mov ds:[bx],ax + add bx,2 + mov word ptr ds:[bx],OFFSET pset1 + pop cx + loop @@c1 +;ÍÍÍÍÍÍÍÍÍ Initialize - others ÍÍÍÍÍÍÍÍÍ + call a_init + call inittimer +;ÍÍÍÍÍÍÍÍÍ Do the intro stuff ÍÍÍÍÍÍÍÍÍ +again: call doit + mov ah,1 + int 16h + jz again + mov ah,0 + int 16h +;ÍÍÍÍÍÍÍÍÍ DeInitialize ÍÍÍÍÍÍÍÍÍ + call deinittimer + call a_init ;reinitializing adlib shuts it up +;ÍÍÍÍÍÍÍÍÍ Display end ansi (only thing done if no 386 or vga) ÍÍÍÍÍÍÍÍÍ +endansi:mov ax,3h + int 10h + mov si,OFFSET endtext + push 0b800h ;if the user has an MGA or HGC + pop es ;it's not my problem :-) + xor di,di + mov ah,0eh +@@1: lodsb + IFDEF XORTEXTS + xor al,17h + ENDIF + cmp al,31 + jae @@2 + mov ah,al + jmp @@1 +@@2: jz @@3 + stosw + jmp @@1 +@@3: mov ax,4c00h + int 21h +main ENDP + +;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Initialized (nonzero) data ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ + +;pointer & delay counter for scrolltext +text dw OFFSET text0 +textcnt dw 1 + +;3d rotation values (more in zerodata) +udforced LABEL DWORD + dw 0 +udforce dw 64 +lrwave dw -20000 +zwave dw 16000 + +sintable LABEL BYTE ;sine table (circle is 64 units) +db 0,12,24,36,48,59,70,80,89,98,105,112,117,121,124,126,127,126 +db 124,121,117,112,105,98,89,80,70,59,48,36,24,12,0,-12,-24,-36 +db -48,-59,-70,-80,-89,-98,-105,-112,-117,-121,-124,-126,-127 +db -126,-124,-121,-117,-112,-105,-98,-89,-80,-70,-59,-48,-36 +db -24,-12,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54 +db 57,59,62,65,67,70 + +;adlib player data +a_inst_table LABEL BYTE + db 20h+0,20h+1,20h+2,20h+8,20h+9,20h+10,20h+16,20h+17,20h+18 +NTB equ 8192 ;+1024*1 +a_note_table LABEL WORD + dw NTB+363,NTB+385,NTB+408,NTB+432,NTB+458,NTB+485 + dw NTB+514,NTB+544,NTB+577,NTB+611,NTB+647,NTB+868 + ;note: a zero word is expected after this table (found in col0) + +col0 db 0, 0, 0 ,0 ;background color +col1 db 0,15,35 ,0 ;delay color 3 +col2 db 16,30,48 ,0 ;delay color 2 +col3 db 32,45,55 ,0 ;delay color 1 +col4 db 60,61,62 ;brightest color + ;1 . x . x . x . x . x . x . x . x + ;2 . . x x . . x x . . x x . . x x + ;4 . . . . x x x x . . . . x x x x + ;8 . . . . . . . . x x x x x x x x +;palette indices for 4 palettes. Last number is bitplane to write +;during the frame having this palette +index1 db 04h,34h,24h,34h,14h,34h,24h,34h ,1 ;1248 +index2 db 03h,23h,13h,23h,44h,44h,44h,44h ,8 ;8124 +index3 db 02h,12h,44h,44h,33h,33h,44h,44h ,4 ;4812 +index4 db 01h,44h,33h,44h,22h,44h,33h,44h ,2 ;2481 +index dw OFFSET index1 ;offset to current index + +;################## Music - (tune by skaven/fc) ################### +;generated with ST3->SIMPLEXADLIB, handoptimized by psi (283 bytes) +music_channels equ 8 +music_speed equ 8 +music_instruments LABEL BYTE +dw OFFSET ains6 +dw OFFSET ains2 +dw OFFSET ains4 +dw OFFSET ains3 +dw OFFSET ains3 +dw OFFSET ains1 +dw OFFSET ains1 +dw OFFSET ains4 +ains1 LABEL BYTE +db 65,194,6,0,35,242,240,240,1,0,4 +ains2 LABEL BYTE +db 145,64,135,128,243,111,35,3,1,1,2 +ains3 LABEL BYTE +db 225,33,17,128,17,19,34,34,0,0,12 +ains4 LABEL BYTE +db 97,33,27,0,98,132,86,85,0,0,14 +ains6 LABEL BYTE +db 145,64,135,136,243,111,35,3,1,1,2 +music_patterns LABEL BYTE +ach0 dw OFFSET ach0d,OFFSET ach0dr +ach1 dw OFFSET ach1d,OFFSET ach1dr +ach2 dw OFFSET ach2d,OFFSET ach2dr +ach3 dw OFFSET ach3d,OFFSET ach3d +ach4 dw OFFSET ach4d,OFFSET ach4d +ach5 dw OFFSET ach5d,OFFSET ach5d +ach6 dw OFFSET ach6d,OFFSET ach6d +ach7 dw OFFSET ach7d,OFFSET ach7d +ach0d LABEL BYTE +db 081h +ach0dr LABEL BYTE +db 057h,050h,050h,055h,057h,050h,055h,057h +db 050h,055h,057h,050h,055h,057h,050h,055h +db 0 +ach1d LABEL BYTE +db 081h +ach1dr LABEL BYTE +db 050h,055h,057h,050h,055h,057h,050h,055h +db 057h,050h,055h,057h,050h,055h,057h,050h +db 0 +ach2d LABEL BYTE +db 0C0h,050h,084h +db 030h,020h,030h,020h,02Ah,01Ah,02Ah,01Ah +db 030h,020h,030h,020h,02Ah,01Ah,02Ah,01Ah +ach2dr LABEL BYTE +db 030h,020h,030h,020h,02Ah,01Ah,02Ah,01Ah +db 025h,015h,025h,015h,028h,018h,02Ah,01Ah +db 0 +ach3d LABEL BYTE +db 0A0h,050h,040h,0C0h,040h,088h,040h,040h +db 03Ah,042h,090h,045h,088h,040h,042h,040h +db 047h,090h,04Ah,088h,045h,098h,040h +db 0 +ach4d LABEL BYTE +db 0A0h,050h,030h,0C0h,047h,088h,047h,043h +db 042h,045h,047h,045h,048h,047h,047h,050h +db 052h,084h,050h,04Ah,088h,050h,098h,045h +db 0 +ach5d LABEL BYTE +db 0C0h,020h,0A0h,010h,010h,090h,010h,02Ah +db 025h,088h,028h,02Ah,090h,010h,02Ah,025h +db 088h,028h,02Ah +db 0 +ach6d LABEL BYTE +db 0C0h,020h,0A0h,020h,020h,090h,020h,01Ah +db 015h,088h,018h,01Ah,090h,020h,01Ah,015h +db 088h,018h,01Ah +db 0 +ach7d LABEL BYTE +db 0C0h,00Ch,0FEh,050h,090h,00Ch,081h,04Ah +db 050h,084h,052h,055h,086h,04Ah,081h,050h +db 04Ah,086h,050h,082h,055h,098h,045h +db 0 +;######################################################### + +SCROLLSPEED equ 90 +SCROLLDELAYSHL equ 9 +LETTERDOTSPACING equ 128 + +db 0fch + +text0 LABEL BYTE ;scrolltext (numbers are delays) + db 31,25,'CALL STARPORT',9,'FUTURE CREW WORLD HQ',9,'CDN',9,'GRAVIS EURO',9,'AND MORE',0 + +endtext LABEL BYTE ;endansi... well... endansiline (numbers are colors) + db 15 + db 'StarPort' + db 3,' ÄÄ ',11 + db 'V32bis +358-0-8044626' + db ' +358-0-8041133' + db 3,' ÄÄ ',15 + db 'FC-WHQ' + db 31 +endtext1 LABEL BYTE + +db 0fch + +;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Uninitialized (zero) data ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ + +zerobeg LABEL WORD ;start zero clear from here + +rows dw 320 dup(0) ;offsets to screen rows +cols dw 320 dup(0) ;offsets to screen cols +colb db 320 dup(0,0) ;bitmasks for screen cols +colbv dw 320 dup(0) ;wide -"- +colbw dw 320 dup(0) ;wider -"- +colbww dw 320 dup(0) ;very wide -"- + +ALIGN 4 + db 44*8 dup(0) ;negative overflow for videobuffer +vbuf LABEL BYTE + db 44*200 dup(0) ;video buffer + db 44*8 dup(0) ;positive overflow for videobuffer + +ALIGN 4 +font LABEL BYTE + db 8 dup(320 dup(0)) ;font buffer + + +DOTNUM1 equ 256 ;number of dots used for text +DOTNUM equ 444 ;total number of dots +ALIGN 4 +dots LABEL WORD + dw DOTNUM dup(0,0,0,0) ;x,y,z,routine data for each dot + +;2x2 rotation matrices +r00 dw 0 +r10 dw 0 +r01 dw 0 +r11 dw 0 +p00 dw 0 +p10 dw 0 +p01 dw 0 +p11 dw 0 + +;zero initialized 3d rotation stuff +zadder dw 0 +wave1 dw 0 +udwave dw 0 +wwave dw 0 +sinus1 dw 0 +sinus2 dw 0 + +;adlib data +a_musiccnt dw 0 +a_chdelaycnt db 9 dup(0) +a_chdelay db 9 dup(0) +ALIGN 2 + +;misc +nextdot dw 0 +scrollsubber dw 0 +framecounter dw 0 +oldint8 dd 0 +seed dd 0 + +padder db 16 dup(0) +zeroend LABEL WORD ;end zero clear here + +code ENDS + END start diff --git a/16/fcsp2src/sp2orgi.eri b/16/fcsp2src/sp2orgi.eri new file mode 100755 index 00000000..d8717edb --- /dev/null +++ b/16/fcsp2src/sp2orgi.eri @@ -0,0 +1,13 @@ +sp2orgi.asm(158): Warning! W095: size not specified -- BYTE PTR is assumed +sp2orgi.asm(160): Error! E040: Invalid instruction operands +sp2orgi.asm(271): Error! E040: Invalid instruction operands +sp2orgi.asm(389): Error! E077: A constant operand is expected in multiplication +sp2orgi.asm(466): Warning! W095: size not specified -- BYTE PTR is assumed +sp2orgi.asm(470): Error! E040: Invalid instruction operands +sp2orgi.asm(557): Warning! W095: size not specified -- BYTE PTR is assumed +sp2orgi.asm(558): Warning! W095: size not specified -- BYTE PTR is assumed +sp2orgi.asm(559): Warning! W096: size not specified -- WORD PTR is assumed +sp2orgi.asm(577): Error! E040: Invalid instruction operands +sp2orgi.asm(589): Error! E040: Invalid instruction operands +sp2orgi.asm(591): Error! E077: A constant operand is expected in multiplication +sp2orgi.asm(603): Error! E040: Invalid instruction operands diff --git a/16/fcsp2src/sp2ow.asm b/16/fcsp2src/sp2ow.asm new file mode 100755 index 00000000..0d0c0f4a --- /dev/null +++ b/16/fcsp2src/sp2ow.asm @@ -0,0 +1,10916 @@ +.387 +code SEGMENT PARA PUBLIC USE16 'CODE' + ASSUME CS:code, DS:DGROUP, SS:DGROUP + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + cld + cld + jmp near ptr L$54 +L$1: + call near ptr L$2 + add ah,3 +L$2: + lodsb +L$3: + push ax + push cx + xchg ah,al + mov dx,388H + out dx,al + mov cx,7 + call near ptr L$4 + mov dx,389H + mov al,ah + out dx,al + mov cx,1eH + call near ptr L$4 + pop cx + pop ax + ret +L$4: + in al,dx + loop L$4 + ret +L$5: + mov ah,byte ptr L$77[bx] + mov cx,4 +L$6: + call near ptr L$1 + add ah,1dH + loop L$6 + add ah,40H + call near ptr L$1 + mov ah,bl + add ah,0c0H + jmp L$2 +L$7: + push bx + xchg bl,ah + add ah,0a0H + call near ptr L$3 + mov al,bl + add ah,10H + pop bx + jmp L$3 +L$8: + mov ax,120H + call near ptr L$3 + mov ax,800H + call near ptr L$3 + mov ah,0bdH + call near ptr L$3 + mov bp,9 + xor bx,bx + mov di,offset L$88 +L$9: + mov si,word ptr [di] + add di,2 + call near ptr L$5 + xor ax,ax + call near ptr L$7 + inc bx + dec bp + jne L$9 + ret +L$10: + sub word ptr L$133,1 + jae L$15 + mov word ptr L$133,8 + mov cx,8 + mov di,offset L$94 + xor bx,bx +L$11: + sub byte ptr L$134[bx],1 + jns L$14 + mov si,word ptr [di] + xor ax,ax + call near ptr L$7 +L$12: + lodsb + or al,al + je L$16 + jns L$13 + sub al,81H + mov byte ptr L$135[bx],al + lodsb +L$13: + mov dl,al + and ax,0fH + mov bp,ax + add bp,bp + mov ax,word ptr ds:L$78[bp] + shr dl,2 + and dl,0fcH + add ah,dl + call near ptr L$7 + mov al,byte ptr L$135[bx] + mov byte ptr L$134[bx],al + mov word ptr [di],si +L$14: + add di,4 + inc bx + loop L$11 +L$15: + ret +L$16: + mov si,word ptr 2[di] + jmp L$12 +L$17: + add ax,word ptr [bx] + mov word ptr [bx],ax +L$18: + add ax,4000H +L$19: + mov bx,ax + mov cx,bx + and cx,3ffH + neg cx + add cx,3ffH + shr bx,0aH + mov ah,byte ptr L$75[bx] + xor al,al + imul cx + push ax + push dx + mov ah,byte ptr L$76[bx] + xor al,al + neg cx + add cx,3ffH + imul cx + pop bx + pop cx + add ax,cx + adc dx,bx + shrd ax,dx,0bH + ret +L$20: + mov eax,41fbf0e7H + mul dword ptr L$140 + add eax,17b99H + mov dword ptr L$140,eax + shr eax,0fH + and ax,1fffH + sub ax,1000H + add bx,2 + mov word ptr [bx],ax + ret +L$21: + mov eax,dword ptr fs:[20H] + mov dword ptr L$139,eax + mov ax,cs + shl eax,10H + mov ax,offset L$24 + mov dx,4268H + jmp L$23 +L$22: + mov eax,dword ptr L$139 + xor dx,dx +L$23: + cli + mov dword ptr fs:[20H],eax + mov al,36H + out 43H,al + mov al,dl + out 40H,al + mov al,dh + out 40H,al + sti + ret +L$24: + push ax + mov al,20H + out 20H,al + inc word ptr cs:L$138 + pop ax + iret +L$25: + mov dx,3c8H + xor al,al + out dx,al + inc dx + mov cx,8 +L$26: + xor bh,bh + mov bl,byte ptr [si] + shr bl,2 + call near ptr L$27 + mov bl,byte ptr [si] + shl bx,2 + call near ptr L$27 + inc si + loop L$26 + ret +L$27: + and bx,1eH + mov ax,word ptr L$79[bx] + out dx,al + mov al,ah + out dx,al + mov al,byte ptr L$80[bx] + out dx,al + ret +L$28: + xor edx,edx + mov si,offset L$118 + mov bx,4 + mov cx,0c8H + mov di,0fffcH +L$29: + mov bp,5 +L$30: + mov eax,dword ptr [si] + add di,bx + mov dword ptr [si],edx + add si,bx + mov dword ptr es:[di],eax + mov eax,dword ptr [si] + add di,bx + mov dword ptr [si],edx + add si,bx + mov dword ptr es:[di],eax + dec bp + jne L$30 + add si,bx + dec cx + jne L$29 + ret +L$31: + mov al,byte ptr L$113[si] + or byte ptr [di],al + ret +L$32: + mov ax,word ptr L$116[si] + or word ptr [di],ax + or word ptr 2cH[di],ax + cmp bp,206cH + jl L$33 + mov ax,word ptr L$115[si] + or word ptr -2cH[di],ax + or word ptr 58H[di],ax + mov ax,word ptr L$114[si] + or word ptr -58H[di],ax + or word ptr 84H[di],ax + ret +L$33: + or word ptr -2cH[di],ax + or word ptr 58H[di],ax + mov ax,word ptr L$115[si] + or word ptr -58H[di],ax + or word ptr 84H[di],ax + ret +L$34: + sub bx,41H + jb L$38 + shl bx,3 + mov di,word ptr L$136 + mov cx,8 +L$35: + push cx + push si + mov cx,8 +L$36: + cmp byte ptr L$119[bx],0 + je L$37 + mov word ptr L$121[di],si + mov word ptr L$122[di],bp + push si + add si,word ptr L$131 + sar si,6 + and si,3fH + mov al,byte ptr L$75[si] + cbw + pop si + shl ax,2 + mov word ptr L$123[di],ax + mov word ptr L$124[di],offset L$32 + add di,8 + and di,7ffH +L$37: + inc bx + add si,80H + loop L$36 + pop si + add bx,138H + add bp,80H + pop cx + loop L$35 + mov word ptr L$136,di +L$38: + ret +L$39: + push ax + call near ptr L$19 + mov word ptr 4[di],ax + neg ax + mov word ptr 2[di],ax + pop ax + call near ptr L$18 + mov word ptr [di],ax + mov word ptr 6[di],ax + ret +L$40: + push bx + mov ax,di + imul word ptr [si] + mov cx,ax + mov bx,dx + mov ax,bp + imul word ptr 2[si] + add cx,ax + adc bx,dx + shrd cx,bx,0eH + pop bx + add si,4 + ret +L$41: + mov dx,3daH +L$42: + in al,dx + test al,8 + jne L$42 +L$43: + in al,dx + test al,8 + je L$43 + mov si,word ptr L$87 + push si + call near ptr L$25 + pop si + add si,9 + cmp si,offset L$86 + jbe L$44 + mov si,offset L$83 +L$44: + mov word ptr L$87,si + mov al,2 + mov ah,byte ptr 8[si] + mov dx,3c4H + out dx,ax + call near ptr L$28 + xor cx,cx + mov word ptr L$137,0 + xchg word ptr L$138,cx + jcxz L$46 +L$45: + push cx + add word ptr L$137,5aH + call near ptr L$50 + pop cx + loop L$45 +L$46: + mov cx,1bcH + mov bx,offset L$121 +L$47: + push cx + push bx + mov bp,word ptr 2[bx] + mov di,word ptr 4[bx] + cmp word ptr 6[bx],offset L$32 + jne L$48 + mov cx,word ptr [bx] + mov si,word ptr L$132 + add si,cx + sar si,7 + and si,3fH + mov al,byte ptr L$75[si] + cbw + shl ax,2 + add bp,ax + sub cx,word ptr L$137 + mov word ptr [bx],cx + cmp cx,0f0c4H + jl L$49 + cmp cx,0f3cH + jg L$49 +L$48: + mov si,offset L$125 + call near ptr L$40 + push cx + call near ptr L$40 + pop di + mov bp,word ptr [bx] + mov si,offset L$126 + push cx + call near ptr L$40 + push cx + call near ptr L$40 + pop bp + pop di + add bp,word ptr L$127 + cmp bp,400H + jl L$49 + mov ax,100H + imul di + idiv bp + add ax,64H + mov di,ax + mov ax,133H + imul cx + idiv bp + add ax,0a0H + mov si,ax + mov ax,word ptr 6[bx] + cmp si,13fH + ja L$49 + cmp di,0c7H + ja L$49 + add di,di + mov di,word ptr L$108[di] + add si,si + add di,word ptr L$112[si] + call ax +L$49: + pop bx + pop cx + add bx,8 + dec cx + jne L$47 + ret +L$50: + add word ptr L$131,46H + add word ptr L$132,0b1H + add dword ptr L$71,0bb8H + mov bx,offset L$130 + mov ax,4dH + call near ptr L$17 + sar ax,5 + mov word ptr L$128,ax + mov bx,offset L$74 + mov ax,172H + call near ptr L$17 + sar ax,3 + add ax,22b8H + mov word ptr L$127,ax + mov bx,offset L$129 + mov ax,word ptr L$128 + call near ptr L$17 + imul word ptr L$72 + shrd ax,dx,8 + mov di,offset L$125 + call near ptr L$39 + mov bx,offset L$73 + mov ax,0c8H + call near ptr L$17 + sar ax,1 + mov di,offset L$126 + call near ptr L$39 + sub word ptr L$70,5aH + jae L$53 + mov word ptr L$70,3ffH + mov si,word ptr L$69 + mov bl,byte ptr [si] + and bx,0ffH + je L$52 + inc si + mov word ptr L$69,si + cmp bl,20H + jge L$51 + shl bx,9 + mov word ptr L$70,bx + jmp L$53 +L$51: + mov bp,0 + mov si,1004H + call near ptr L$34 + jmp L$53 +L$52: + mov si,offset L$105 + mov word ptr L$69,si +L$53: + jmp near ptr L$10 +L$54: + push cs + push cs + pop ds + pop es + mov cx,2628H + mov di,offset L$108 + xor ax,ax + rep stosw + mov dx,0a000H + mov es,dx + push sp + pop dx + cmp dx,sp + je L$56 +L$55: + jmp near ptr L$65 +L$56: + mov bx,offset L$108 + sgdt fword ptr [bx] + cmp byte ptr 5[bx],0 + js L$55 + mov fs,ax + mov ax,1a00H + int 10H + cmp al,1aH + jne L$65 + cmp bl,7 + jb L$65 + mov ax,13H + int 10H + mov cx,1aH + mov bx,10H + mov ax,0e41H +L$57: + int 10H + inc al + loop L$57 + mov cx,500H + mov bx,offset L$119 + xor di,di +L$58: + mov ax,word ptr es:[di] + mov word ptr [bx+di],ax + add di,2 + loop L$58 + mov ax,0dH + int 10H + mov si,0fffeH + mov di,offset L$117 + mov bl,80H + xor bp,bp + jmp L$60 +L$59: + mov word ptr L$108[si],di + mov byte ptr L$113[si],bl + mov word ptr L$116[si],cx + shr cl,1 + rcr ch,1 + mov word ptr L$115[si],dx + shr dl,1 + rcr dh,1 + mov word ptr L$114[si],ax + shr al,1 + rcr ah,1 + mov word ptr L$112[si],bp + ror bl,1 + jae L$61 + inc bp +L$60: + mov cx,0feH + mov dx,7cH + mov ax,38H +L$61: + add di,2cH + add si,2 + cmp si,280H + jle L$59 + mov dx,3daH + in al,dx + mov dl,0c0H + xor ax,ax + mov cx,10H +L$62: + out dx,al + out dx,al + inc al + loop L$62 + mov al,20H + out dx,al + mov cx,1bcH + mov bx,offset L$120 +L$63: + push cx + call near ptr L$20 + call near ptr L$20 + call near ptr L$20 + sar ax,2 + mov word ptr [bx],ax + add bx,2 + mov word ptr [bx],offset L$31 + pop cx + loop L$63 + call near ptr L$8 + call near ptr L$21 +L$64: + call near ptr L$41 + mov ah,1 + int 16H + je L$64 + mov ah,0 + int 16H + call near ptr L$22 + call near ptr L$8 +L$65: + mov ax,3 + int 10H + mov si,offset L$106 + push 0b800H + pop es + xor di,di + mov ah,0eH +L$66: + lodsb + cmp al,1fH + jae L$67 + mov ah,al + jmp L$66 +L$67: + je L$68 + stosw + jmp L$66 +L$68: + mov ax,4c00H + int 21H +L$69: + DW offset L$105 +L$70: + add word ptr [bx+si],ax +L$71: + add byte ptr [bx+si],al +L$72: + inc ax + DB 0 +L$73: + loopnz 621h +L$74: + DB 80H, 3eH +L$75: + DB 0 +L$76: + or al,18H + and al,30H + cmp ax,word ptr 50H[bp] + pop cx + bound bp,word ptr 70H[bx+di] + jne L$82 + jl L$84 + jg L$85 + jl L$83 + jne L$81 + imul sp,word ptr 59H[bp+si],4650H + cmp si,word ptr [bx+si] + and al,18H + or al,0 + hlt + ; The label referred to here is an undefined location + call near ptr 0ffffd773H + lds di,dword ptr -5850H[bp+si] + sahf + xchg ax,di + nop + mov ax,word ptr -7d7cH[bx] + add word ptr -787cH[bp+si],908bH + xchg ax,di + sahf + cmpsw + mov al,0baH + ???? + rcr ah,1 + call near ptr L$97 + add ax,word ptr ds:[0c09H] + movlps xmm2,[di] + sbb byte ptr [bp+di],bl + push ds + and word ptr [si],sp + daa + sub ch,byte ptr [di] + xor byte ptr [bp+di],dh + cmp word ptr ss:[bp+di],di + inc cx + inc bx + inc si +L$77: + and byte ptr [bx+di],ah + and ch,byte ptr [bx+si] + sub word ptr [bp+si],bp + xor byte ptr [bx+di],dh + DB 32H +L$78: + imul sp,word ptr [bx+di],0ff81H + and word ptr -4fdfH[bx+si],bx + and dx,cx + and bp,sp + and word ptr [bp+si],ax + and ah,byte ptr [bx+si] + and al,byte ptr 22H[bx+di] + arpl word ptr [bp+si],sp + xchg word ptr [bp+si],sp + DB 64H, 23H +L$79: + add byte ptr [bx+si],al +L$80: + add byte ptr [bx+si],al + add byte ptr [bx],cl + and ax,word ptr [bx+si] + adc byte ptr ds:[30H],bl +L$81: + DB 20H +L$82: + sub ax,37H + cmp al,3dH + DB 3eH +L$83: + DB 4 +L$84: + xor al,24H +L$85: + xor al,14H + xor al,24H + xor al,1 + add sp,word ptr [bp+di] + adc sp,word ptr [bp+di] + inc sp + inc sp + inc sp + inc sp + or byte ptr [bp+si],al + adc al,byte ptr 44H[si] + xor si,word ptr [bp+di] + inc sp + inc sp + DB 4 +L$86: + add word ptr 33H[si],ax + inc sp + and al,byte ptr 33H[si] + inc sp + DB 2 +L$87: + DW offset L$83 +L$88: + DW offset L$93 + DW offset L$90 + DW offset L$92 + DW offset L$91 + DW offset L$91 + DW offset L$89 + DW offset L$89 + DW offset L$92 +L$89: + inc cx + ret 6 + and si,dx + lock add word ptr [bx+si],ax + DB 4 +L$90: + xchg ax,cx + inc ax + xchg word ptr 6ff3H[bx+si],ax + and ax,word ptr [bp+di] + add word ptr [bx+di],ax + DB 2 +L$91: + loopz 76eH + adc word ptr 1311H[bx+si],ax + and ah,byte ptr [bp+si] + add byte ptr [bx+si],al + DB 0cH +L$92: + popa + and word ptr [bp+di],bx + add byte ptr -7cH[bp+si],ah + push si + push bp + add byte ptr [bx+si],al + push cs +L$93: + xchg ax,cx + inc ax + xchg word ptr 6ff3H[bx+si],cx + and ax,word ptr [bp+di] + add word ptr [bx+di],ax + DB 2 +L$94: + DW offset code+78cH + DW offset code+78dH + DW offset L$95 + DW offset L$96 + DW offset L$98 + DW offset L$99 + DW offset L$100 + DW offset L$100 + DW offset L$101 + DW offset L$101 + DW offset L$102 + DW offset L$102 + DW offset L$103 + DW offset L$103 + DW offset L$104 + DW offset L$104 + adc word ptr 50H[bx],5550H + push di + push ax + push bp + push di + push ax + push bp + push di + push ax + push bp + push di + push ax + push bp + DB 0 +L$95: + DB 81H +L$96: + push ax + push bp + push di + push ax + push bp + push di + push ax + push bp +L$97: + push di + push ax + push bp + push di + push ax + push bp + push di + push ax + DB 0 +L$98: + rcl byte ptr -7cH[bx+si],30H + and byte ptr [bx+si],dh + and byte ptr [bp+si],ch + sbb ch,byte ptr [bp+si] + sbb dh,byte ptr [bx+si] + and byte ptr [bx+si],dh + and byte ptr [bp+si],ch + sbb ch,byte ptr [bp+si] + DB 1aH +L$99: + xor byte ptr [bx+si],ah + xor byte ptr [bx+si],ah + sub bl,byte ptr [bp+si] + sub bl,byte ptr [bp+si] + and ax,2515H + adc ax,1828H + sub bl,byte ptr [bp+si] + DB 0 +L$100: + mov al,byte ptr 50H + rol byte ptr -78H[bx+si],40H + inc ax + cmp al,byte ptr -70H[bp+si] + inc bp + mov byte ptr 42H[bx+si],al + inc ax + inc di + nop + dec dx + mov byte ptr -68H[di],al + inc ax + DB 0 +L$101: + mov al,byte ptr 50H + rol byte ptr -78H[bx],47H + inc bx + inc dx + inc bp + inc di + inc bp + dec ax + inc di + inc di + push ax + push dx + test byte ptr 4aH[bx+si],dl + mov byte ptr -68H[bx+si],dl + inc bp + DB 0 +L$102: + shl byte ptr [bx+si],0a0H + adc byte ptr [bx+si],dl + nop + adc byte ptr [bp+si],ch + and ax,2888H + sub dl,byte ptr 2a10H[bx+si] + and ax,2888H + sub al,byte ptr [bx+si] +L$103: + shl byte ptr [bx+si],0a0H + and byte ptr [bx+si],ah + nop + and byte ptr [bp+si],bl + adc ax,1888H + sbb dl,byte ptr 1a20H[bx+si] + adc ax,1888H + sbb al,byte ptr [bx+si] +L$104: + ror byte ptr [si],0feH + push ax + nop + or al,81H + dec dx + push ax + test byte ptr 55H[bp+si],dl + xchg byte ptr -7fH[bp+si],cl + push ax + dec dx + xchg byte ptr -7eH[bx+si],dl + push bp + cbw + inc bp + add ah,bh +L$105: + pop ds + sbb word ptr 41H[bp+di],ax + dec sp + dec sp + and byte ptr 54H[bp+di],dl + inc cx + push dx + push ax + dec di + push dx + push sp + or word ptr 55H[bp],ax + push sp + push bp + push dx + inc bp + and byte ptr 52H[bp+di],al + inc bp + push di + and byte ptr 4fH[bx],dl + push dx + dec sp + inc sp + and byte ptr 51H[bx+si],cl + or word ptr 44H[bp+di],ax + dec si + or word ptr 52H[bx],ax + inc cx + push si + dec cx + push bx + and byte ptr 55H[di],al + push dx + dec di + or word ptr 4eH[bx+di],ax + inc sp + and byte ptr 4fH[di],cl + push dx + inc bp + DB 0 +L$106: + rcpps xmm6,L$110[si] + jb L$109 + outsw + jb L$111 + add sp,word ptr [bx+si] + ???? + les sp,dword ptr [bx+si] + or dx,word ptr 33H[bp] + xor ah,byte ptr 69H[bp+si] + jae L$107 + sub si,word ptr [bp+di] + xor ax,2d38H + xor byte ptr [di],ch + cmp byte ptr [bx+si],dh + xor al,34H + xor dh,byte ptr ss:[2b20H] + xor si,word ptr [di] + cmp byte ptr [di],ch + xor byte ptr [di],ch + cmp byte ptr [bx+si],dh + xor al,31H + xor word ptr [bp+di],si + xor ax,word ptr [bp+di] + and ah,al +L$107: + les sp,dword ptr [bx+si] + cmovbe ax,word ptr 2dH[bp+di] + push di + dec ax + push cx + pop ds + cld +L$108: + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + DB 0 +L$109: + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + DB 0 +L$110: + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al +L$111: + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al +L$112: + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al +L$113: + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al +L$114: + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al +L$115: + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al +L$116: + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + xchg bx,bx + nop + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al +L$117: + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al +L$118: + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al +L$119: + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al +L$120: + add byte ptr [bx+si],al +L$121: + add byte ptr [bx+si],al +L$122: + add byte ptr [bx+si],al +L$123: + add byte ptr [bx+si],al +L$124: + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al +L$125: + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al +L$126: + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al +L$127: + add byte ptr [bx+si],al +L$128: + add byte ptr [bx+si],al +L$129: + add byte ptr [bx+si],al +L$130: + add byte ptr [bx+si],al +L$131: + add byte ptr [bx+si],al +L$132: + add byte ptr [bx+si],al +L$133: + add byte ptr [bx+si],al +L$134: + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + DB 0 +L$135: + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + DB 0 +L$136: + add byte ptr [bx+si],al +L$137: + add byte ptr [bx+si],al +L$138: + add byte ptr [bx+si],al +L$139: + add byte ptr [bx+si],al + add byte ptr [bx+si],al +L$140: + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al +code ENDS + END diff --git a/DEBUG.16W b/DEBUG.16W index 88dbd4db..7ef64269 100755 --- a/DEBUG.16W +++ b/DEBUG.16W @@ -1,209 +1,209 @@ -Seg:0 Size:8021 Owner:0x0 -+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Seg:1f55 Size:256 Owner:0x5ddc +Seg:0 Size:8025 Owner:0x0 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Seg:1f59 Size:256 Owner:0x5ddc 0 -Seg:2055 Size:256 Owner:0x1c12 +Seg:2059 Size:256 Owner:0x1c12 0 -Seg:2155 Size:256 Owner:0x1c14 +Seg:2159 Size:256 Owner:0x1c14 0 -Seg:2285 Size:76 Owner:0x0 +Seg:2289 Size:76 Owner:0x0 0 -Seg:22d1 Size:256 Owner:0x1c16 +Seg:22d5 Size:256 Owner:0x1c16 0 -Seg:23d1 Size:256 Owner:0x1c18 +Seg:23d5 Size:256 Owner:0x1c18 0 -Seg:24d1 Size:256 Owner:0x1c1a +Seg:24d5 Size:256 Owner:0x1c1a 0 -Seg:25d1 Size:256 Owner:0x1c1c +Seg:25d5 Size:256 Owner:0x1c1c 0 -Seg:26d1 Size:256 Owner:0x1c1e +Seg:26d5 Size:256 Owner:0x1c1e 0 -Seg:27d1 Size:256 Owner:0x1c20 +Seg:27d5 Size:256 Owner:0x1c20 0 -Seg:28d1 Size:256 Owner:0x1c22 +Seg:28d5 Size:256 Owner:0x1c22 0 -Seg:29d1 Size:256 Owner:0x1c24 +Seg:29d5 Size:256 Owner:0x1c24 0 -Seg:2ad1 Size:256 Owner:0x1c26 +Seg:2ad5 Size:256 Owner:0x1c26 0 -Seg:2bd1 Size:256 Owner:0x1c28 +Seg:2bd5 Size:256 Owner:0x1c28 0 -Seg:2cd1 Size:256 Owner:0x1c2a +Seg:2cd5 Size:256 Owner:0x1c2a 0 -Seg:2dd1 Size:256 Owner:0x1c2c +Seg:2dd5 Size:256 Owner:0x1c2c 0 -Seg:2ed1 Size:256 Owner:0x1c2e +Seg:2ed5 Size:256 Owner:0x1c2e 0 -Seg:2fd1 Size:256 Owner:0x1c30 +Seg:2fd5 Size:256 Owner:0x1c30 0 -Seg:30d1 Size:256 Owner:0x1c32 +Seg:30d5 Size:256 Owner:0x1c32 0 -Seg:31d1 Size:256 Owner:0x1c34 +Seg:31d5 Size:256 Owner:0x1c34 0 -Seg:32d1 Size:256 Owner:0x1c36 +Seg:32d5 Size:256 Owner:0x1c36 0 -Seg:33d1 Size:256 Owner:0x1c38 +Seg:33d5 Size:256 Owner:0x1c38 0 -Seg:34d1 Size:256 Owner:0x1c3a +Seg:34d5 Size:256 Owner:0x1c3a 0 -Seg:35d1 Size:256 Owner:0x1c3c +Seg:35d5 Size:256 Owner:0x1c3c 0 -Seg:36d1 Size:256 Owner:0x1c3e +Seg:36d5 Size:256 Owner:0x1c3e 0 -Seg:37d1 Size:256 Owner:0x1c40 +Seg:37d5 Size:256 Owner:0x1c40 0 -Seg:38d1 Size:256 Owner:0x1c42 +Seg:38d5 Size:256 Owner:0x1c42 0 -Seg:39d1 Size:256 Owner:0x1c44 +Seg:39d5 Size:256 Owner:0x1c44 0 -Seg:3ad1 Size:256 Owner:0x1c46 +Seg:3ad5 Size:256 Owner:0x1c46 0 -Seg:3bd1 Size:256 Owner:0x1c48 +Seg:3bd5 Size:256 Owner:0x1c48 0 -Seg:3cd1 Size:256 Owner:0x1c4a +Seg:3cd5 Size:256 Owner:0x1c4a 0 -Seg:3dd1 Size:256 Owner:0x1c4c +Seg:3dd5 Size:256 Owner:0x1c4c 0 -Seg:3ed1 Size:256 Owner:0x1c4e +Seg:3ed5 Size:256 Owner:0x1c4e 0 -Seg:3fd1 Size:256 Owner:0x1c50 +Seg:3fd5 Size:256 Owner:0x1c50 0 -Seg:40d1 Size:256 Owner:0x1c52 +Seg:40d5 Size:256 Owner:0x1c52 0 -Seg:41d1 Size:256 Owner:0x1c54 +Seg:41d5 Size:256 Owner:0x1c54 0 -Seg:42d1 Size:256 Owner:0x1c56 +Seg:42d5 Size:256 Owner:0x1c56 0 -Seg:43d1 Size:256 Owner:0x1c58 +Seg:43d5 Size:256 Owner:0x1c58 0 -Seg:44d1 Size:256 Owner:0x1c5a +Seg:44d5 Size:256 Owner:0x1c5a 0 -Seg:45d1 Size:256 Owner:0x1c5c +Seg:45d5 Size:256 Owner:0x1c5c 0 -Seg:46d1 Size:256 Owner:0x1c5e +Seg:46d5 Size:256 Owner:0x1c5e 0 -Seg:47d1 Size:256 Owner:0x1c60 +Seg:47d5 Size:256 Owner:0x1c60 0 -Seg:48d1 Size:256 Owner:0x1c62 +Seg:48d5 Size:256 Owner:0x1c62 0 -Seg:49d1 Size:256 Owner:0x1c64 +Seg:49d5 Size:256 Owner:0x1c64 0 -Seg:4ad1 Size:256 Owner:0x1c66 +Seg:4ad5 Size:256 Owner:0x1c66 0 -Seg:4bd1 Size:256 Owner:0x1c68 +Seg:4bd5 Size:256 Owner:0x1c68 0 -Seg:4cd1 Size:256 Owner:0x1c6a +Seg:4cd5 Size:256 Owner:0x1c6a 0 -Seg:4dd1 Size:256 Owner:0x1c6c +Seg:4dd5 Size:256 Owner:0x1c6c 0 -Seg:4ed1 Size:256 Owner:0x1c6e +Seg:4ed5 Size:256 Owner:0x1c6e 0 -Seg:4fd1 Size:256 Owner:0x1c70 +Seg:4fd5 Size:256 Owner:0x1c70 0 -Seg:50d1 Size:256 Owner:0x1c72 +Seg:50d5 Size:256 Owner:0x1c72 0 -Seg:51d1 Size:256 Owner:0x1c74 +Seg:51d5 Size:256 Owner:0x1c74 0 -Seg:52d1 Size:256 Owner:0x1c76 +Seg:52d5 Size:256 Owner:0x1c76 0 -Seg:53d1 Size:256 Owner:0x1c78 +Seg:53d5 Size:256 Owner:0x1c78 0 -Seg:54d1 Size:256 Owner:0x1c7a +Seg:54d5 Size:256 Owner:0x1c7a 0 -Seg:55d1 Size:256 Owner:0x1c7c +Seg:55d5 Size:256 Owner:0x1c7c 0 -Seg:56d1 Size:256 Owner:0x1c7e +Seg:56d5 Size:256 Owner:0x1c7e 0 -Seg:57d1 Size:256 Owner:0x1c80 +Seg:57d5 Size:256 Owner:0x1c80 0 -Seg:58d1 Size:256 Owner:0x1c82 +Seg:58d5 Size:256 Owner:0x1c82 0 -Seg:59d1 Size:256 Owner:0x1c84 +Seg:59d5 Size:256 Owner:0x1c84 0 -Seg:5ad1 Size:256 Owner:0x1c86 +Seg:5ad5 Size:256 Owner:0x1c86 0 -Seg:5bd1 Size:256 Owner:0x1c88 +Seg:5bd5 Size:256 Owner:0x1c88 0 -Seg:5cd1 Size:256 Owner:0x1c8a +Seg:5cd5 Size:256 Owner:0x1c8a 0 -Seg:5dd1 Size:256 Owner:0x1c8c +Seg:5dd5 Size:256 Owner:0x1c8c 0 -Seg:5ed1 Size:256 Owner:0x1c8e +Seg:5ed5 Size:256 Owner:0x1c8e 0 -Seg:5fd1 Size:256 Owner:0x1c90 +Seg:5fd5 Size:256 Owner:0x1c90 0 -Seg:60d1 Size:256 Owner:0x1c92 +Seg:60d5 Size:256 Owner:0x1c92 0 -Seg:61d1 Size:256 Owner:0x1c94 +Seg:61d5 Size:256 Owner:0x1c94 0 -Seg:62d1 Size:256 Owner:0x1c96 +Seg:62d5 Size:256 Owner:0x1c96 0 -Seg:63d1 Size:256 Owner:0x1c98 +Seg:63d5 Size:256 Owner:0x1c98 0 -Seg:64d1 Size:256 Owner:0x1c9a +Seg:64d5 Size:256 Owner:0x1c9a 0 -Seg:65d1 Size:256 Owner:0x1c9c +Seg:65d5 Size:256 Owner:0x1c9c 0 -Seg:66d1 Size:256 Owner:0x1c9e +Seg:66d5 Size:256 Owner:0x1c9e 0 -Seg:67d1 Size:256 Owner:0x1ca0 +Seg:67d5 Size:256 Owner:0x1ca0 0 -Seg:68d1 Size:256 Owner:0x1ca2 +Seg:68d5 Size:256 Owner:0x1ca2 0 -Seg:69d1 Size:256 Owner:0x1ca4 +Seg:69d5 Size:256 Owner:0x1ca4 0 -Seg:6ad1 Size:256 Owner:0x1ca6 +Seg:6ad5 Size:256 Owner:0x1ca6 0 -Seg:6bd1 Size:256 Owner:0x1ca8 +Seg:6bd5 Size:256 Owner:0x1ca8 0 -Seg:6cd1 Size:256 Owner:0x1caa +Seg:6cd5 Size:256 Owner:0x1caa 0 -Seg:6dd1 Size:256 Owner:0x1cac +Seg:6dd5 Size:256 Owner:0x1cac 0 -Seg:6ed1 Size:256 Owner:0x1cae +Seg:6ed5 Size:256 Owner:0x1cae 0 -Seg:6fd1 Size:256 Owner:0x1cb0 +Seg:6fd5 Size:256 Owner:0x1cb0 0 -Seg:70d1 Size:256 Owner:0x1cb2 +Seg:70d5 Size:256 Owner:0x1cb2 0 -Seg:71d1 Size:256 Owner:0x1cb4 +Seg:71d5 Size:256 Owner:0x1cb4 0 -Seg:72d1 Size:256 Owner:0x1cb6 +Seg:72d5 Size:256 Owner:0x1cb6 0 -Seg:73d1 Size:256 Owner:0x1cb8 +Seg:73d5 Size:256 Owner:0x1cb8 0 -Seg:74d1 Size:256 Owner:0x1cba +Seg:74d5 Size:256 Owner:0x1cba 0 -Seg:75d1 Size:256 Owner:0x1cbc +Seg:75d5 Size:256 Owner:0x1cbc 0 -Seg:76d1 Size:256 Owner:0x1cbe +Seg:76d5 Size:256 Owner:0x1cbe 0 -Seg:77d1 Size:256 Owner:0x1cc0 +Seg:77d5 Size:256 Owner:0x1cc0 0 -Seg:78d1 Size:256 Owner:0x1cc2 +Seg:78d5 Size:256 Owner:0x1cc2 0 -Seg:79d1 Size:256 Owner:0x1cc4 +Seg:79d5 Size:256 Owner:0x1cc4 0 -Seg:7ad1 Size:256 Owner:0x1cc6 +Seg:7ad5 Size:256 Owner:0x1cc6 0 -Seg:7bd1 Size:256 Owner:0x1cc8 +Seg:7bd5 Size:256 Owner:0x1cc8 0 -Seg:7cd1 Size:256 Owner:0x1cca +Seg:7cd5 Size:256 Owner:0x1cca 0 -Seg:7dd1 Size:256 Owner:0x1ccc +Seg:7dd5 Size:256 Owner:0x1ccc 0 -Seg:7ed1 Size:256 Owner:0x1cce +Seg:7ed5 Size:256 Owner:0x1cce 0 -Seg:7fd1 Size:256 Owner:0x1cd0 +Seg:7fd5 Size:256 Owner:0x1cd0 0 -Seg:80d1 Size:256 Owner:0x1cd2 +Seg:80d5 Size:256 Owner:0x1cd2 0 -Seg:81d1 Size:256 Owner:0x1cd4 +Seg:81d5 Size:256 Owner:0x1cd4 0 -Seg:82d1 Size:256 Owner:0x1cd6 +Seg:82d5 Size:256 Owner:0x1cd6 0 -Seg:83d1 Size:256 Owner:0x1cd8 +Seg:83d5 Size:256 Owner:0x1cd8 0 -Seg:84d1 Size:273 Owner:0x5ddc +Seg:84d5 Size:273 Owner:0x5ddc 00000000000000000000000000000000000000000000000000000000000000000000000000000000 -Seg:9ebc Size:24899 Owner:0x0 +Seg:9ec1 Size:24894 Owner:0x0  \ No newline at end of file diff --git a/HEAP.16W b/HEAP.16W index ad6e7ced..35aa4f0d 100755 --- a/HEAP.16W +++ b/HEAP.16W @@ -47,9 +47,9 @@ Near 9718 484 9234 Far 45170 4256 40914 ---------------- -------- -------- -------- HC_coreleft = 9232 -HC_farcoreleft = 394756 +HC_farcoreleft = 396888 HC_GetNearFreeSize = 9234 HC_GetFarFreeSize = 40914 coreleft = 9232 -farcoreleft = 394756 +farcoreleft = 396888 stackavail = 23262 diff --git a/src/lib/16_hc.c b/src/lib/16_hc.c index a2590cfa..2607a3cb 100755 --- a/src/lib/16_hc.c +++ b/src/lib/16_hc.c @@ -117,12 +117,12 @@ size_t HC_coreleft(void) } //far version of above -void far* HC_LargestFarFreeBlock(unsigned long* Size) +void __far* HC_LargestFarFreeBlock(dword* Size) { - unsigned long s0, s1; - void far* p; + dword s0, s1; + void __far* p; - s0 = ~(unsigned long)0 ^ (~(unsigned long)0 >> 1); + s0 = ~(dword)0 ^ (~(dword)0 >> 1); while (s0 && (p = _fmalloc(s0)) == NULL) s0 >>= 1; @@ -147,37 +147,39 @@ void far* HC_LargestFarFreeBlock(unsigned long* Size) } //far version of above -unsigned long HC_farcoreleft(void) +dword HC_farcoreleft(void) { - unsigned long total = 0UL; - void far* pFirst = NULL; - void far* pLast = NULL; + dword total = 0UL; + void __far* pFirst = NULL; + void __far* pLast = NULL; for(;;) { - unsigned long largest; - void far* p = HC_LargestFarFreeBlock(&largest); - if (largest < sizeof(void far*)) + dword largest; + void __far* p = HC_LargestFarFreeBlock(&largest); + if (largest < sizeof(void __far*)) { if (p != NULL) _ffree(p); break; } - *(void far* far*)p = NULL; + *(void __far* __far*)p = NULL; total += largest; if (pFirst == NULL) pFirst = p; if (pLast != NULL) - *(void far* far*)pLast = p; + *(void __far* __far*)pLast = p; pLast = p; } while (pFirst != NULL) { - void far* p = *(void far* far*)pFirst; + void __far* p = *(void __far* __far*)pFirst; _ffree(pFirst); pFirst = p; } + + //if(total>16) total+=16; total &= 0xfffffff0UL; return total; } @@ -294,25 +296,25 @@ size_t _basedcoreleft(void) { size_t largest; void __based(segu)* p = LargestBasedFreeBlock(&largest); - if (largest < sizeof(void far*)) + if (largest < sizeof(void __far*)) { if (p != NULL) _ffree(p); break; } - *(void far* far*)p = NULL; + *(void __far* __far*)p = NULL; total += largest; if (pFirst == NULL) pFirst = p; if (pLast != NULL) - *(void far* far*)pLast = p; + *(void __far* __far*)pLast = p; pLast = p; } while (pFirst != NULL) { - void far* p = *(void far* far*)pFirst; + void __far* p = *(void __far* __far*)pFirst; _ffree(pFirst); pFirst = p; } @@ -354,7 +356,7 @@ void HCL_HeapWalking (struct _heapinfo *h_info, hc_use_t *hu, unsigned nearfarsw HCL_heapstat(hu->heap_status); } -unsigned long HC_GetFarFreeSize(void) +dword HC_GetFarFreeSize(void) { struct _heapinfo h_info; hc_use_t hu; @@ -363,7 +365,7 @@ unsigned long HC_GetFarFreeSize(void) #if 0 struct _heapinfo fh_info; int heap_status; - unsigned long fh_free=0, fh_total=0, fh_used=0; + dword fh_free=0, fh_total=0, fh_used=0; fh_info._pentry = NULL; for(;;) { @@ -540,14 +542,22 @@ void HCL_heapstat(int heap_status) //++ #ifdef __WATCOMC__ -unsigned long farcoreleft() +dword farcoreleft() { //---- _fheapgrow(); - return HC_farcoreleft(); + // #ifdef __BORLANDC__ +// r 0x90000UL-16UL +// #endif +// printf("\nfarcoreleft()=%lu\n", HC_farcoreleft()); + +//---- + return 0x90000UL+16UL; +//---- return 589824UL+16UL; +//++++ return HC_farcoreleft(); //stack overflows return HC_GetFarFreeSize(); } -unsigned long coreleft() +dword coreleft() { _nheapgrow(); return _memavl(); diff --git a/src/lib/16_hc.h b/src/lib/16_hc.h index 698e0093..36b95841 100755 --- a/src/lib/16_hc.h +++ b/src/lib/16_hc.h @@ -20,7 +20,7 @@ * */ /* - heap test stuff + heap check */ #ifndef __16HC__ @@ -50,14 +50,9 @@ typedef struct heapusage #endif //long HC_Newfarcoreleft(); -#ifdef __BORLANDC__ -void * HC_LargestFreeBlock(size_t* Size); -#endif -#ifdef __WATCOMC__ void __near* HC_LargestFreeBlock(size_t* Size); -#endif size_t HC_coreleft(void); -void far* HC_LargestFarFreeBlock(unsigned long* Size); +void far* HC_LargestFarFreeBlock(dword* Size); unsigned long HC_farcoreleft(void); //size_t HC_GetFreeSize(void); unsigned long HC_GetFarFreeSize(void); diff --git a/src/util/shbat/fcsp2.bat b/src/util/shbat/fcsp2.bat new file mode 100755 index 00000000..ed936cae --- /dev/null +++ b/src/util/shbat/fcsp2.bat @@ -0,0 +1 @@ +cd 16\fcsp2src diff --git a/src/vrldbg.c b/src/vrldbg.c index 084f5349..530c6bef 100755 --- a/src/vrldbg.c +++ b/src/vrldbg.c @@ -14,7 +14,7 @@ #include "src/lib/doslib/hw/vga/vrl.h" #include "src/lib/doslib/hw/vga/vrs.h" -#include "src/lib/doslib/hw/vga/pcxfmt.h" +//#include "src/lib/doslib/hw/vga/pcxfmt.h" //#include "src/lib/doslib/hw/vga/comshtps.h" #ifndef O_BINARY