<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7996129518306361344</id><updated>2011-11-27T15:21:49.749-08:00</updated><category term='HOW TO VARY YOUR WORKOUT ROUTINE'/><category term='The Growth and Development ofTechnology'/><category term='The Importance of Sports in Our Lives.'/><category term='Of Devouring the Uncanny'/><category term='Getting your child to dance all the way to fitness'/><category term='Mailing of Postcards at 12 Cents per Postcard'/><category term='Anniversary Photo Gifts'/><category term='How to Dominate a Market with Low Cost Postcards'/><category term='THE BENEFITS OF MAINTAINING YOUR TRAINING RECORDS'/><category term='How to search for property through the used and trusted means'/><category term='What you should know about Online Business Scams'/><category term='LIFE AND TIMES OF TUPAC SHAKUR'/><category term='A HOME AWAY FROM HOME'/><category term='Advertorial'/><category term='Chiropractic Health'/><category term='Assembly Language'/><category term='Getting Strategies that Will Work'/><category term='sports'/><category term='concert'/><category term='Technology Balanced Score Card system'/><category term='Unique Baby Gifts'/><category term='Understanding Hard Disk Failure and How to Remedy the Situation'/><category term='The Emancipation of Mimi (Mariah Carey)'/><category term='Digestive Diseases Affecting Our Health'/><category term='Think Like a Hardworking Millionaire'/><category term='Canoe Jousting'/><category term='THE GAME OF BASKETBALL.'/><category term='BOXING'/><category term='Some of the Best Fitness Equipments'/><category term='METABOLIC RESPONSES OF ANABOLIC STEROIDS'/><category term='Last Minute Gift Idea'/><category term='How to Get Your Marketing Message out All Year'/><category term='Offset Printing versus Digital Printing'/><category term='REASONS THAT MAKE BODYBUILDING IMPORTANT FOR FITNESS'/><category term='Weight Loss Tips'/><category term='Triathlon Fitness Tips'/><category term='DLL Filename:mapi.dll'/><category term='Insulin and Creatine Effects on Fitness'/><category term='Smoking and its health implications'/><category term='acupuncture for weight loss'/><category term='Real Estate Facts and Tips.'/><category term='disease'/><category term='Adverse Credit Re-Mortgage'/><category term='Using Direct Mail in Real Estate Marketing'/><category term='Mistakes Real Estate Investors should be Aware of'/><category term='THE CHEMICAL ANALYSIS OF ANABOLIC STEROIDS'/><category term='Grand Attraction of Sellers in Real Estate'/><category term='Information on Firewalls'/><category term='QuickBooks Tutorial'/><category term='Holly Madison'/><category term='Party'/><category term='Twitter'/><category term=': Orlando game design schools'/><category term='Improving children’s fitness through tumbling'/><category term='Movie Premieur'/><category term='Direct Mail and Bird-Dogs as a Source for Unadververtised Properties'/><category term='How to Start an Online Business'/><category term='Medical Lab Coats'/><category term='acupuncture practitioners'/><category term='blood'/><category term='How to Achieve a Good Baseball Hit'/><category term='Mobile Banking Technology'/><category term='WHITE SAND SOUTH OF MANILA'/><category term='Pamela Anderson'/><category term='Using Short Run Digital Printing as a Cost Saving Measure for Your Business.'/><category term='Akira Toriyami'/><category term='APPLICATION OF TECHNOLOGY IN AUDITING FIELD'/><category term='Bake Sale'/><category term='Typical examples of routines that can help keep your child fit'/><category term='THE FIRST AFRICAN AMERICAN FIRST LADY OF THE UNITED STATES OF AMERICA'/><category term='acupuncture treatment'/><category term='Britney Spears'/><category term='Issues that affect teen fitness'/><category term='Green Tea as a Weight Loss Patch'/><category term='games'/><category term='CLAY AKIEN'/><category term='Meeting and Dating Single Women Online.'/><category term='acupuncture therapy'/><category term='Protect your mouth better with chlorine dioxide'/><category term='THE BLACK MARKET DEMAND FOR STEROID BORNE TESTOSTERONE'/><category term='Keeping and Staying Fit'/><category term='Fit to Play'/><category term='A Wonderful Football Betting Strategy.'/><category term='Using the internet to carry out due diligence on real estate property'/><category term='SARAH PALIN'/><category term='Spyware Protection'/><category term='real estate investors'/><category term='Bringing Out the Hero inside You through Fitness'/><category term='Respiratory Diseases that Affect your Health'/><category term='Some facts about small rental properties'/><category term='acupuncture clinic'/><category term='Radiator Covers'/><category term='How to go about Internet Dating'/><category term='International Food Sale'/><category term='Mobile Technology'/><category term='acupuncture'/><category term='Factors that must be considered before buying a trampoline for your child'/><category term='health'/><category term='COMPETITIVE SWIMMING'/><title type='text'>Blog About EveryThing</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default?start-index=101&amp;max-results=100'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>224</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-7694175998832446534</id><published>2009-07-22T09:18:00.000-07:00</published><updated>2009-07-22T09:21:50.932-07:00</updated><title type='text'>Renewable energy solutions</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_92bLUmg-qYM/Smc8X3RWUQI/AAAAAAAAABk/uahGlWzE5as/s1600-h/l_earth4.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 300px; height: 300px;" src="http://3.bp.blogspot.com/_92bLUmg-qYM/Smc8X3RWUQI/AAAAAAAAABk/uahGlWzE5as/s320/l_earth4.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5361320262079238402" /&gt;&lt;/a&gt;&lt;br /&gt;Did you know? You can build your own solar panels, saving $10,000’s off retail price? You have probably read about it or seen it on TV, but have you tried it yourself?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://atezaz.earth4.hop.clickbank.net/"&gt;Click here to go to website&lt;/a&gt;&lt;br /&gt;&lt;a href="http://atezaz.earth4.hop.clickbank.net/"&gt;Click here to go to website&lt;/a&gt;&lt;br /&gt;&lt;a href="http://atezaz.earth4.hop.clickbank.net/"&gt;Click here to go to website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-7694175998832446534?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/7694175998832446534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/07/renewable-energy-solutions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7694175998832446534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7694175998832446534'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/07/renewable-energy-solutions.html' title='Renewable energy solutions'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_92bLUmg-qYM/Smc8X3RWUQI/AAAAAAAAABk/uahGlWzE5as/s72-c/l_earth4.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-1990372407487734248</id><published>2009-07-22T09:09:00.000-07:00</published><updated>2009-07-22T09:12:49.266-07:00</updated><title type='text'>Mass Article Control</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_92bLUmg-qYM/Smc6HkeOTpI/AAAAAAAAABc/NHhCEXqt-9Y/s1600-h/l_massarticl.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 300px; height: 300px;" src="http://2.bp.blogspot.com/_92bLUmg-qYM/Smc6HkeOTpI/AAAAAAAAABc/NHhCEXqt-9Y/s320/l_massarticl.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5361317783131803282" /&gt;&lt;/a&gt;&lt;br /&gt;Still struggling to Write Articles, Submitting them to get Traffic, and make money?      Brand new technology now allows you to now create 100's and even  thousands of UNIQUE and readable articles out of just one main seed article - with just a few clicks of your mouse button... and then have them submitted to the top article directories on autopilot!&lt;br /&gt;&lt;a href="http://atezaz.massarticl.hop.clickbank.net/"&gt;Click Here to go to website&lt;/a&gt;&lt;br /&gt;&lt;a href="http://atezaz.massarticl.hop.clickbank.net/"&gt;Click Here to go to website&lt;/a&gt;&lt;br /&gt;&lt;a href="http://atezaz.massarticl.hop.clickbank.net/"&gt;Click Here to go to website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-1990372407487734248?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/1990372407487734248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/07/mass-article-control.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1990372407487734248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1990372407487734248'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/07/mass-article-control.html' title='Mass Article Control'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_92bLUmg-qYM/Smc6HkeOTpI/AAAAAAAAABc/NHhCEXqt-9Y/s72-c/l_massarticl.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-4383654738646109084</id><published>2009-07-21T04:23:00.000-07:00</published><updated>2009-07-21T04:30:32.663-07:00</updated><title type='text'>Find out the owner of any cell phone or unlisted number</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_92bLUmg-qYM/SmWmWKiaEzI/AAAAAAAAABU/hdAou6PJY2k/s1600-h/l_phonesrch.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 300px; height: 300px;" src="http://2.bp.blogspot.com/_92bLUmg-qYM/SmWmWKiaEzI/AAAAAAAAABU/hdAou6PJY2k/s320/l_phonesrch.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5360873831170446130" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://atezaz.phonesrch.hop.clickbank.net/"&gt;Click Here to go to website&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://atezaz.phonesrch.hop.clickbank.net/"&gt;Click Here to go to website&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Find out the owner of any cell phone or unlisted number. Results include name, address, carrier, and other details when available.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://atezaz.phonesrch.hop.clickbank.net/"&gt;Click Here to go to website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-4383654738646109084?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/4383654738646109084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/07/find-out-owner-of-any-cell-phone-or.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/4383654738646109084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/4383654738646109084'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/07/find-out-owner-of-any-cell-phone-or.html' title='Find out the owner of any cell phone or unlisted number'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_92bLUmg-qYM/SmWmWKiaEzI/AAAAAAAAABU/hdAou6PJY2k/s72-c/l_phonesrch.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-1627851786585204990</id><published>2009-07-21T03:07:00.000-07:00</published><updated>2009-07-21T03:15:42.991-07:00</updated><title type='text'>Burn the Fats in 2 days</title><content type='html'>Natural Bodybuilder Thumbs Nose At WeightLoss "Experts" Who Earn Fortunes On The&lt;br /&gt;Sweat And Dreams Of Young Men &amp; Women,And Finally Reveals The Simple Proven Science Of Fat Loss No One Else Will Tell You About...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_92bLUmg-qYM/SmWVOi9yjeI/AAAAAAAAABM/BsopLFyKF-c/s1600-h/l_burnthefat.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 300px; height: 300px;" src="http://4.bp.blogspot.com/_92bLUmg-qYM/SmWVOi9yjeI/AAAAAAAAABM/BsopLFyKF-c/s320/l_burnthefat.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5360855008591121890" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://atezaz.burnthefat.hop.clickbank.net/"&gt;Click Here to go to Burn the fat website&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://atezaz.burnthefat.hop.clickbank.net/"&gt;Click Here to go to Burn the fat website&lt;/a&gt;&lt;br /&gt;&lt;a href="http://atezaz.burnthefat.hop.clickbank.net/"&gt;Click Here to go to Burn the fat website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-1627851786585204990?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/1627851786585204990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/07/burn-fats-in-2-days.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1627851786585204990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1627851786585204990'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/07/burn-fats-in-2-days.html' title='Burn the Fats in 2 days'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_92bLUmg-qYM/SmWVOi9yjeI/AAAAAAAAABM/BsopLFyKF-c/s72-c/l_burnthefat.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-839710571791765443</id><published>2009-07-21T02:55:00.000-07:00</published><updated>2009-07-21T03:05:06.546-07:00</updated><title type='text'>Burn The Fat Feed The Muscle</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_92bLUmg-qYM/SmWSzLqNy8I/AAAAAAAAABE/RuxGpbgmCIU/s1600-h/l_burnthefat.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 300px; height: 300px;" src="http://1.bp.blogspot.com/_92bLUmg-qYM/SmWSzLqNy8I/AAAAAAAAABE/RuxGpbgmCIU/s320/l_burnthefat.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5360852339455282114" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-839710571791765443?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/839710571791765443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/07/burn-fat-feed-muscle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/839710571791765443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/839710571791765443'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/07/burn-fat-feed-muscle.html' title='Burn The Fat Feed The Muscle'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_92bLUmg-qYM/SmWSzLqNy8I/AAAAAAAAABE/RuxGpbgmCIU/s72-c/l_burnthefat.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-1061305970956172006</id><published>2009-06-03T18:52:00.002-07:00</published><updated>2009-06-03T18:53:02.869-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>EXERCISES</title><content type='html'>1. Write a program to swap every pair of bits in the AX register. &lt;br /&gt;&lt;br /&gt;2. Give the value of the AX register and the carry flag after each of the following instructions. &lt;br /&gt;&lt;br /&gt;stc&lt;br /&gt;&lt;br /&gt;mov  ax,  &lt;your  rollnumber&gt;&lt;br /&gt;&lt;br /&gt;adc ah, &lt;first character of your name&gt; cmc&lt;br /&gt;&lt;br /&gt;xor ah, al mov cl, 4 shr al, cl rcr ah, cl&lt;br /&gt;&lt;br /&gt;3. Write a program to swap the nibbles in each byte of the AX register. &lt;br /&gt;&lt;br /&gt;4. Calculate the number of one bits in BX and complement an equal number of least significant bits in AX. &lt;br /&gt;HINT: Use the XOR instruction &lt;br /&gt;&lt;br /&gt;5. Write a program to multiply two 32bit numbers and store the answer in a 64bit location. &lt;br /&gt;6. Declare a 32byte buffer containing random data. Consider for this problem that the bits in these 32 bytes are numbered from 0 to 255. Declare another byte that contains the starting bit number. Write a program to copy the byte starting at this starting bit number in the AX register. Be careful that the starting bit number may not be a multiple of 8 and therefore the bits of the desired byte will be split into two bytes. &lt;br /&gt;&lt;br /&gt;7. AX contains a number between 0-15. Write code to complement the corresponding bit in BX. For example if AX contains 6; complement the 6th bit of BX. &lt;br /&gt;8. AX contains a non-zero number. Count the number of ones in it and store the result back in AX. Repeat the process on the result (AX) until AX contains one. Calculate in BX the number of iterations it took to &lt;br /&gt;&lt;br /&gt;make AX one. For example BX should contain 2 in the following case: AX = 1100 0101 1010 0011 (input – 8 ones)&lt;br /&gt;&lt;br /&gt;AX = 0000 0000 0000 1000 (after first iteration – 1 one)&lt;br /&gt;&lt;br /&gt;AX = 0000 0000 0000 0001 (after second iteration – 1 one) STOP&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-1061305970956172006?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/1061305970956172006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/exercises_999.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1061305970956172006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1061305970956172006'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/exercises_999.html' title='EXERCISES'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-3870498156161213043</id><published>2009-06-03T18:52:00.001-07:00</published><updated>2009-06-03T18:52:28.862-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>MASKING OPERATIONS</title><content type='html'>Selective Bit Clearing&lt;br /&gt;&lt;br /&gt;Another use of AND is to make selective bits ze ro in its destination operand. The source operand is loaded with a mask containing one at positions which are retain their old value and zero at positions which are to be zeroed. The effect of applying this operation on the destination with mask in the source is to clear the desired bits. This operation is called masking. For example if the lower nibble is to be cleared then the operation can be applied with F0 in the source. The upper nibble will retain its old value and the lower nibble will be cleared.&lt;br /&gt;&lt;br /&gt;Selective Bit Setting&lt;br /&gt;&lt;br /&gt;The operation can be used as a masking operation to set selective bits. The bits in the mask are cleared at positions which are to retain their values, and are set at positions which are to be set. For example to set the lower nibble of the destination operand, the operation should be applied with a mask of 0F in the source. The upper nibble will retain its value and the lower nibble will be set as a result.&lt;br /&gt; &lt;br /&gt;56&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Selective Bit Inversion&lt;br /&gt;&lt;br /&gt;XOR can also be used as a masking operation to invert selective bits. The bits in the mask are cleared at positions, which are to retain their values, and are set at positions, which are to be inverted. For example to invert the lower nibble of the destination operand, the operand should be applied with a mask of 0F in the source. The upper nibble will retain its value and the lower nibble will be set as a result. Compare this with NOT which inverts everything. XOR on the other hand allows inverting selective bits.&lt;br /&gt;&lt;br /&gt;Selective Bit Testing&lt;br /&gt;&lt;br /&gt;AND can be used to check whether particular bits of a number are set or not. Previously we used shifting and JC to test bits one by one. Now we introduce another way to test bits, which is more powerful in the sense that any bit can be tested anytime and not necessarily in order. AND can be applied on a destination with a 1-bit in the desired position and a source, which is to be checked. If the destination is zero as a result, which can be checked with a JZ instruction, the bit at the desired position in the source was clear.&lt;br /&gt;&lt;br /&gt;However the AND operation destroys the destination mask, which might be needed later as well. Therefore Intel provided us with another instruction analogous to CMP, which is non-destructive subtraction. This is the TEST instruction and is a non-destructive AND operation. It doesn’t change the destination and only sets the flags according to the AND operation. By checking the flags, we can see if the desired bit was set or cleared.&lt;br /&gt;&lt;br /&gt;We change our multiplication algorithm to use selective bit testing instead of checking bits one by one using the shifting operations.&lt;br /&gt;&lt;br /&gt;Example 4.3&lt;br /&gt;&lt;br /&gt;01 ;  16bit  multiplication  using  test  for  bit  testing&lt;br /&gt;02 [org  0x0100]   &lt;br /&gt;03  jmp start &lt;br /&gt;04    &lt;br /&gt;05 multiplicand:  dd 1300 ;  16bit  multiplicand  32bit  space&lt;br /&gt;06 multiplier: dw 500 ;  16bit  multiplier&lt;br /&gt;07 result: dd 0 ;  32bit  result&lt;br /&gt;08    &lt;br /&gt;09 start: mov cl,  16 ;  initialize  bit  count  to  16&lt;br /&gt;10  mov bx,  1 ;  initialize  bit  mask&lt;br /&gt;11    &lt;br /&gt;12 checkbit: test  bx,  [multiplier] ;  move  right  most  bit  in  carry&lt;br /&gt;13  jz skip ;  skip  addition  if  bit  is  zero&lt;br /&gt;14    &lt;br /&gt;15  mov ax,  [multiplicand] &lt;br /&gt;16  add [result],  ax ;  add  less  significant  word&lt;br /&gt;17  mov ax,  [multiplicand+2]&lt;br /&gt;18  adc [result+2],  ax ;  add  more  significant  word&lt;br /&gt;19    &lt;br /&gt;20 skip: shl word  [multiplicand],  1&lt;br /&gt;21  rcl    word  [multiplicand+2],  1  ;  shift  multiplicand  left&lt;br /&gt;22  shl bx,  1 ;  shift  mask  towards  next  bit&lt;br /&gt;23  dec cl ;  decrement  bit  count&lt;br /&gt;24  jnz checkbit ;  repeat  if  bits  left&lt;br /&gt;25    &lt;br /&gt;26  mov ax,  0x4c00 ;  terminate  program&lt;br /&gt;27  int 0x21 &lt;br /&gt; &lt;br /&gt;12 The test instruction is used for bit testing. BX holds the mask and in&lt;br /&gt; every  next  iteration  it  is  shifting  left,  as  our  concerned  bit  is  now  the&lt;br /&gt; next bit.   &lt;br /&gt;22-24 We can do without counting in this example. We can stop as soon as&lt;br /&gt; our   mask   in   BX   becomes   zero.   These   are   the   small   tricks   that&lt;br /&gt; assembly allows us to do and optimize our code as a result.&lt;br /&gt;    &lt;br /&gt; &lt;br /&gt;57&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Inside the debugger observe that both the memory location and the mask in BX do not change as a result of TEST instruction. Also observe how our mask is shifting towards the left so that the next TEST instruction tests the next bit. In the end we get the same result of 0009EB10 as in the previous example.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-3870498156161213043?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/3870498156161213043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/masking-operations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/3870498156161213043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/3870498156161213043'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/masking-operations.html' title='MASKING OPERATIONS'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-255117352702489281</id><published>2009-06-03T18:51:00.001-07:00</published><updated>2009-06-03T18:51:54.188-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>BITWISE LOGICAL OPERATIONS</title><content type='html'>The 8088 processor provides us with a few logical operations that operate at the bit level. The logical operations are the same as discussed in computer logic design; however our perspective will be a little different. The four basic operations are AND, OR, XOR, and NOT.&lt;br /&gt;&lt;br /&gt;The important thing about these operations is that they are bitwise. This means that if “and ax, bx” instruction is given, then the operation of AND is applied on corresponding bits of AX and BX. There are 16 AND operations as a result; one for every bit of AX. Bit 0 of AX will be set if both its original value and Bit 0 of BX are set, bit 1 will be set if both its original value and Bit 1 of BX are set, and so on for the remaining bits. These operations are conducted in parallel on the sixteen bits. Similarly the operations of other logical operations are bitwise as well.&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;X 0 0 1 1&lt;br /&gt;&lt;br /&gt;Y 0 1 0 1&lt;br /&gt;&lt;br /&gt;55&lt;br /&gt;AND operation           &lt;br /&gt;AND    performs    the logical bitwise and   of the two    &lt;br /&gt;      X Y X and Y &lt;br /&gt;operands  (byte  or  word)  and returns the result  to  the    &lt;br /&gt;    0 0 0 &lt;br /&gt;destination   operand.   A bit in the   result is   set if both    &lt;br /&gt;       0 1 0 &lt;br /&gt;corresponding    bits    of the original   operands are set;    &lt;br /&gt;     1 0 0 &lt;br /&gt;otherwise  the  bit  is  cleared  as  shown  in  the  truth  table.    &lt;br /&gt; 1 1 1 &lt;br /&gt;Examples  are  “and  ax,  bx”  and  “and  byte  [mem],  5.”  All    &lt;br /&gt;    &lt;br /&gt;possibilities  that  are  legal  for  addition  are  also  le gal  for  the  AND  operation.  &lt;br /&gt;The different thing is the bitwise behavior of this operation.    &lt;br /&gt;OR operation           &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;OR performs the logical bitwise “inclusive or” of the two operands (byte or word) and returns the result to the destination operand. A bit in the result is set if either or both corresponding bits in the original operands are set otherwise the result bit is cleared as shown in the truth table. Examples are “or ax, bx” and “or byte [mem], 5.”&lt;br /&gt;&lt;br /&gt;XOR operation&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;X or Y 0 1 1 1&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;XOR (Exclusive Or) performs the logical bitwise    &lt;br /&gt;       X  Y X xor  Y &lt;br /&gt;“exclusive  or”  of  the  two  operands  and  returns  the  result     &lt;br /&gt; 0  0 0 &lt;br /&gt;to  the  destination  operand.  A  bit  in  the  result  is  set  if  the     &lt;br /&gt; 0  1 1 &lt;br /&gt;corresponding bits of the original operands contain     &lt;br /&gt;       1  0 1 &lt;br /&gt;opposite  values  (one  is  set,  the  other  is  cleared)  otherwise     &lt;br /&gt; 1  1 0 &lt;br /&gt;the  result  bit  is  cleared  as  shown  in  the  truth  table.  XOR     &lt;br /&gt;    &lt;br /&gt;is  a  very  important  operation  due  to  the  property  that  it  is  a  reversible  &lt;br /&gt;operation. It is used in many cryptography algorithms, image processing, and  &lt;br /&gt;in drawing operations. Examples are “xor ax, bx” and “xor byte [mem], 5.”   &lt;br /&gt;&lt;br /&gt;NOT operation&lt;br /&gt;&lt;br /&gt;NOT inverts the bits (forms the one’s complement) of the byte or word operand. Unlike the other logical operations, this is a single operand instruction, and is not purely a logical operation in the sense the others are, but it is still traditionally counted in the same set. Examples are “not ax” and “not byte [mem], 5.”&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-255117352702489281?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/255117352702489281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/bitwise-logical-operations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/255117352702489281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/255117352702489281'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/bitwise-logical-operations.html' title='BITWISE LOGICAL OPERATIONS'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-1046877238358553996</id><published>2009-06-03T18:50:00.002-07:00</published><updated>2009-06-03T18:51:19.713-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>EXTENDED OPERATIONS</title><content type='html'>We performed a 4bit multiplication to explain the algorithm however the real advantage of the computer is when we ask it to multiply large numbers. Numbers whose multiplication takes real time. If we have an 8bit number we can do the multiplication in word registers, but are we limited to word operations? What if we want to multiply 32bit or even larger numbers? We are certainly not limited. Assembly language only provides us the basic building blocks. We build a plaza out of these blocks, or a building, or a classic piece of architecture is only dependant upon our imagination. With our logic we can extend these algorithms as much as we want.&lt;br /&gt;&lt;br /&gt;Our next example will be multiplication of 16bit numbers to produce a 32bit answer. However for a 32bit answer we need a way to shift a 32bit number and a way to add 32bit numbers. We cannot depend on 16bit shifting as we have 16 significant bits in our multiplicand and shifting any bit towards the left may drop a valuable bit causing a totally wrong result. A valuable bit means any bit that is one. Dropping a zero bit doesn’t cause any difference. So we place the 16it number in 32bit space with the upper 16 bits zeroed so that the sixteen shift operations don’t cause any valuable bit to drop. Even though the numbe rs were 16bit we need 32bit operations to multiply correctly.&lt;br /&gt;&lt;br /&gt;To clarify this necessity, we take example of a number 40000 or 9C40 in hexadecimal. In binary it is represented as 1001110001000000. To multiply&lt;br /&gt; &lt;br /&gt;52&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;by two we shift it one place to the left. The answer we get is 0011100010000000 and the left most one is dropped in the carry flag. The answer should be the 17bit number 0x13880 but it is 0x3880, which is 14464 in decimal instead of the expected 80000. We should be careful of this situation whenever shifting is used.&lt;br /&gt;&lt;br /&gt;Extended Shifting&lt;br /&gt;&lt;br /&gt;Using our basic shifting and rotation instructions we can effectively shift a 32bit number in memory word by word. We cannot shift the whole number at once since our architecture is limited to word operations. The algorithm we use consists of just two instructions and we name it extended shifting.&lt;br /&gt;&lt;br /&gt;num1: dd      40000&lt;br /&gt;&lt;br /&gt;shl word [num1], 1 rcl word [num1+2], 1&lt;br /&gt;The DD directive reserves a 32bit space in memory, however the value we placed there will fit in 16bits. So we can safely shift the number left 16 times. The least significant word is accessible at num1 and the most significant word is accessible at num1+2.&lt;br /&gt;&lt;br /&gt;The two instructions are carefully crafted such that the first one shifts the lower word towards the left and the most significant bit of that word is dropped in carry. With the next instruction we push that dropped bit into the least significant bit of the next word effectively joining the two 16bit words. The final carry after the se cond instruction will be the most significant bit of the higher word, which for this number will always be zero.&lt;br /&gt;&lt;br /&gt;The following illustration will clarify the concept. The pipe on the right contains the lower half and the pipe on the left contains the upper half. The first instruction forced a zero from the right into the lower half and the left most bit is saved in carry, and from there it is pushed into the upper half and the upper half is shifted as well.&lt;br /&gt;&lt;br /&gt;  Step 1  C   1 0 1 1 0 1 0 0  0 &lt;br /&gt;                &lt;br /&gt;                &lt;br /&gt;          &lt;br /&gt;                         &lt;br /&gt;                         &lt;br /&gt;C  1 0 1 1 0 1 0  0   Step 2   &lt;br /&gt;               &lt;br /&gt;&lt;br /&gt;For shifting right the exact opposite is done however care must be taken to shift right the upper half first and then rotate through carry right the lower half for obvious reasons. The instructions to do this are.&lt;br /&gt;&lt;br /&gt;num1: dd      40000&lt;br /&gt;&lt;br /&gt;shr word [num1+2], 1 rcr word [num1], 1&lt;br /&gt;The same logic has worked. The shift placed the least significant bit of the upper half in the carry flag and it was pushed from right into the lower half. For a singed shift we would have used the shift arithmetic right instruction instead of the shift logical right instruction.&lt;br /&gt;&lt;br /&gt;The extension we have done is not limited to 32bits. We can shift a number of any size say 1024 bits. The second instruction will be repeated a number of times and we can achieve the desired effect. Using two simple instructions we have increased the capability of the operation to effectively an unlimited number of bits. The actual limit is the available memory as even the segment limit can be catered with a little thought.&lt;br /&gt;&lt;br /&gt;Extended Addition and Subtraction&lt;br /&gt;&lt;br /&gt;We also needed 32bit addition for multiplication of 16bit numbers. The idea of extension is same here. However we need to introduce a new instruction at this place. The instruction is ADC or “add with carry.” Normal addition has two operands and the second operand is added to the first&lt;br /&gt; &lt;br /&gt;53&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;operand. However ADC has three operands. The third implied operand is the carry flag. The ADC instruction is specifically placed for extending the capability of ADD. Numbers of any size can be added using a proper combination of ADD and ADC. All basic building blocks are provided for the assembly language programmer, and the programmer can extend its capabilities as much as needed by using these fine instructions in appropriate combinations.&lt;br /&gt;&lt;br /&gt;Further clarifying the ope ration of ADC, consider an instruction “ADC AX, BX.” Normal addition would have just added BX to AX, however ADC first adds the carry flag to AX and then adds BX to AX. Therefore the last carry is also included in the result.&lt;br /&gt;&lt;br /&gt;The algorithm should be apparent by now. The lower halves of the two numbers to be added are firsted added with a normal addition. For the upper halves a normal addition would lose track of a possible carry from the lower halves and the answer would be wrong. If a carry was generated it should go to the upper half. Therefore the upper halves are added with an addition with carry instruction.&lt;br /&gt;&lt;br /&gt;Since one operand must be in register, ax is used to read the lower and upper halves of the source one by one. The destination is directly updated. The set of instructions goes here.&lt;br /&gt;&lt;br /&gt;dest: dd 40000&lt;br /&gt;src: dd 80000&lt;br /&gt; mov ax,  [src]&lt;br /&gt; add word  [dest],  ax&lt;br /&gt; mov ax,  [src+2]&lt;br /&gt; adc word  [dest+2],  ax&lt;br /&gt;&lt;br /&gt;To further extend it more addition with carries will be used. However the carry from last addition will be wasted as there will always be a size limit where the results and the numbers are stored. This carry will remain in the carry flag to be tested for a possible overflow.&lt;br /&gt;&lt;br /&gt;For subtraction the same logic will be used and just like addition with carry there is an instruction to subtract with borrow called SBB. Borrow in the name means the carry flag and is used just for clarity. Or we can say that the carry flag holds the carry for addition instructions and the borrow for subtraction instructions. Also the carry is generated at the 17th bit and the borrow is also taken from the 17th bit. Also there is no single instruction that needs borrow and carry in their independent meanings at the same time. Therefore it is logical to use the same flag for both tasks.&lt;br /&gt;&lt;br /&gt;We extend subtraction with a very similar algorithm. The lower halves must be subtracted normally while the upper halves must be subtracted with a subtract with borrow instruction so that if the lower halves needed a borrow, a one is subtracted from the upper halves. The algorithm is as under.&lt;br /&gt;&lt;br /&gt;dest: dd 40000&lt;br /&gt;src: dd 80000&lt;br /&gt; mov ax,  [src]&lt;br /&gt; sub word  [dest],  ax&lt;br /&gt; mov ax,  [src+2]&lt;br /&gt; sbb word  [dest+2],  ax&lt;br /&gt;&lt;br /&gt;Extended Multiplication&lt;br /&gt;&lt;br /&gt;We use extended shifting and extended addition to formulate our algorithm to do extended multiplication. The multiplier is still stored in 16bits since we only need to check its bits one by one. The multiplicand however cannot be stored in 16bits otherwise on left shifting its significant bits might get lost. Therefore it has to be stored in 32bits and the shifting and addition used to accumulate the result must be 32bits as well.&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Example 4.2&lt;br /&gt; &lt;br /&gt;54    &lt;br /&gt;01 ;  16bit  multiplication &lt;br /&gt;02 [org  0x0100]   &lt;br /&gt;03  jmp start &lt;br /&gt;04    &lt;br /&gt;05 multiplicand:  dd 1300 ;  16bit  multiplicand  32bit  space&lt;br /&gt;06 multiplier: dw 500 ;  16bit  multiplier&lt;br /&gt;07 result: dd 0 ;  32bit  result&lt;br /&gt;08    &lt;br /&gt;09 start: mov cl,  16 ;  initialize  bit  count  to  16&lt;br /&gt;10  mov dx,  [multiplier] ;  load  multiplier  in  dx&lt;br /&gt;11    &lt;br /&gt;12 checkbit: shr dx,  1 ;  move  right  most  bit  in  carry&lt;br /&gt;13  jnc skip ;  skip  addition  if  bit  is  zero&lt;br /&gt;14    &lt;br /&gt;15  mov ax,  [multiplicand] &lt;br /&gt;16  add [result],  ax ;  add  less  significant  word&lt;br /&gt;17  mov ax,  [multiplicand+2]&lt;br /&gt;18  adc [result+2],  ax ;  add  more  significant  word&lt;br /&gt;19    &lt;br /&gt;20 skip: shl word  [multiplicand],  1&lt;br /&gt;21  rcl    word  [multiplicand+2],  1  ;  shift  multiplicand  left&lt;br /&gt;22  dec cl ;  decrement  bit  count&lt;br /&gt;23  jnz checkbit ;  repeat  if  bits  left&lt;br /&gt;24    &lt;br /&gt;25  mov ax,  0x4c00 ;  terminate  program&lt;br /&gt;26  int 0x21 &lt;br /&gt;&lt;br /&gt;05-07 The  multiplicand  and  the  multiplier  are  stored  in  32bit  space  while &lt;br /&gt;10 the multiplier is stored as a word. &lt;br /&gt; The  multiplier  is  loaded in  DX  where  it  will  be  shifted  bit  by  bit.  It &lt;br /&gt; can be directly shifted in memory as well. &lt;br /&gt;15-18 The   multiplicand   is   added   to   the   result   using   extended   32bit &lt;br /&gt;20-21 addition. &lt;br /&gt; The  multiplicand  is  shifted  left  as  a  32bit  number  using  extended &lt;br /&gt;  &lt;br /&gt; shifting operation. &lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;The multiplicand will occupy the space from 0103-0106, the multiplier will occupy space from 0107-0108 and the result will occupy the space from 0109-010C. Inside the debugger observe the changes in these memory locations during the course of the algorithm. The extended shifting and addition operations provide the same effect as would be provided if there were 32bit addition and shifting operations available in the instruction set.&lt;br /&gt;&lt;br /&gt;At the end of the algorithm the result memory locations contain the value 0009EB10 which is 65000 in decimal; the desired answer. Also observe that the number 00000514 which is 1300 in decimal, our multiplicand, has become 05140000 after being left shifted 16 times. Our extended shifting has given the same result as if a 32bit number is left shifted 16 times as a unit.&lt;br /&gt;&lt;br /&gt;There are many other important applications of the shifting and rotation operations in addition to this example of the multiplication algorithm. More examples will come in coming chapters.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-1046877238358553996?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/1046877238358553996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/extended-operations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1046877238358553996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1046877238358553996'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/extended-operations.html' title='EXTENDED OPERATIONS'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-571705070101341675</id><published>2009-06-03T18:50:00.001-07:00</published><updated>2009-06-03T18:50:40.106-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>MULTIPLICATION IN ASSEMBLY LANGUAGE</title><content type='html'>In the multiplication algorithm discussed above we revised the way we multiplied number in lower classes, and gave an example of that method on binary numbers. We make a simple modification to the traditional algorithm before we proceed to formulate it in assembly language.&lt;br /&gt;&lt;br /&gt;In the traditional algorithm we calculate all intermediate answers and then sum them to get the final answer. If we add every intermediate answer to accumulate the result, the result will be same in the end, except that we do not have to remember a lot of intermediate answers during the whole multiplication. The multiplication with the new algorithm is shown below.&lt;br /&gt;&lt;br /&gt;1101  =  13 Accumulated  Result&lt;br /&gt;0101  =  5  &lt;br /&gt;-----  0  (Initial  Value)&lt;br /&gt;1101  =  13 0  +  13 =  13&lt;br /&gt;0000x  =  0 13  +  0 =  13&lt;br /&gt;1101xx  =  52 13  +  52  =  65&lt;br /&gt;0000xxx  =  0 65  +  0 =  65  (Answer)&lt;br /&gt;&lt;br /&gt;We try to identify steps of our algorithm. First we set the result to zero. Then we check the right most bit of multiplier. If it is one add the multiplicand to the result, and if it is zero perform no addition. Left shift the multiplicand before the next bit of multiplier is tested. The left shifting of the multiplicand is performed regardless of the value of the multiplier’s right most bit. Just like the crosses in traditional multiplication are always placed to mark the ones, tens, thousands, etc. places. Then check the next bit and if it is one add the shifted value of the multiplicand to the result. Repeat for as many digits as there are in the multiplier, 4 in our example. Formulating the steps of the algorithm we get:&lt;br /&gt;&lt;br /&gt;• Shift the multiplier to the right. &lt;br /&gt;• If CF=1 add the multiplicand to the result. &lt;br /&gt;&lt;br /&gt;• Shift the multiplicand to the right. &lt;br /&gt;• Repeat the algorithm 4 times. &lt;br /&gt;&lt;br /&gt;For an 8bit multiplication the algorithm will be repeated 8 times and for a sixteen bit multiplication it will be repeated 16 times, whatever the size of the multiplier is.&lt;br /&gt;&lt;br /&gt;The algorithm uses the fact that shifting right forces the right most bit to drop in the carry flag. If we test the carry flag using JC we are effectively testing the right most bit of the multiplier. Another shifting will cause the next bit to drop in the next iterati on and so on. So our task of checking bits one by one is satisfied using the shift operation. There are many other methods to do this bit testing as well, however we exemplify one of the methods in this example.&lt;br /&gt;&lt;br /&gt;In the first iteration there is no shifting just like there is no cross in traditional multiplication in the first pass. Therefore we placed the left shifting of the multiplicand after the addition step. However the right shifting of multiplier must be before the addition as the addition step’s exe cution depends upon its result.&lt;br /&gt;&lt;br /&gt;We introduce an assembly language program to perform this 4bit multiplication. The algorithm is extensible to more bits but there are a few complications, which are left to be discussed later. For now we do a 4bit multiplication to keep the algorithm simple.&lt;br /&gt;&lt;br /&gt;Example 4.1&lt;br /&gt;&lt;br /&gt;01 ;  4bit  multiplication  algorithm &lt;br /&gt;02 [org  0x100]   &lt;br /&gt;03  jmp start &lt;br /&gt;04    &lt;br /&gt;05 multiplicand:  db 13 ;  4bit  multiplicand  (8bit  space)&lt;br /&gt;06 multiplier: db 5 ;  4bit  multiplier&lt;br /&gt; &lt;br /&gt;    51&lt;br /&gt;07 result: db 0 ;  8bit  result&lt;br /&gt;08    &lt;br /&gt;09 start: mov cl,  4 ;  initialize  bit  count  to  four&lt;br /&gt;10  mov    bl,  [multiplicand]  ;  load  multiplicand  in  bl&lt;br /&gt;11  mov dl,  [multiplier] ;  load  multiplier  in  dl&lt;br /&gt;12    &lt;br /&gt;13 checkbit: shr dl,  1 ;  move  right  most  bit  in  carry&lt;br /&gt;14  jnc skip ;  skip  addition  if  bit  is  zero&lt;br /&gt;15    &lt;br /&gt;16  add [result],  bl ;  accumulate  result&lt;br /&gt;17    &lt;br /&gt;18 skip: shl bl,  1 ;  shift  multiplicand  left&lt;br /&gt;19  dec cl ;  decrement  bit  count&lt;br /&gt;20  jnz checkbit ;  repeat  if  bits  left&lt;br /&gt;21    &lt;br /&gt;22  mov ax,  0x4c00 ;  terminate  program&lt;br /&gt;23  int 0x21 &lt;br /&gt;&lt;br /&gt;04-06 The numbers to be multiplied are constants for now. The multiplication is four bit so the answer is stored in an 8bit register. If the operands were 8bit the answer would be 16bit and if the&lt;br /&gt;&lt;br /&gt;7 operands were 16bit the answer would be 32bit. Since eight bits can fit in a byte we have used 4bit multiplication as our first example. Since addition by zero means nothing we skip the addition step if &lt;br /&gt;14-16 the  rightmost  bit  of  the  multiplier  is  zero.  If  the  jump  is  not  taken &lt;br /&gt;  &lt;br /&gt; the shifted value of the multiplicand is added to the result. &lt;br /&gt; The  multiplicand  is  left  shifted  in  every  iteration  regardless  of  the &lt;br /&gt;&lt;br /&gt;18 multiplier bit. &lt;br /&gt;&lt;br /&gt;DEC  is  a  new  instruction  but  its  operation  should  be  immediately &lt;br /&gt;&lt;br /&gt;19 understandable with the knowledge gained till now. It simply subtracts one from its single operand. &lt;br /&gt;The  JNZ  instruction  causes  the  algorithm  to  repeat  till  any  bits  of&lt;br /&gt;20&lt;br /&gt;the multiplier are left&lt;br /&gt;&lt;br /&gt;Inside the debugger observe the working of the SHR and SHL instructions. The SHR instruction is effectively dividing its operand by two and the remainder is stored in the carry flag from where we test it. The SHL instruction is multiplying its operand by two so that it is added at one place more towards the left in the result.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-571705070101341675?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/571705070101341675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/multiplication-in-assembly-language.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/571705070101341675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/571705070101341675'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/multiplication-in-assembly-language.html' title='MULTIPLICATION IN ASSEMBLY LANGUAGE'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-7384549107135827562</id><published>2009-06-03T18:49:00.002-07:00</published><updated>2009-06-03T18:50:04.426-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>SHIFTING AND ROTATIONS</title><content type='html'>The set of shifting and rotation instructions is one of the most useful set in any processor’s instruction set. They simplify really complex tasks to a very&lt;br /&gt; &lt;br /&gt;48&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;neat and concise algorithm. The following shifting and rotation operations are available in our processor.&lt;br /&gt;&lt;br /&gt;Shift Logical Right (SHR)&lt;br /&gt;&lt;br /&gt;The shift logical right operation inserts a zero from the left and moves every bit one position to the right and copies the rightmost bit in the carry flag. Imagine that there is a pipe filled to capacity with eight balls. The pipe is open from both ends and there is a basket at the right end to hold anything dropping from there. The operation of shift logical right is to force a white ball from the left end. The operation is depicted in the following illustration.&lt;br /&gt;&lt;br /&gt;0  1 0 1 1 0 1 0 0  C &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;White balls represent zero bits while black balls represent one bits. Sixteen bit shifting is done the same way with a pipe of double capacity.&lt;br /&gt;&lt;br /&gt;Shift Logical Left (SHL) / Shift Arithmetic Left (SAL)&lt;br /&gt;&lt;br /&gt;The shift logical left operation is the exact opposite of shift logical right. In this operation the zero bit is inserted from the right and every bit moves one position to its left with the most significant bit dropping into the carry flag. Shift arithmetic left is just another name for shift logical left. The operation is again exemplified with the following illustration of ball and pipes.&lt;br /&gt;&lt;br /&gt;C  1 0 1 1 0 1 0 0  0 &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Shift Arithmetic Right (SAR)&lt;br /&gt;&lt;br /&gt;A signed number holds the sign in its most significant bit. If this bit was one a logical right shifting will change the sign of this number because of insertion of a zero from the left. The sign of a signed number should not change because of shifting.&lt;br /&gt;&lt;br /&gt;The operation of shift arithmetic right is therefore to shift every bit one place to the right with a copy of the most significant bit left at the most significant place. The bit dropped from the right is caught in the carry basket. The sign bit is retained in this operation. The operation is further illustrated below.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;             &lt;br /&gt;  1 0 1 1 0 1 0 0  C &lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;The left shifting operation is basically multiplication by 2 while the right shifting operation is division by two. However for signed numbers division by two can be accomplished by using shift arithmetic right and not shift logical right. The left shift operation is equivalent to multiplication except when an important bit is dropped from the left. The overflow flag will signal this condition if it occurs and can be checked with JO. For division by 2 of a signed number logical right shifting will give a wrong answer for a negative number as the zero inserted from the left will change its sign. To retain the sign flag and still effectively divide by two the shift arithmetic right instruction must be used on signed numbers.&lt;br /&gt; &lt;br /&gt;49&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Rotate Right (ROR)&lt;br /&gt;&lt;br /&gt;In the rotate right operation every bit moves one position to the right and the bit dropped from the right is inserted at the left. This bit is also copied into the carry flag. The operation can be understood by imagining that the pipe used for shifting has been molded such that both ends coincide. Now when the first ball is forced to move forward, every ball moves one step forward with the last ball entering the pipe from its other end occupying the first ball’s old position. The carry basket takes a snapshot of this ball leaving one end of the pipe and entering from the other.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;             &lt;br /&gt;  1 0 1 1 0 1 0 0  C &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Rotate Left (ROL)&lt;br /&gt;&lt;br /&gt;In the operation of rotate left instruction, the most significant bit is copied to the carry flag and is inserted from the right, causing every bit to move one position to the left. It is the reverse of the rotate right instruction. Rotation can be of eight or sixteen bits. The following illustration will make the concept clear using the same pipe and balls example.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;C  1 0 1 1 0 1 0 0 &lt;br /&gt;          &lt;br /&gt;          &lt;br /&gt;&lt;br /&gt;Rotate Through  Carry Right (RCR)&lt;br /&gt;&lt;br /&gt;In the rotate through carry right instruction, the carry flag is inserted from the left, every bit moves one position to the right, and the right most bit is dropped in the carry flag. Effectively this is a nine bit or a seventeen bit rotation instead of the eight or sixteen bit rotation as in the case of simple rotations.&lt;br /&gt;&lt;br /&gt;Imagine the circular molded pipe as used in the simple rotations but this time the carry position is part of the circle between the two ends of the pipe. Pushing the carry ball from the left causes every ball to move one step to its right and the right most bit occupying the carry place. The idea is further illustrated below.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;             &lt;br /&gt;  1 0 1 1 0 1 0 0  C &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Rotate Through Carry Left (RCL)&lt;br /&gt;&lt;br /&gt;The exact opposite of rotate through carry right instruction is the rotate through carry left instruction. In its operation the carry flag is inserted from the right causing every bit to move one location to its left and the most significant bit occupying the carry flag. The concept is illustrated below in the same manner as in the last example.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;C  1 0 1 1 0 1 0 0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-7384549107135827562?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/7384549107135827562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/shifting-and-rotations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7384549107135827562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7384549107135827562'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/shifting-and-rotations.html' title='SHIFTING AND ROTATIONS'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-3242381438139593986</id><published>2009-06-03T18:49:00.001-07:00</published><updated>2009-06-03T18:49:24.656-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>MULTIPLICATION ALGORITHM</title><content type='html'>With the important capability of decision making in our repertoire we move on to the discussion of an algorithm, which will help us uncover an important set of instructions in our processor used for bit manipulations.&lt;br /&gt;&lt;br /&gt;Multiplication is a common process that we use, and we were trained to do in early schooling. Remember multiplying by a digit and then putting a cross and then multiplying with the next digit and putting two crosses and so on and summing the intermediate results in the end. Very familiar process but we never saw the process as an algorithm, and we need to see it as an algorithm to convey it to the processor.&lt;br /&gt;&lt;br /&gt;To highlight the important thing in the algorithm we revise it on two 4bit binary numbers. The numbers are 1101 i.e. 13 and 0101 i.e. 5. The answer should be 65 or in binary 01000001. Observe that the answer is twice as long as the multiplier and the multiplicand. The multiplication is shown in the following figure.&lt;br /&gt;&lt;br /&gt;1101  =  13&lt;br /&gt;&lt;br /&gt;0101  =  5&lt;br /&gt;-----&lt;br /&gt;1101&lt;br /&gt;&lt;br /&gt;0000x 1101xx 0000xxx&lt;br /&gt;--------&lt;br /&gt;01000001  =  65&lt;br /&gt;&lt;br /&gt;We take the first digit of the multiplier and multiply it with the multiplicand. As the digit is one the answer is the multiplicand itself. So we place the multiplicand below the bar. Before multiplying with the next digit a cross is placed at the right most place on the next line and the result is placed shifted one digit left. However since the digit is zero, the result is zero. Next digit is one, multiplying with which, the answer is 1101. We put two crosses on the next line at the right most positions and place the result there shifted two places to the left. The fourth digit is zero, so the answer 0000 is placed with three crosses to its right.&lt;br /&gt;&lt;br /&gt;Observe the beauty of binary base, as no real multiplication is needed at the digit level. If the digit is 0 the answer is 0 and if the digit is 1 the answer is the multiplicand itself. Also observe that for every next digit in the multiplier the answer is written shifted one more place to the left. No shifting for the first digit, once for the second, twice for the third and thrice for the fourth one. Adding all the intermediate answers the result is 01000001=65 as desired. Crosses are treated as zero in this addition.&lt;br /&gt;&lt;br /&gt;Before formulating the algorithm for this problem, we need some more instructions that can shift a number so that we use this instruction for our multiplicand shifting and also some way to check the bits of the multiplier one by one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-3242381438139593986?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/3242381438139593986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/multiplication-algorithm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/3242381438139593986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/3242381438139593986'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/multiplication-algorithm.html' title='MULTIPLICATION ALGORITHM'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-7095794196288932496</id><published>2009-06-03T18:48:00.001-07:00</published><updated>2009-06-03T18:48:43.814-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>EXERCISES</title><content type='html'>1. Which registers are changed by the CMP instruction? &lt;br /&gt;&lt;br /&gt;2. What are the different types of jumps available? Describe position relative addressing. &lt;br /&gt;3. If AX=8FFF and BX=0FFF and “cmp ax, bx” is executed, which of the following jumps will be taken? Each part is independent of others. Also give the value of Z, S, and C flags. &lt;br /&gt;a. jg greater &lt;br /&gt;&lt;br /&gt;b. jl smaller &lt;br /&gt;&lt;br /&gt;c. ja above &lt;br /&gt;&lt;br /&gt;d. jb  below &lt;br /&gt;&lt;br /&gt;4. Write a program to find the maximum number and the minimum number from an array of ten numbers. &lt;br /&gt;5. Write a program to search a particular element from an array using binary search. If the element is found set AX to one and otherwise to zero. &lt;br /&gt;6. Write a program to calculate the factorial of a number where factorial is defined as: &lt;br /&gt;&lt;br /&gt;factorial(x) = x*(x-1)*(x-2)*...*1 factorial(0) = 1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-7095794196288932496?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/7095794196288932496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/exercises_03.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7095794196288932496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7095794196288932496'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/exercises_03.html' title='EXERCISES'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-1329039233651449292</id><published>2009-06-03T18:47:00.001-07:00</published><updated>2009-06-03T18:47:59.818-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>SORTING EXAMPLE</title><content type='html'>Moving ahead from our example of adding numbers we progress to a program that can sort a list of numbers using the tools that we have accumulated till now. Sorting can be ascending or descending like if the largest number comes at the top, followed by a smaller number and so on till the smallest number the sort will be called descending. The other order starting with the smallest number and ending at the largest is called ascending sort. This is a common problem and many algorithms have been developed to solve it. One simple algorithm is the bubble sort algorithm.&lt;br /&gt;&lt;br /&gt;In this algorithm we compare consecutive numbers. If they are in required order e.g. if it is a descending sort and the first is larger then the second, then we leave them as it is and if they are not in order, we swap them. Then we do the same process for the next two numbers and so on till the last two are compared and possibly swapped.&lt;br /&gt;&lt;br /&gt;A complete iteration is called a pass over the array. We need N passes at least in the simplest algorithm if N is the number of elements to be sorted. A finer algorithm is to check if any swap was done in this pass and stop as soon as a pass goes without a swap. The array is now sorted as every pair of elements is in order.&lt;br /&gt;&lt;br /&gt;For example if our list of numbers is 60, 55, 45, and 58 and we want to sort them in ascending order, the first comparison will be of 60 and 55 and as the order will be reversed to 55 and 60. The next comparison will be of 60 and 45 and again the two will be swapped. The next comparison of 60 and 58 will also cause a swap. At the end of first pass the numbers will be in order of 55, 45, 58, and 60. Observe that the largest number has bubbled down to the bottom. Just like a bubble at bottom of water. In the next pass 55 and 45 will be swapped. 55 and 58 will not be swapped and 58 and 60 will also not be swapped. In the next pass there will be no swap as the elements are in order i.e. 45, 55, 58, and 60. The passes will be stopped as the last pass did not cause any swap. The application of bubble sort on these numbers is further explained with the following illustration.&lt;br /&gt; &lt;br /&gt;         43  &lt;br /&gt;         &lt;br /&gt;   State  of  Data   Swap  Done Swap  Flag  &lt;br /&gt;   Pass  1     Off  &lt;br /&gt;           &lt;br /&gt;   60  55  45  58  Yes On  &lt;br /&gt;           Yes On  &lt;br /&gt;           &lt;br /&gt;   55  60  45  58     &lt;br /&gt;              &lt;br /&gt;           &lt;br /&gt;   55  45  60  58  Yes On  &lt;br /&gt;             &lt;br /&gt;   Pass  2      Off  &lt;br /&gt;        Yes On  &lt;br /&gt;   55  45  58  60     &lt;br /&gt;              &lt;br /&gt;           &lt;br /&gt;   45  55  58  60  No On  &lt;br /&gt;           No On  &lt;br /&gt;           &lt;br /&gt;   45  55  58  60     &lt;br /&gt;             &lt;br /&gt;   Pass  3      Off  &lt;br /&gt;           &lt;br /&gt;   45  55  58  60  No Off  &lt;br /&gt;           No Off  &lt;br /&gt;           &lt;br /&gt;   45  55  58  60     &lt;br /&gt;              &lt;br /&gt;           &lt;br /&gt;   45  55  58  60  No Off  &lt;br /&gt;         &lt;br /&gt;   No  more  passes  since  swap  flag  is  Off  &lt;br /&gt;         &lt;br /&gt;   Example 3.3      &lt;br /&gt;         &lt;br /&gt;      &lt;br /&gt;  001 ;  sorting  a  list  of  ten  numbers  using  bubble  sort  &lt;br /&gt;  002 [org  0x0100]       &lt;br /&gt;  003   jmp start    &lt;br /&gt;  004         &lt;br /&gt;  005 data:  dw 60,  55,  45,  50,  40,  35,  25,  30,  10,  0  &lt;br /&gt;  006 swap:  db 0     &lt;br /&gt;  007         &lt;br /&gt;  008 start:  mov bx,  0  ;  initialize  array  index  to  zero  &lt;br /&gt;  009   mov byte  [swap],  0 ;  rest  swap  flag  to  no  swaps  &lt;br /&gt;  010         &lt;br /&gt;  011 loop1:  mov ax,  [data+bx] ;  load  number  in  ax  &lt;br /&gt;  012   cmp ax,  [data+bx+2] ;  compare  with  next  number  &lt;br /&gt;  013   jbe noswap  ;  no  swap  if  already  in  order  &lt;br /&gt;  014         &lt;br /&gt;  015   mov dx,  [data+bx+2] ;  load  second  element  in  dx  &lt;br /&gt;  016   mov [data+bx+2],  ax ;  store  first  number  in  second  &lt;br /&gt;  017   mov [data+bx],  dx ;  store  second  number  in  first  &lt;br /&gt;  018   mov byte  [swap],  1 ;  flag  that  a  swap  has  been  done  &lt;br /&gt;  019         &lt;br /&gt;  020 noswap: add bx,  2  ;  advance  bx  to  next  index  &lt;br /&gt;  021   cmp bx,  18  ;  are  we  at  last  index  &lt;br /&gt;  022   jne loop1  ;  if  not  compare  next  two  &lt;br /&gt;  023         &lt;br /&gt;  024   cmp byte  [swap],  1 ;  check  if  a  swap  has  been  done  &lt;br /&gt;  025   je bsort  ;  if  yes  make  another  pass  &lt;br /&gt;  026         &lt;br /&gt;  027   mov ax,  0x4c00 ;  terminate  program  &lt;br /&gt;  028   int 0x21    &lt;br /&gt; &lt;br /&gt;44&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;003 The jump instruction is placed to skip over data.&lt;br /&gt;&lt;br /&gt;6 The swap flag can be stored in a register but as an example it is stored in memory and also to extend the concept at a later stage. &lt;br /&gt;&lt;br /&gt;011-012 One element is read in AX and it is compared with the next element because memory to memory comparisons are not allowed.&lt;br /&gt;&lt;br /&gt;13 If the JBE is changed to JB, not only the unnecessary swap on equal will be performed, there will be a major algorithmic flaw due to a logical error as in the case of equal elements the algorithm will never stop. JBE won’t swap in the case of equal elements. &lt;br /&gt;&lt;br /&gt;015-017 The swap is done using DX and AX registers in such a way that the values are crossed. The code uses the information that one of the elements is already in the AX register.&lt;br /&gt;&lt;br /&gt;21 This time BX is compared with 18 instead of 20 even though the number of elements is same. This is because we pick an element and compare it with the next element. When we pick the 9th element we compare it with the next element and this is the last comparison, since if we pick the 10th element we will compare it with the 11th element and there is no 11th element in our case. &lt;br /&gt;&lt;br /&gt;024-025 If a swap is done we repeat the whole process for possible more swaps.&lt;br /&gt;&lt;br /&gt;Inside the debugger we observe that the JBE is changed to JNA due to the same reason as discussed for JNE and JNZ. The passes change the data in the same manner as we presented in our illustration above. If JBE in the code is changed to JAE the sort will change from ascending to descending. For signed numbers we can use JLE and JGE respectively for ascending and descending sort.&lt;br /&gt;&lt;br /&gt;To clarify the difference of signed and unsigned jumps we change the data array in the last program to include some negative numbers as well. When JBE will be used on this data, i.e. with unsigned interpretation of the data and an ascendi ng sort, the negative numbers will come at the end after the largest positive number. However JLE will bring the negative numbers at the very start of the list to bring them in proper ascending order according to a signed interpretation, even though they are large in magnitude. The data used is shown as below.&lt;br /&gt;&lt;br /&gt;data: dw  60,  55,  45,  50,  -40,  -35,  25,  30,  10,  0&lt;br /&gt;&lt;br /&gt;This data includes some signed numbers as well. The JBE instruction will treat this data as an unsigned number and will cater only for the magnitude ignoring the sign. If the program is loaded in the debugger, the numbers will appear in their hexadecimal equivalent. The two numbers -40 and -35 are especially important as they are represented as FFD8 and FFDD. This data is not telling whether it is signed or unsigned. Our interpretation will decide whether it is a very large unsigned number or a signed number in two’s complement form.&lt;br /&gt;&lt;br /&gt;If the sorting algorithm is applied on the above data with JBE as the comparison instruction to sort in ascending order with unsigned interpretation, observe the comparisons of the two numbers FFD8 and FFDD. For example it will decide that FFDD &gt; FFD8 since the first is larger in magnitude. At the end of sorting FFDD will be at the end of the list being declared the largest number and FFD8 will precede it to be the second largest.&lt;br /&gt;&lt;br /&gt;If however the comparison instruction is changed to JLE and sorting is done on the same data it works similarly except on the two numbers FFDD and FFD8. This time JLE declares them to be smaller than every other number and also declares FFDD &lt; FFD8. At the end of sorting, FFDD is&lt;br /&gt; &lt;br /&gt;45&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;declared to be the smallest number followed by FFD8 and then 0000. This is in contrast to the last example where JBE was used. This happened because JLE interpreted our data as signed numbers, and as a signed number FFDD has its sign bit on signaling that it is a negative number in two’s complement form which is smaller than 0000 and every positive number. However JBE did not give any significance to the sign bit and included it in the magnitude. Therefore it declared the negative numbers to be the largest numbers.&lt;br /&gt;&lt;br /&gt;If the required interpretation was of signed numbers the result produced by JLE is correct and if the required interpretation was of unsigned numbers the re sult produced by JBE is correct. This is the very difference between signed and unsigned integers in higher level languages, where the compiler takes the responsibility of making the appropriate jump depending on the type of integer used. But it is only at this level that we can understand the actual mechanism going on. In assembly language, use of proper jump is the responsibility of the programmer, to convey the intentions to use the data as signed or as unsigned.&lt;br /&gt;The remaining possibilities of signed descending sort and unsigned descending sort can be done on the same lines and are left as an exercise. Other conditional jumps work in the same manner and can be studied from the reference at the end. Several will be discussed in more detail when they are used in subsequent chapters.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-1329039233651449292?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/1329039233651449292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/sorting-example.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1329039233651449292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1329039233651449292'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/sorting-example.html' title='SORTING EXAMPLE'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-4492086721325907749</id><published>2009-06-03T18:46:00.002-07:00</published><updated>2009-06-03T18:47:10.030-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>TYPES OF JUMP</title><content type='html'>The three types of jump, near, short, and far, differ in the size of instruction and the range of memory they can jump to with the smallest short form of two bytes and a range of just 256 bytes to the far form of five bytes and a range coveri ng the whole memory.&lt;br /&gt;&lt;br /&gt;Short  Jump    &lt;br /&gt;    &lt;br /&gt;EB  Disp   &lt;br /&gt;     &lt;br /&gt;Near  Jump    &lt;br /&gt;    &lt;br /&gt;EB  Disp  Low Disp  High  &lt;br /&gt;     &lt;br /&gt;Far  Jump    &lt;br /&gt;     &lt;br /&gt;EB  IP  Low IP  High CS  Low CS  High&lt;br /&gt;     &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Near Jump&lt;br /&gt;&lt;br /&gt;When the relative address stored with the instruction is in 16 bits as in the last example the jump is called a near jump. Using a near jump we can jump anywhere within a segment. If we add a large number it will wrap around to&lt;br /&gt; &lt;br /&gt;42&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;the lower part. A negative number actually is a large number and works this way using the wraparound behavior.&lt;br /&gt;&lt;br /&gt;Short Jump&lt;br /&gt;&lt;br /&gt;If the offset is stored in a single byte as in 75F2 with the opcode 75 and operand F2, the jump is called a short jump. F2 is added to IP as a signed byte. If the byte is negative the complement is negated from IP otherwise the byte is added. Unconditional jumps can be short, near, and far. The far type is yet to be discussed. Conditional jumps can only be short. A short jump can go +127 bytes ahead in code and -128 bytes backwards and no more. This is the limitation of a byte in singed representation.&lt;br /&gt;&lt;br /&gt;Far Jump&lt;br /&gt;&lt;br /&gt;Far jump is not position relative but is absolute. Both segment and offset must be given to a far jump. The previous two jumps were used to jump within a segment. Sometimes we may need to go from one code segment to another, and near and short jumps cannot take us there. Far jump must be used and a two byte segment and a two byte offset are given to it. It loads CS wit the segment part and IP with the offset part. Execution therefore resumes from that location in physical memory. The three instructions that have a far form are JMP, CALL, and RET, are related to program control. Far capability makes intra segment control possible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-4492086721325907749?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/4492086721325907749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/types-of-jump.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/4492086721325907749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/4492086721325907749'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/types-of-jump.html' title='TYPES OF JUMP'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-5404035648430626806</id><published>2009-06-03T18:46:00.001-07:00</published><updated>2009-06-03T18:46:28.276-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>RELATIVE ADDRESSING</title><content type='html'>Inside the debugger the instruction is shown as JMP 0119 and the location 0119 contains the original first instruction of the logic of our program. This jump is unconditional, it will always be taken. Now looking at the opcode we see F21600 where F2 is the opcode and 1600 is the operand to it. 1600 is 0016 in proper word order. 0119 is not given as a parameter rather 0016 is given.&lt;br /&gt;&lt;br /&gt;This is position relative addressing in contrast to absolute addressing. It is not telling the exact address rather it is telling how much forward or backward to go from the current position of IP in the current code segment. So the instruction means to add 0016 to the IP register. At the time of execution of the first instruction at 0100 IP was pointing to the next instruction at 0103, so after adding 16 it became 0119, the desired target location. The mechanism is important to know, however all calculations in this mechanism are done by the assembler and by the processor. We just use a label with the JMP instruction and are ensured that the instruction at the target label will be the one to be executed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-5404035648430626806?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/5404035648430626806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/relative-addressing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/5404035648430626806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/5404035648430626806'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/relative-addressing.html' title='RELATIVE ADDRESSING'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-5282669650294993461</id><published>2009-06-03T18:45:00.001-07:00</published><updated>2009-06-03T18:45:56.788-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>UNCONDITIONAL JUMP</title><content type='html'>Till now we have been placing data at the end of code. There is no such restriction and we can define data anywhere in the code. Taking the previous example, if we place data at the start of code inste ad of at the end and we load our program in the debugger. We can see our data placed at the start but the debugger is intending to start execution at our data. The COM file definition said that the first executable instruction is at offset 0100 but we have placed data there instead of code. So the debugger will try to interpret that data as code and showed whatever it could make up out of those opcodes.&lt;br /&gt;&lt;br /&gt;We introduce a new instruction called JMP. It is the unconditional jump that executes regardless of the state of all flags. So we write an unconditional jump as the very first instruction of our program and jump to the next instruction that follows our data declarations. This time 0100 contains a valid first instruction of our program.&lt;br /&gt;&lt;br /&gt;Example 3.2&lt;br /&gt;&lt;br /&gt;001 ;  a  program  to  add  ten  numbers  without  a  separate  counter&lt;br /&gt;002 [org  0x0100]   &lt;br /&gt;003  jmp  start ;  unconditionally  jump  over  data&lt;br /&gt;004    &lt;br /&gt;005 num1: dw      10,  20,  30,  40,  50,  10,  20,  30,  40,  50&lt;br /&gt;006 total: dw 0 &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;      41  &lt;br /&gt;        &lt;br /&gt;        &lt;br /&gt;  007      &lt;br /&gt;        &lt;br /&gt;  008 start: mov bx,  0 ;  initialize  array  index  to  zero  &lt;br /&gt;  009  mov ax,  0 ;  initialize  sum  to  zero  &lt;br /&gt;  010      &lt;br /&gt;  011 l1: add ax,  [num1+bx] ;  add  number  to  ax  &lt;br /&gt;  012  add bx,  2 ;  advance  bx  to  next  index  &lt;br /&gt;  013  cmp bx,  20 ;  are  we  beyond  the  last  index  &lt;br /&gt;  014  jne l1 ;  if  not  add  next  number  &lt;br /&gt;  015      &lt;br /&gt;  016  mov [total],  ax ;  write  back  sum  in  memory  &lt;br /&gt;  017      &lt;br /&gt;  018  mov ax,  0x4c00 ;  terminate  program  &lt;br /&gt;  019  int 0x21   &lt;br /&gt;        &lt;br /&gt;  003 JMP   jumps   over   the   data   declarations   to   the   start   label   and  &lt;br /&gt;     &lt;br /&gt;   execution resumes from there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-5282669650294993461?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/5282669650294993461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/unconditional-jump.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/5282669650294993461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/5282669650294993461'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/unconditional-jump.html' title='UNCONDITIONAL JUMP'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-7420460528620907099</id><published>2009-06-03T18:44:00.000-07:00</published><updated>2009-06-03T18:45:19.556-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>CONDITIONAL JUMPS</title><content type='html'>For every interesting or meaningful situation of flags, a conditional jump is there. For example JZ and JNZ check the zero flag. If in a comparison both operands are same, the result of subtraction will be zero and the zero flag will be set. Thus JZ and JNZ can be used to test equality. That is why there are renamed versions JE and JNE read as jump if equal or jump if not equal. They seem more logical in writing but mean exactly the same thing with the same opcode. Many jumps are renamed with two or three names for the same jump, so that the appropriate logi c can be conveyed in assembly language programs. This renaming is done by Intel and is a standard for iAPX88. JC and JNC test the carry flag. For example we may need to test whether there was an overflow in the last unsigned addition or subtraction. Carry flag will also be set if two unsigned numbers are subtracted and the first is smaller than the second. Therefore the renamed versions JB, JNAE, and JNB, JAE are there standing for jump if below, jump if not above or equal, jump if not below, and jump if above or equal respectively. The operation of all jumps can be seen from the following table.&lt;br /&gt;&lt;br /&gt;JC Jump if carry CF = 1 This  jump  is  taken  if&lt;br /&gt;JB Jump if below  the last arithmetic&lt;br /&gt;JNAE Jump if not above or equal  operation  generated  a&lt;br /&gt;   carry or required    a&lt;br /&gt;   borrow.  After a  CMP  it&lt;br /&gt;   is taken if the&lt;br /&gt;   unsigned source is&lt;br /&gt;   smaller than the&lt;br /&gt;   unsigned  destination.&lt;br /&gt;   &lt;br /&gt;JNC Jump if not carry CF = 0 This  jump  is  taken  if&lt;br /&gt;JNB Jump if not below  the last arithmetic&lt;br /&gt;JAE Jump if above or equal  operation did not&lt;br /&gt;      &lt;br /&gt; &lt;br /&gt;38&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    generated   a carry or&lt;br /&gt;    required a borrow.&lt;br /&gt;    After a CMP it is taken&lt;br /&gt;    if  the  unsigned  source&lt;br /&gt;    is   larger   or   equal   to&lt;br /&gt;    the   unsigned&lt;br /&gt;    destination.   &lt;br /&gt;    &lt;br /&gt;JE Jump if equal ZF = 1  This  jump  is  taken  if&lt;br /&gt;JZ Jump if zero   the last arithmetic&lt;br /&gt;    operation  produced  a&lt;br /&gt;    zero in its destination.&lt;br /&gt;    After a CMP it is taken&lt;br /&gt;    if  both  operands  were&lt;br /&gt;    equal.    &lt;br /&gt;    &lt;br /&gt;JNE Jump if not equal ZF = 0  This  jump  is  taken  if&lt;br /&gt;JNZ Jump if not zero   the last arithmetic&lt;br /&gt;    operation  did  not&lt;br /&gt;    produced  a  zero  in  its&lt;br /&gt;    destination. After a&lt;br /&gt;    CMP  it  is  taken  if  both&lt;br /&gt;    operands   were&lt;br /&gt;    different.    &lt;br /&gt;      &lt;br /&gt;JA Jump if above ZF  =  0  AND This jump is taken&lt;br /&gt;JNBE Jump if not below or equal CF = 0  after a CMP if the&lt;br /&gt;    unsigned source is&lt;br /&gt;    larger  than  the&lt;br /&gt;    unsigned  destination.&lt;br /&gt;       &lt;br /&gt;JNA Jump if not above ZF   =   1 OR This jump is taken&lt;br /&gt;JBE Jump if not below or equal CF = 1  after a CMP if the&lt;br /&gt;    unsigned source is&lt;br /&gt;    smaller  than  or  equal&lt;br /&gt;    to the  unsigned&lt;br /&gt;    destination.   &lt;br /&gt;       &lt;br /&gt;JL Jump if less SF  OF  This jump is taken&lt;br /&gt;JNGE Jump if not greater or equal   after a CMP if the&lt;br /&gt;    signed source is&lt;br /&gt;    smaller than  the&lt;br /&gt;    signed  destination. &lt;br /&gt;       &lt;br /&gt;JNL Jump if not less SF = OF  This jump is taken&lt;br /&gt;JGE Jump if greater or equal   after a CMP if the&lt;br /&gt;    signed source is larger&lt;br /&gt;    than   or   equal   to   the&lt;br /&gt;    signed  destination. &lt;br /&gt;      &lt;br /&gt;JG Jump if greater ZF  =  0  AND This jump is taken&lt;br /&gt;JNLE Jump if not less or equal SF = OF  after a CMP if the&lt;br /&gt;    signed  source  is  larger&lt;br /&gt;    than the  signed&lt;br /&gt;    destination.   &lt;br /&gt;       &lt;br /&gt;JNG Jump if not greater ZF   =   1 OR This jump is taken&lt;br /&gt;JLE Jump if less or equal SF  OF  after a CMP if the&lt;br /&gt;    signed source is&lt;br /&gt;    smaller  than  or  equal&lt;br /&gt;    to the  signed&lt;br /&gt;    destination.   &lt;br /&gt;         &lt;br /&gt; &lt;br /&gt;39&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;JO Jump if overflow. OF = 1 This  jump  is  taken  if&lt;br /&gt;   the last arithmetic&lt;br /&gt;   operation  changed  the&lt;br /&gt;   sign unexpectedly. &lt;br /&gt;   &lt;br /&gt;JNO Jump if not overflow OF = 0 This  jump  is  taken  if&lt;br /&gt;   the last arithmetic&lt;br /&gt;   operation did not&lt;br /&gt;   change the sign&lt;br /&gt;   unexpectedly. &lt;br /&gt;   &lt;br /&gt;JS Jump if sign SF = 1 This  jump  is  taken  if&lt;br /&gt;   the last arithmetic&lt;br /&gt;   operation  produced  a&lt;br /&gt;   negative number in its&lt;br /&gt;   destination. &lt;br /&gt;   &lt;br /&gt;JNS Jump if not sign SF = 0 This  jump  is  taken  if&lt;br /&gt;   the last arithmetic&lt;br /&gt;   operation  produced  a&lt;br /&gt;   positive  number  in  its&lt;br /&gt;   destination. &lt;br /&gt;     &lt;br /&gt;JP Jump if parity PF = 1 This jump is  taken  if&lt;br /&gt;JPE Jump if even parity  the last arithmetic&lt;br /&gt;   operation  produced  a&lt;br /&gt;   number in its&lt;br /&gt;   destination that has&lt;br /&gt;   even parity. &lt;br /&gt;   &lt;br /&gt;JNP Jump if not parity PF = 0 This  jump  is  taken  if&lt;br /&gt;JPO Jump if odd parity  the last arithmetic&lt;br /&gt;   operation  produced  a&lt;br /&gt;   number in its&lt;br /&gt;   destination that has&lt;br /&gt;   odd  parity.  &lt;br /&gt;   &lt;br /&gt;JCXZ Jump if CX is zero CX = 0 This  jump  is  taken  if&lt;br /&gt;   the CX register is zero.&lt;br /&gt;      &lt;br /&gt;&lt;br /&gt;The CMP instruction sets the flags reflecting the relation of the destination to the source. This is important as when we say jump if above, then what is above what. The destination is above the source or the source is above the destination.&lt;br /&gt;&lt;br /&gt;The JA and JB instructions are related to unsigned numbers. That is our interpretation for the destination and source operands is unsigned. The 16th bit holds data and not the sign. In the JL and JG instructions standing for jump if lower and jump if greater respectively, the interpretation is signed. The 16th bit holds the sign and not the data. The difference between them will be made clear as an elaborate example will be given to explain the difference.&lt;br /&gt;&lt;br /&gt;One jump is special that it is not dependant on any flag. It is JCXZ, jump if the CS register is zero. This is because of the special treatment of the CX register as a counter. This jump is regardless of the zero flag. There is no counterpart or not form of this instruction.&lt;br /&gt;&lt;br /&gt;The adding numbers example of the last chapter can be a little simplified using the compare instruction on the BX register and eliminating the need for a separate counter as below.&lt;br /&gt; &lt;br /&gt;40&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Example 3.1&lt;br /&gt;&lt;br /&gt;001 ;  a  program  to  add  ten  numbers  without  a  separate  counter&lt;br /&gt;002 [org  0x0100]   &lt;br /&gt;003  mov bx,  0 ;  initialize  array  index  to  zero&lt;br /&gt;004  mov ax,  0 ;  initialize  sum  to  zero&lt;br /&gt;005    &lt;br /&gt;006 l1: add ax,  [num1+bx] ;  add  number  to  ax&lt;br /&gt;007  add bx,  2 ;  advance  bx  to  next  index&lt;br /&gt;008  cmp bx,  20 ;  are  we  beyond  the  last  index&lt;br /&gt;009  jne l1 ;  if  not  add  next  number&lt;br /&gt;010    &lt;br /&gt;011  mov [total],  ax ;  write  back  sum  in  memory&lt;br /&gt;012    &lt;br /&gt;013  mov ax,  0x4c00 ;  terminate  program&lt;br /&gt;014  int 0x21 &lt;br /&gt;015    &lt;br /&gt;016 num1: dw 10,  20,  30,  40,  50,  10,  20,  30,  40,  50&lt;br /&gt;017 total: dw 0 &lt;br /&gt;&lt;br /&gt;006 The format of memory access is still base + offset.&lt;br /&gt;&lt;br /&gt;8 BX is used as the array index as well as the counter. The offset of 11th number will be 20, so as soon as BX becomes 20 just after the 10th number has been added, the addition is stopped. &lt;br /&gt;&lt;br /&gt;9 The jump is displayed as JNZ in the debugger even though we have written JNE in our example. This is because it is a renamed jump with the same opcode as JNZ and the debugger has no way of knowing the mnemonic that we used after looking just at the opcode. Also every code and data reference that we used till now is seen in the opcode as well. However for the jump instruction we see an operand of F2 in the opcode and not 0116. This will be discussed in detail with unconditional jumps. It is actually a short relative jump and the operand is stored in the form of positive or negative offset from this instruction. &lt;br /&gt;&lt;br /&gt;With conditional branching in hand, there are just a few small things left in assembly language that fills some gaps. Now there is just imagination and the skill to conceive programs that can make you write any program.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-7420460528620907099?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/7420460528620907099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/conditional-jumps.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7420460528620907099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7420460528620907099'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/conditional-jumps.html' title='CONDITIONAL JUMPS'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-1113979994502868651</id><published>2009-06-03T18:43:00.002-07:00</published><updated>2009-06-03T18:44:41.875-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>COMPARISON AND CONDITIONS</title><content type='html'>Conditional jump was introduced in the last chapter to loop for the addition of a fixed number of array elements. The jump was based on the zero flag. There are many other conditions possible in a program. For example an operand can be greater than another operand or it can be smaller. We use comparisons and boolean expressions extensively in higher level languages. They must be available is some form in assembly language, otherwise they could not possibly be made available in a higher level language. In fact they are available in a very fi ne and purified form.&lt;br /&gt;&lt;br /&gt;The basic root instruction for all comparisons is CMP standing for compare. The operation of CMP is to subtract the source operand from the destination operand, updating the flags without changing either the source or the destination. CMP is one of the key instructions as it introduces the capability of conditional routing in the processor.&lt;br /&gt;&lt;br /&gt;A closer thought reveals that with subtraction we can check many different conditions. For example if a larger number is subtracted from a smaller number a borrow is needed. The carry flag plays the role of borrow during the subtraction operation. And in this condition the carry flag will be set. If two equal numbers are subtracted the answer is zero and the zero flag will be set. Every significant relation between the destination and source is evident from the sign flag, carry flag, zero flag, and the overflow flag. CMP is meaningless without a conditional jump immediately following it.&lt;br /&gt;&lt;br /&gt;Another important distinction at this point is the difference between signed and unsigned numbers. In unsigned numbers only the magnitude of the number is important, whereas in signed numbers both the magnitude and the sign are important. For example -2 is greater than -3 but 2 is smaller than 3. The sign has affected our comparisons.&lt;br /&gt;&lt;br /&gt;Inside the computer signed numbers are represented in two’s complement notation. In essence a number in this representation is still a number, just that now our interpretation of this number will be signed. Whether we use jump above and below or we use jump greater or less will convey our intention to the processor. The jump above and greater operations at first sight seem to be doing the same operation, and similarly below and less operations seem to be similar. However for signed numbers JG and JL will work properly and for unsigned JA and JB will work properly and not the other way around.&lt;br /&gt;&lt;br /&gt;It is important to note that at the time of comparison, the intent of the programmer to treat the numbers as signed or unsigned is not clear. The subtraction in CMP is a normal subtraction. It is only after the comparison, during the conditional jump operation, that the intent is conveyed. At that time with a specific combination of flags checked the intent is satisfied.&lt;br /&gt;&lt;br /&gt;For example a number 2 is represented in a word as 0002 while the number -2 is represented as FFFE. In a byte they would be represented as 02 and FE. Now both have the same magnitude however the different sign has caused very different representation in two’s complement form. Now if the intent is to use FFFE or decimal 65534 then the same data would be placed in the word as in case of -2. In fact if -2 and 65534 are compared the processor will set the zero flag signaling that they are exactly equal. As regards an unsigned comparison the number 65534 is much greater than 2.&lt;br /&gt; &lt;br /&gt;36&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So if a JA is taken after comparing -2 in the destination with 2 in the source the jump will be taken. If however JG is used after the same comparison the jump will not be taken as it will consider the sign and with the sign -2 is smaller than 2. The key idea is that -2 and 65534 were both stored in memory in the same form. It was the interpretation that treated it as a signed or as an unsigned number.&lt;br /&gt;&lt;br /&gt;The unsigned comparisons see the numbers as 0 being the smallest and 65535 being the largest with the order that 0 &lt; 1 &lt; 2 … &lt; 65535. The signed comparisons see the number -32768 which has the same memory representation as 32768 as the smallest number and 32767 as the largest with the order -32768 &lt; -32767 &lt; … &lt; -1 &lt; 0 &lt; 1 &lt; 2 &lt; … &lt; 32767. All the negative numbers have the same representation as an unsigned number in the range 32768 … 65535 however the signed interpretation of the signed comparisons makes them be treated as negative numbers smaller than zero.&lt;br /&gt;&lt;br /&gt;All meaningful situations both for signed and unsigned numbers than occur after a comparison are detailed in the following table.&lt;br /&gt;&lt;br /&gt;DEST = SRC ZF = 1 When the source is subtracted&lt;br /&gt;  from the destination and both are&lt;br /&gt;  equal    the    result    is    zero    and&lt;br /&gt;  therefore  the  zero  flag  is  set. This&lt;br /&gt;  works     for     both     signed     and&lt;br /&gt;  unsigned numbers.    &lt;br /&gt;      &lt;br /&gt;UDEST &lt; USRC CF = 1 When an unsigned source is&lt;br /&gt;  subtracted from an unsigned&lt;br /&gt;  destination and the destination is&lt;br /&gt;  smaller,     a     borrow     is     needed&lt;br /&gt;  which sets the carry flag.  &lt;br /&gt;  &lt;br /&gt;UDEST  USRC ZF = 1 OR CF = 1 If   the   zero  flag  is  set,  it  means&lt;br /&gt;  that   the   source   and   destination&lt;br /&gt;  are  equal  and  if  the  carry  flag  is&lt;br /&gt;  set it means a borrow was needed&lt;br /&gt;  in  the  subtraction  and  therefore&lt;br /&gt;  the destination is smaller.  &lt;br /&gt;      &lt;br /&gt;UDEST  USRC CF = 0 When an unsigned source is&lt;br /&gt;  subtracted from an unsigned&lt;br /&gt;  destination    no    borrow    will    be&lt;br /&gt;  needed  either  when  the  operands&lt;br /&gt;  are  equal  or  when  the  destination&lt;br /&gt;  is greater than the source.  &lt;br /&gt;     &lt;br /&gt;UDEST &gt; USRC ZF = 0 AND CF = 0 The unsigned source and&lt;br /&gt;  destination  are  not  equal  if  the&lt;br /&gt;  zero    flag    is    not    set    and    the&lt;br /&gt;  destination   is   not   smaller   since&lt;br /&gt;  no  borrow  was  taken.  Therefore&lt;br /&gt;  the   destination   is   greater   than&lt;br /&gt;  the source.      &lt;br /&gt;       &lt;br /&gt;SDEST &lt; SSRC SF  OF When a signed  source is&lt;br /&gt;  subtracted from  a signed&lt;br /&gt;  destination    and    the    answer    is&lt;br /&gt;  negative   with   no   overflow   than&lt;br /&gt;  the   destination   is   smaller   than&lt;br /&gt;  the  source.  If  however  there  is  an&lt;br /&gt;  overflow   meaning   that   the   sign&lt;br /&gt;  has   changed unexpectedly, the&lt;br /&gt;  meanings are reversed and a&lt;br /&gt;         &lt;br /&gt; &lt;br /&gt;37&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  positive  number  signals  that  the&lt;br /&gt;  destination is smaller.  &lt;br /&gt;  &lt;br /&gt;SDEST  SSRC ZF = 1 OR SF   OF If   the   zero   flag   is   set,   it   means&lt;br /&gt;  that   the   source   and   destination&lt;br /&gt;  are   equal   and   if   the   sign   and&lt;br /&gt;  overflow  flags  differ  it  means  that&lt;br /&gt;  the    destination    is    smaller    as&lt;br /&gt;  described above.   &lt;br /&gt;  &lt;br /&gt;SDEST  SSRC SF = OF When      a      signed      source      is&lt;br /&gt;  subtracted from a signed&lt;br /&gt;  destination    and    the    answer    is&lt;br /&gt;  positive  with  no  overflow  than  the&lt;br /&gt;  destination   is   greater   than   the&lt;br /&gt;  source. When an overflow is there&lt;br /&gt;  signaling  that  sign  has  changed&lt;br /&gt;  unexpectedly, we interpret a&lt;br /&gt;  negative    answer    as    the    signal&lt;br /&gt;  that the destination is greater. &lt;br /&gt;  &lt;br /&gt;SDEST &gt; SSRC ZF = 0 AND SF = OF If the zero flag is not set, it means&lt;br /&gt;  that  the  signed  operands  are  not&lt;br /&gt;  equal and if the sign and overflow&lt;br /&gt;  match    in    addition    to    this    it&lt;br /&gt;  means    that    the    destination    is&lt;br /&gt;  greater than the source.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-1113979994502868651?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/1113979994502868651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/comparison-and-conditions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1113979994502868651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1113979994502868651'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/comparison-and-conditions.html' title='COMPARISON AND CONDITIONS'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-6249723145288484055</id><published>2009-06-03T18:43:00.001-07:00</published><updated>2009-06-03T18:43:49.556-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>EXERCISES</title><content type='html'>1. What is a label and how does the assembler differentiates between code labels and data labels? &lt;br /&gt;2. List the seven addressing modes available in the 8088 architecture. &lt;br /&gt;&lt;br /&gt;3. Differentiate between effective address and physical address. &lt;br /&gt;&lt;br /&gt;4. What is the effective address generated by the following instructions? Every instruction is independent of others. Initially BX=0x0100, num1=0x1001, [num1]=0x0000, and SI=0x0100 &lt;br /&gt;a. mov ax, [bx+12] &lt;br /&gt;&lt;br /&gt;b. mov ax, [bx+num1] &lt;br /&gt;&lt;br /&gt;c. mov ax, [num1+bx] &lt;br /&gt;&lt;br /&gt;d. mov ax, [bx+si] &lt;br /&gt;&lt;br /&gt;5. What is the effective address generated by the following combinations if they are valid. If not give reason. Initially BX=0x0100, SI=0x0010, DI=0x0001, BP=0x0200, and SP=0xFFFF &lt;br /&gt;a. bx-si &lt;br /&gt;b. bx-bp &lt;br /&gt;&lt;br /&gt;c. bx+10 &lt;br /&gt;&lt;br /&gt;d. bx-10 &lt;br /&gt;e.    bx+sp&lt;br /&gt;&lt;br /&gt;f. bx+di &lt;br /&gt;&lt;br /&gt;6. Identify the problems in the following instructions and correct them by replacing them with one or two instruction having the same effect. &lt;br /&gt; &lt;br /&gt;33&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;a. mov [02], [ 22] &lt;br /&gt;&lt;br /&gt;b. mov [wordvar], 20 &lt;br /&gt;&lt;br /&gt;c. mov bx, al &lt;br /&gt;&lt;br /&gt;d. mov ax, [si+di+100] &lt;br /&gt;&lt;br /&gt;7. What is the function of segment override prefix and what changes it brings to the opcode? &lt;br /&gt;8. What are the two types of address wraparound? What physical address is accessed with [BX+SI] if FFFF is loaded in BX, SI, and DS. &lt;br /&gt;&lt;br /&gt;9. Write instructions to do the following. &lt;br /&gt;a. Copy contents of memory location with offset 0025 in the current data segment into AX. &lt;br /&gt;b. Copy AX into memory location with offset 0FFF in the current data segment. &lt;br /&gt;&lt;br /&gt;c. Move contents of memory location with offset 0010 to memory location with offset 002F in the current data segment. &lt;br /&gt;10. Write a program to calculate the square of 20 by using a loop that adds 20 to the accumulator 20 times.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-6249723145288484055?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/6249723145288484055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/exercises.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/6249723145288484055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/6249723145288484055'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/exercises.html' title='EXERCISES'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-1043917167602811275</id><published>2009-06-03T18:42:00.000-07:00</published><updated>2009-06-03T18:43:13.002-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>ADDRESSING MODES SUMMARY</title><content type='html'>The iAPX88 processor supports seven modes of memory access. Remember that immediate is not an addressing mode but an operand type. Operands can be immediate, register, or memory. If the operand is memory one of the seven addressing modes will be used to access it. The memory access mechanisms can also be written in the general form “base + index + offset” and we can define the possible addressing modes by saying that any one, two, or none can be skipped from the general form to form a legal memory access.&lt;br /&gt;&lt;br /&gt;There are a few common mistakes done in forming a valid memory access. Part of a register cannot be used to access memory. Like BX is allowed to hold an address but BL or BH are not. Address is 16bit and must be contained in a 16bit register. BX-SI is not possible. The only thing that we can do is addition of a base register with an index register. Any other operation is disallowed. BS+BP and SI+DI are both disallowed as we cannot have two base or two index registers in one memory access. One has to be a base register and the other has to be an index register and that is the reason of naming them differently.&lt;br /&gt;&lt;br /&gt;Direct&lt;br /&gt;&lt;br /&gt;A fixed offset is given in brackets and the memory at that offset is accessed. For example “mov [1234], ax” stores the contents of the AX registers in two bytes starting at address 1234 in the current data segment. The instruction “mov [1234], al” stores the contents of the AL register in the byte at offset 1234.&lt;br /&gt;&lt;br /&gt;Based Register Indirect&lt;br /&gt;&lt;br /&gt;A base register is used in brackets and the actual address accessed depends on the value contained in that register. For example “mov [bx], ax” moves the two byte contents of the AX register to the address contained in the BX register in the current data segment. The instruction “mov [bp], al” moves the one byte content of the AL register to the address contained in the BP register in the current stack segment.&lt;br /&gt;&lt;br /&gt;Indexed Register Indirect&lt;br /&gt;&lt;br /&gt;An index register is used in brackets and the actual address accessed depends on the value contained in that register. For example “mov [si], ax” moves the contents of the AX register to the word starting at address contained in SI in the current data segment. The instruction “mov [di], ax” moves the word contained in AX to the offset stored in DI in the current data segment.&lt;br /&gt;&lt;br /&gt;Based Register Indirect + Offset&lt;br /&gt;&lt;br /&gt;A base register is used with a constant offset in this addressing mode. The value contained in the base register is added with the constant offset to get the effective address. For example “mov [bx+300], ax” stores the word contained in AX at the offset attained by adding 300 to BX in the current data segment. The instruction “mov [bp+300], ax” stores the word in AX to the offset attained by adding 300 to BP in the current stack segment.&lt;br /&gt; &lt;br /&gt;32&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Indexed Register Indirect + Offset&lt;br /&gt;&lt;br /&gt;An index register is used with a constant offset in this addressing mode. The value contained in the index register is added with the constant offset to get the effective address. For example “mov [si+300], ax” moves the word contained in AX to the offset attained by adding 300 to SI in the current data segment and the instruction “mov [di+300], al” moves the byte contained in AL to the offset attained by adding 300 to DI in the current data segment.&lt;br /&gt;&lt;br /&gt;Base + Index&lt;br /&gt;&lt;br /&gt;One base and one index register is used in this addressing mode. The value of the base register and the index register are added together to get the effective address. For example “mov [bx+si], ax” moves the word contained in the AX register to offset attained by adding BX and SI in the current data segment. The instruction “mov [bp+di], al” moves the byte contained in AL to the offset attained by adding BP and DI in the current stack segment. Observe that the default segment is based on the base register and not on the index register. This is why base registers and index registers are named separately. Other examples are “mov [bx+di], ax” and “mov [bp+si], ax.” This method can be used to access a two di mensional array such that one dimension is in a base register and the other is in an index register.&lt;br /&gt;&lt;br /&gt;Base + Index + Offset&lt;br /&gt;&lt;br /&gt;This is the most complex addressing method and is relatively infrequently used. A base register, an index register, and a constant offset are all used in this addressing mode. The values of the base register, the index register, and the constant offset are all added together to get the effective address. For example “mov [bx+si+300], ax” moves the word contents of the AX register to the word in memory starting at offset attained by adding BX, SI, and 300 in the current data segment. Default segment association is again based on the base register. It might be used with the array base of a two dimensional array as the constant offset, one dimension in the base register and the other in the index register. This way all calculation of location of the desired element has been delegated to the processor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-1043917167602811275?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/1043917167602811275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/addressing-modes-summary.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1043917167602811275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1043917167602811275'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/addressing-modes-summary.html' title='ADDRESSING MODES SUMMARY'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-8551069872783249176</id><published>2009-06-03T18:41:00.002-07:00</published><updated>2009-06-03T18:42:27.756-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>ADDRESS WRAPAROUND</title><content type='html'>There are two types of wraparounds. One is within a single segment and the other is inside the whole physical memory. Segment wraparound occurs when during the effective address calculation a carry is generated. This carry is dropped giving the effect that when we try to access beyond the segment limit, we are actually wrapped around to the first cell in the segment. For example if BX=9100, DS=1500 and the access is [bx+0x7000] we form the effective address 9100 + 7000 = 10100. The carry generated is dropped forming the actual effective address of 0100. Just like a circle when we reached the end we started again from the beginning. An arc at 370 degrees is the same as an arc at 10 degrees. We tried to cross the segment boundary and it pushed us back to the start. This is called segment wraparound. The physical address in the above example will be 15100.&lt;br /&gt;&lt;br /&gt;The same can also happen at the time of physical address calculation. For example BX=0100, DS=FFF0 and the access under consideration is [bx+0x0100]. The effective address will be 0200 and the physical address will&lt;br /&gt; &lt;br /&gt;31&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;be 100100. This is a 21bit answer and cannot be sent on the address bus which is 20 bits wide. The carry is dropped and just like the segment wraparound our physical memory has wrapped around at its very top. When we tried to access beyond limits the actual access is made at the very start. This second wraparound is a bit different in newer processor with more address lines but that will be explained in later chapters.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-8551069872783249176?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/8551069872783249176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/address-wraparound.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8551069872783249176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8551069872783249176'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/address-wraparound.html' title='ADDRESS WRAPAROUND'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-6169387432736351685</id><published>2009-06-03T18:41:00.001-07:00</published><updated>2009-06-03T18:41:44.631-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>SEGMENT ASSOCIATION</title><content type='html'>All the addressing mechanisms in iAPX88 return a number called effective address. For example in base + offset addressing, neither the base nor the offset alone tells the desired cell in memory to be accessed. It is only after the addition is done that the processor knows which cell to be accessed. This number which came as the result of addition is called the effective address. But the effective address is just an offset and is meaningless without a segment. Only after the segment is known, we can form the physical address that is needed to access a memory cell.&lt;br /&gt;&lt;br /&gt;We discussed the segmented memory model of iAPX88 in reasonable detail at the end of previous chapter. However during the discussion of addressing modes we have not seen the effect of segments. Segmentation is there and it’s all happening relative to a segment base. We saw DS, CS, SS, and ES&lt;br /&gt; &lt;br /&gt;30&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;inside the debugger. Everything is relative to its segment base, even though we have not explicitly explained its functionality. An offset alone is not complete without a segment. As previously discussed there is a default segment associated to every register which accesses memory. For example CS is associated to IP by default; rather it is tied with it. It cannot access memory in any other segment.&lt;br /&gt;&lt;br /&gt;In case of data, there is a bit relaxation and nothing is tied. Rather there is a default association which can be overridden. In the case of register indirect memory access, if the register used is one of SI, DI, or BX the default segment is DS. If however the register used in BP the default segment used is SS. The stack segment has a very critical and fine use and there is a reason why BP is attached to SS by default. However these will be discussed in detail in the chapter on stack. IP is tied to CS while SP is tied to SS. The association of these registers cannot be changed; they are locked with no option. Others are not locked and can be changed.&lt;br /&gt;&lt;br /&gt;To override the association for one instruction of one of the registers BX, BP, SI or DI, we use the segment override prefix. For example “mov ax, [cs:bx]” associates BX with CS for this one instruction. For the next instruction the default association will come back to act. The processor places a special byte before the instruction called a prefix, just like prefixes and suffixes in English language. No prefix is needed or placed for default association. For example for CS the byte 2E is placed and for ES the byte 26 is placed. Opcode has not changed, but the prefix byte has modified the default association to association with the desired segment register for this one instruction.&lt;br /&gt;&lt;br /&gt;In all our examples, we never declared a segment or used it explicitly, but everything seemed to work fine. The important thing to note is that CS, DS, SS, and ES all had the same value. The value itself is not important but the fact that all had the same value is important. All four segment windows exactly overlap. Whatever segment register we use the same physical memory will be accessed. That is why everything was working without the mention of a single segment register. This is the formation of COM files in IBM PC. A single segment contains code, data, and the stack. This format is operating system dependant, in our case defined by DOS. And our operating system defines the format of COM files such that all segments have the same value. Thus the only meaningful thing that remains is the offset.&lt;br /&gt;&lt;br /&gt;For example if BX=0100, SI=0200, and CS=1000 and the memory access under consideration is [cs:bx+si+0x0700], the effective address formed is bx+si+0700 = 0100 + 0200 + 0700 = 0A00. Now multiplying the segment value by 16 makes it 10000 and adding the effective address 00A00 forms the physical address 10A00.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-6169387432736351685?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/6169387432736351685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/segment-association.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/6169387432736351685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/6169387432736351685'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/segment-association.html' title='SEGMENT ASSOCIATION'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-1506290389919133923</id><published>2009-06-03T18:40:00.000-07:00</published><updated>2009-06-03T18:41:08.067-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>REGISTER + OFFSET ADDRESSING</title><content type='html'>Direct addressing and indirect addressing using a single register are two basic forms of memory access. Another possibility is to use different combinations of direct and indirect references. In the above example we used BX to access different array elements which were placed consecutively in memory like an array. We can also place in BX only the array index and not the exact address and form the exact address when we are going to access the actual memory. This way the same register can be used for accessing different arrays and also the register can be used for index comparison like the following example does.&lt;br /&gt;&lt;br /&gt;Example 2.8&lt;br /&gt;&lt;br /&gt;001 ;  a  program  to  add  ten  numbers  using  register  +  offset  addressing&lt;br /&gt;002 [org  0x0100]   &lt;br /&gt;003  mov bx,  0 ;  initialize  array  index  to  zero&lt;br /&gt;004  mov cx,  10 ;  load  count  of  numbers  in  cx&lt;br /&gt;005  mov ax,  0 ;  initialize  sum  to  zero&lt;br /&gt;006    &lt;br /&gt;007 l1: add ax,  [num1+bx] ;  add  number  to  ax&lt;br /&gt;008  add bx,  2 ;  advance  bx  to  next  index&lt;br /&gt;009  sub cx,  1 ;  numbers  to  be  added  reduced&lt;br /&gt;010  jnz l1 ;  if  numbers  remain  add  next&lt;br /&gt;011    &lt;br /&gt;012  mov [total],  ax ;  write  back  sum  in  memory&lt;br /&gt;013    &lt;br /&gt;014  mov ax,  0x4c00 ;  terminate  program&lt;br /&gt;015  int 0x21 &lt;br /&gt;016    &lt;br /&gt;017 num1: dw 10,  20,  30,  40,  50,  10,  20,  30,  40,  50&lt;br /&gt;018 total: dw 0 &lt;br /&gt; &lt;br /&gt;003 This time BX is initialized to zero instead of array base&lt;br /&gt;&lt;br /&gt;7 The format of memory access has changed. The array base is added to BX containing array index at the time of memory access. &lt;br /&gt;&lt;br /&gt;8 As the array is of words, BX jumps in steps of two, i.e. 0, 2, 4. Higher level languages do appropriate incrementing themselves and we always use sequential array indexes. However in assembly language we always calculate in bytes and therefore we need to take care of the size of one array element which in this case is two. &lt;br /&gt;&lt;br /&gt;Inside the debugger we observe that the memory access instruction is shown as “mov ax, [011F+bx]” and the actual memory accessed is the one whose address is the sum of 011F and the value contained in the BX register. This form of access is of the register indirect family and is called base + offset or index + offset depending on whether BX or BP is used or SI or DI is used.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-1506290389919133923?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/1506290389919133923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/register-offset-addressing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1506290389919133923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1506290389919133923'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/register-offset-addressing.html' title='REGISTER + OFFSET ADDRESSING'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-790494740996059771</id><published>2009-06-03T18:39:00.002-07:00</published><updated>2009-06-03T18:40:27.569-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>REGISTER INDIRECT ADDRESSING</title><content type='html'>We have done very elementary data access till now. Assume that the numbers we had were 100 and not just three. This way of adding them will cost us 200 instructions. There must be some method to do a task repeatedly on data placed in consecutive memory cells. The key to this is the need for some register that can hold the address of data. So that we can change the address to access some other cell of memory using the same instruction. In direct addressing mode the memory cell accessed was fixed inside the instruction. There is another method in which the address can be placed in a register so that it can be changed. For the following example we will take 10 instead of 100 numbers but the algorithm is extensible to any size.&lt;br /&gt;&lt;br /&gt;There are four registers in iAPX88 architecture that can hold address of data and they are BX, BP, SI, and DI. There are minute differences in their working which will be discussed later. For the current example, we will use the BX register and we will take just three numbers and extend the concept with more numbers in later examples.&lt;br /&gt;&lt;br /&gt;Example 2.6&lt;br /&gt;&lt;br /&gt;001 ;  a  program  to  add  three  numbers  using  indirect  addressing&lt;br /&gt;002 [org  0x100]  &lt;br /&gt;003 mov bx,  num1 ;  point  bx  to  first  number&lt;br /&gt;004 mov ax,  [bx] ;  load  first  number  in  ax&lt;br /&gt;005 add bx,  2 ;  advance  bx  to  second  number&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;27&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;006  add ax,  [bx] ;  add  second  number  to  ax&lt;br /&gt;007  add bx,  2 ;  advance  bx  to  third  number&lt;br /&gt;008  add ax,  [bx] ;  add  third  number  to  ax&lt;br /&gt;009  add bx,  2 ;  advance  bx  to  result&lt;br /&gt;010  mov [bx],  ax ;  store  sum  at  num1+6&lt;br /&gt;011    &lt;br /&gt;012  mov ax,  0x4c00 ;  terminate  program&lt;br /&gt;013  int 0x21 &lt;br /&gt;014    &lt;br /&gt;015 num1: dw 5,  10,  15,  0 &lt;br /&gt;&lt;br /&gt;3 Observe that no square brackets around num1 are used this time. The address is loaded in bx and not the contents. Value of num1 is 0005 and the address is 0117. So BX will now contain 0117. &lt;br /&gt;&lt;br /&gt;4 Brackets are now used around BX. In iapx88 architecture brackets can be used around BX, BP, SI, and DI only. In iapx386 more registers are allowed. The instruction will be read as “move into ax the contents of the memory location whose address is in bx.” Now since bx contains the address of num1 the contents of num1 are transferred to the ax register. Without square brackets the meaning of the instruction would have been totally different. &lt;br /&gt;&lt;br /&gt;5 This instruction is changing the address. Since we have words not bytes, we add two to bx so that it points to the next word in memory. BX now contains 0119 the address of the second word in memory. This was the mechanism to change addresses that we needed. &lt;br /&gt;&lt;br /&gt;Inside the debugger we observe that the first instruction is “mov bx, 011C.” A constant is moved into BX. This is because we did not use the square brackets around “num1.” The address of “num1” has moved to 011C because the code size has changed due to changed instructions. In the second instruction BX points to 011C and the value read in AX is 0005 which can be verified from the data window. After the addition BX points to 011E containing 000A, our next word, and so on. This way the BX register points to our words one after another and we can add them using the same instruction “mov ax, [bx]” without fixing the address of our data in the instructions. We can also subtract from BX to point to previous cells. The address to be accessed is now in total program control.&lt;br /&gt;&lt;br /&gt;One thing that we needed in our problem to add hundred numbers was the capability to change address. The second thing we need is a way to repeat the same instruction and a way to know that the repetition is done a 100 times, a terminal condition for the repetition. For the task we are introducing two new instructions that you should read and understand as simple English language concepts. For simplicity only 10 numbers are added in this example. The algorithm is extensible to any size.&lt;br /&gt;&lt;br /&gt;Example 2.7&lt;br /&gt;&lt;br /&gt;001 ;  a  program  to  add  ten  numbers &lt;br /&gt;002 [org  0x0100]   &lt;br /&gt;003  mov bx,  num1 ;  point  bx  to  first  number&lt;br /&gt;004  mov cx,  10 ;  load  count  of  numbers  in  cx&lt;br /&gt;005  mov ax,  0 ;  initialize  sum  to  zero&lt;br /&gt;006    &lt;br /&gt;007 l1: add ax,  [bx] ;  add  number  to  ax&lt;br /&gt;008  add bx,  2 ;  advance  bx  to  next  number&lt;br /&gt;009  sub cx,  1 ;  numbers  to  be  added  reduced&lt;br /&gt;010  jnz l1 ;  if  numbers  remain  add  next&lt;br /&gt;011    &lt;br /&gt;012  mov [total],  ax ;  write  back  sum  in  memory&lt;br /&gt;013    &lt;br /&gt;014  mov ax,  0x4c00 ;  terminate  program&lt;br /&gt;015  int 0x21 &lt;br /&gt;016    &lt;br /&gt;017 num1: dw 10,  20,  30,  40,  50,  10,  20,  30,  40,  50&lt;br /&gt; &lt;br /&gt;28&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;018 total: dw 0&lt;br /&gt;&lt;br /&gt;006 Labels can be used on code as well. Just like data labels they remembe r the address at which they are used. The assembler does not differentiate between code labels and data labels. The programmer is responsible for using a data label as data and a code label as code. The label l1 in this case is the address of the following instruction.&lt;br /&gt;&lt;br /&gt;9 SUB is the counterpart to ADD with the same rules as that of the ADD instruction. &lt;br /&gt;&lt;br /&gt;010 JNZ stands for “jump if not zero.” NZ is the condition in this instruction. So the instruction is read as “jump to the location l1 if the zero flag is not set.” And revisiting the zero flag definition “the zero flag is set if the last mathematical or logical operation has produced a zero in its destination.” For example “mov ax, 0” will not set the zero flag as it is not a mathematical or logical instruction. However subtraction and addition will set it. Also it is set even when the destination is not a register. Now consider the subtraction immediately preceding it. If the CX register becomes zero as a result of this subtraction the zero flag will be set and the jump will be taken. And jump to l1, the processor needs to be told each and everything and the destination is an important part of every jump. Just like when we ask someone to go, we mention go to this market or that house. The processor is much more logical than us and needs the destination in every instruction that asks it to go somewhere. The processor will load l1 in the IP register and resume execution from there. The processor will blindly go to the label we mention even if it contains data and not code.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The CX register is used as a counter in this example, BX contains the changing address, while AX accumulates the result. We have formed a loop in assembly language that executes until its condition remains true. Inside the debugger we can observe that the subtract instruction clears the zero flag the first nine times and sets it on the tenth time. While the jump instruction moves execution to address l1 the first nine times and to the following line the tenth time. The jump instruction breaks program flow.&lt;br /&gt;&lt;br /&gt;The JNZ instruction is from the program control group and is a conditional jump, meaning that if the condition NZ is true (ZF=0) it will jump to the address mentioned and otherwise it will progress to the next instruction. It is a selecti on between two paths. If the condition is true go right and otherwise go left. Or we can say if the weather is hot, go this way, and if it is cold, go this way. Conditional jump is the most important instruction, as it gives the processor decision making capability, so it must be given a careful thought. Some processors call it branch, probably a more logical name for it, however the functionality is same. Intel chose to name it “jump.”&lt;br /&gt;&lt;br /&gt;An important thing in the above example is that a register is used to reference memory so this form of access is called register indirect memory access. We used the BX register for it and the B in BX and BP stands for base therefore we call register indirect memory access using BX or BP, “based addressing.” Similarly when SI or DI is used we name the method “indexed addressing.” They have the same functionality, with minor differences because of which the two are called base and index. The differences will be explained later, however for the above example SI or DI could be use d as well, but we would name it indexed addressing instead of based addressing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-790494740996059771?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/790494740996059771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/register-indirect-addressing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/790494740996059771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/790494740996059771'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/register-indirect-addressing.html' title='REGISTER INDIRECT ADDRESSING'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-1272872900797543153</id><published>2009-06-03T18:39:00.001-07:00</published><updated>2009-06-03T18:39:46.849-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>SIZE MISMATCH  ERRORS</title><content type='html'>If we change the directive in the last example from DW to DB, the program will still assemble and debug without errors, however the results will not be the same as expected. When the first operand is read 0A05 will be read in the register which was actually two operands place in consecutive byte memory locations. The second number will be read as 000F which is the zero byte of num4 appended to the 15 of num3. The third number will be junk depending on the current state of the machine. According to our data declaration the third number should be at 0114 but it is accessed at 011D calculated with word offsets. This is a logical error of the program. To keep the declarations and their access synchronized is the responsibility of the programmer and not the assembler. The assembler allows the programmer to do everything he wants to do, and that can possibly run on the processor. The assembler only keeps us from writing illegal instructions which the processor cannot execute. This is the difference between a syntax error and a logic error. So the assembler and debugger have both done what we asked them to do but the programmer asked them to do the wrong chore.&lt;br /&gt;&lt;br /&gt;The programmer is responsible for accessing the data as word if it was declared as a word and accessing it as a byte if it was declared as a byte. The word case is shown in lot of previous examples. If however the intent is to treat it as a byte the following code shows the appropriate way.&lt;br /&gt;&lt;br /&gt;Example 2.5&lt;br /&gt;&lt;br /&gt;001 ;  a  program  to  add  three  numbers  using  byte  variables&lt;br /&gt;002 [org  0x0100]   &lt;br /&gt;003  mov al,  [num1] ;  load  first  number  in  al&lt;br /&gt;004  mov bl,  [num1+1] ;  load  second  number  in  bl&lt;br /&gt;005  add al,  bl ;  accumulate  sum  in  al&lt;br /&gt;006  mov bl,  [num1+2] ;  load  third  number  in  bl&lt;br /&gt;007  add al,  bl ;  accumulate  sum  in  al&lt;br /&gt;008  mov [num1+3],  al ;  store  sum  at  num1+3&lt;br /&gt;009    &lt;br /&gt;010  mov ax,  0x4c00 ;  terminate  program&lt;br /&gt;011  int 0x21 &lt;br /&gt;012    &lt;br /&gt;013 num1: db 5,  10,  15,  0 &lt;br /&gt;&lt;br /&gt;3 The number is read in AL register which is a byte register since the memory location read is also of byte size. &lt;br /&gt;&lt;br /&gt;5 The second number is now placed at num1+1 instead of num1+2 because of byte offsets. &lt;br /&gt; &lt;br /&gt;26&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;13 To declare data db is used instead of dw so that each data declared occupies one byte only. &lt;br /&gt;&lt;br /&gt;Inside the debugger we observe that the AL register takes appropriate values and the sum is calculated and stored in num1+3. This time there is no alignment or synchronization error. The key thing to understand here is that the processor does not match defines to accesses. It is the programmer’s responsibility. In general assembly language gives a lot of power to the programmer but power comes with responsibility. Assembly language programming is not a difficult task but a responsible one.&lt;br /&gt;&lt;br /&gt;In the above examples, the processor knew the size of the data movement operation from the size of the register involved, for example in “mov ax, [num1]” memory can be accessed as byte or as word, it has no hard and fast size, but the AX register tells that this operation has to be a word operation. Similarly in “mov al, [num1]” the AL register tells that this operation has to be a byte operation. However in “mov ax, bl” the AX register tells that the operation has to be a word operation while BL tells that this has to be a byte operation. The assembler will declare that this is an illegal instruction. A 5Kg bag cannot fit inside a 1Kg bag and according to Intel a 1Kg cannot also fit in a 5Kg bag. They must match in size. The instruction “mov [num1], [num2]” is illegal as previously discussed not because of data movement size but because memory to memory moves are not allowed at all.&lt;br /&gt;&lt;br /&gt;The instruction “mov [num1], 5” is legal but there is no way for the processor to know the data movement size in this operation. The variable num1 can be treated as a byte or as a word and similarly 5 can be treated as a byte or as a word. Such instructions are declared ambiguous by the assembler. The assembler has no way to guess the intent of the programmer as it previously did using the size of the register involved but there is no register involved this time. And memory is a linear array and label is an address in it. There is no size associated with a label. Therefore to resolve its ambiguity we clearly tell our intent to the assembler in one of the following ways.&lt;br /&gt;&lt;br /&gt;mov byte [num1], 5 mov word [num1], 5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-1272872900797543153?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/1272872900797543153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/size-mismatch-errors.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1272872900797543153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1272872900797543153'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/size-mismatch-errors.html' title='SIZE MISMATCH  ERRORS'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-9048163357468088608</id><published>2009-06-03T18:38:00.000-07:00</published><updated>2009-06-03T18:39:10.610-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>DIRECT ADDRESSING</title><content type='html'>Now we will rewrite our first program such that the numbers 5, 10, and 15 are stored as memory variables instead of constants and we access them from there.&lt;br /&gt;&lt;br /&gt;Example 2.1&lt;br /&gt;&lt;br /&gt;001 ;  a  program  to  add  three  numbers  using  memory  variables&lt;br /&gt;002 [org  0x0100]  &lt;br /&gt;003 mov ax,  [num1] ;  load  first  number  in  ax&lt;br /&gt; &lt;br /&gt;22&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;004  mov bx,  [num2] ;  load  second  number  in  bx&lt;br /&gt;005  add ax,  bx ;  accumulate  sum  in  ax&lt;br /&gt;006  mov bx,  [num3] ;  load  third  number  in  bx&lt;br /&gt;007  add ax,  bx ;  accumulate  sum  in  ax&lt;br /&gt;008  mov [num4],  ax ;  store  sum  in  num4&lt;br /&gt;009    &lt;br /&gt;010  mov ax,  0x4c00 ;  terminate  program&lt;br /&gt;011  int 0x21 &lt;br /&gt;012    &lt;br /&gt;013 num1: dw 5 &lt;br /&gt;014 num2: dw 10 &lt;br /&gt;015 num3: dw 15 &lt;br /&gt;016 num4: dw 0 &lt;br /&gt;&lt;br /&gt;2 Originate our program at 0100. The first executable instruction should be placed at this offset. &lt;br /&gt;&lt;br /&gt;3 The source operand is changed from constant 5 to [num1]. The bracket is signaling that the operand is placed in memory at address num1. The value 5 will be loaded in ax even though we did not specified it in our program code, rather the value will be picked from memory. The instruction should be read as “read the contents of memory location num1 in the ax register.” The label num1 is a symbol for us but an address for the processor while the conversion is done by the assembler. &lt;br /&gt;&lt;br /&gt;13 The label num1 is defined as a word and the assembler is requested to place 5 in that memory location. The colon signals that num1 is a label and not an instruction. &lt;br /&gt;&lt;br /&gt;Using the same process to assemble as discussed before we examine the listing file generated as a result with comments removed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1   &lt;br /&gt;2 [org  0x0100]  &lt;br /&gt;3  00000000  A1[1700]  mov ax,  [num1]&lt;br /&gt;4  00000003  8B1E[1900]  mov bx,  [num2]&lt;br /&gt;5  00000007  01D8  add ax,  bx&lt;br /&gt;6  00000009  8B1E[1B00]  mov bx,  [num3]&lt;br /&gt;7  0000000D  01D8  add ax,  bx&lt;br /&gt;8  0000000F  A3[1D00]  mov [num4],  ax&lt;br /&gt;9   &lt;br /&gt;10  00000012  B8004C  mov ax,  0x4c00&lt;br /&gt;11  00000015  CD21  int 0x21&lt;br /&gt;12   &lt;br /&gt;13  00000017  0500 num1: dw 5&lt;br /&gt;14  00000019  0A00 num2: dw 10&lt;br /&gt;15  0000001B  0F00 num3: dw 15&lt;br /&gt;16  0000001D  0000 num4: dw 0&lt;br /&gt;&lt;br /&gt;The first instruction of our program has changed from B80500 to A11700. The opcode B8 is used to move constants into AX, while the opcode A1 is used when moving data into AX from memory. The immediate operand to our new instruction is 1700 or as a word 0017 (23 decimal) and from the bottom of the listing file we can observe that this is the offset of num1. The assembler has calculated the offset of num1 and used it to replace references to num1 in the whole program. Also the value 0500 can be seen at offset 0017 in the file. We can say contents of memory location 0017 are 0005 as a word. Similarly num2, num3, and num4 are placed at 0019, 001B, and 001D addresses.&lt;br /&gt;&lt;br /&gt;When the program is loaded in the debugger, it is loaded at offset 0100, which displaces all memory accesses in our program. The instruction A11700 is changed to A11701 meaning that our variable is now placed at 0117 offset. The instruction is shown as mov ax, [0117]. Also the data window can be used to verify that offset 0117 contains the number 0005.&lt;br /&gt; &lt;br /&gt;23&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Execute the program step by step and examine how the memory is read and the registers are updated, how the instruction pointer moves forward, and how the result is saved back in memory. Also observe inside the debugger code window below the code for termination, that the debugger is interpreting our data as code and showing it as some meaningless instructions. This is because the debugger sees everything as code in the code window and cannot differentiate our declared data from opcodes. It is our responsibility that we terminate execution before our data is executed as code.&lt;br /&gt;&lt;br /&gt;Also observe that our naming of num1, num2, num3, and num4 is no longer there inside the debugger. The debugger is only showing the numbers 0117, 0119, 011B, and 011D. Our numerical machine can only work with numbers. We used symbols for our ease to label or tag certain positions in our program. The assembler converts these symbols into the appropriate numbers automatically. Also observe that the effect of “dw” is to place 5 in two bytes as 0005. Had we used “db” this would have been stored as 05 in one byte.&lt;br /&gt;&lt;br /&gt;Given the fact that the assembler knows only numbers we can write the same program using a single label. As we know that num2 is two ahead of num1, we can use num1+2 instead of num2 and let the assembler calculate the sum during assembly process.&lt;br /&gt;&lt;br /&gt;Example 2.2&lt;br /&gt;&lt;br /&gt;001 ;  a  program  to  add  three  numbers  accessed  using  a  single  label &lt;br /&gt;002 [org  0x0100]    &lt;br /&gt;003  mov ax,  [num1] ;  load  first  number  in  ax &lt;br /&gt;004  mov bx,  [num1+2] ;  load  second  number  in  bx &lt;br /&gt;005  add ax,  bx ;  accumulate  sum  in  ax &lt;br /&gt;006  mov bx,  [num1+4] ;  load  third  number  in  bx &lt;br /&gt;007  add ax,  bx ;  accumulate  sum  in  ax &lt;br /&gt;008  mov [num1+6],  ax ;  store  sum  at  num1+6 &lt;br /&gt;009     &lt;br /&gt;010  mov ax,  0x4c00 ;  terminate  program &lt;br /&gt;011  int 0x21  &lt;br /&gt;012     &lt;br /&gt;013 num1: dw 5  &lt;br /&gt;014  dw 10  &lt;br /&gt;015  dw 15  &lt;br /&gt;016  dw 0  &lt;br /&gt;     &lt;br /&gt;004 The   second   number   is   read   from   num1+2.   Similarly   the   third &lt;br /&gt;  &lt;br /&gt; number is read from num1+4 and the result is accessed at num1+6. &lt;br /&gt; The  labels  num2,  num3,  and  num4  are  removed  and  the  data  there &lt;br /&gt;013-016  &lt;br /&gt; will be accessed with reference to num1. &lt;br /&gt;     &lt;br /&gt;&lt;br /&gt;Every location is accessed with reference to num1 in this example. The expression “num1+2” comprises of constants only and can be evaluated at the time of assembly. There are no variables involved in this expression. As we open the program inside the debugger we see a verbatim copy of the previous program. There is no difference at all since the assembler catered for the differences during assembly. It calculated 0117+2=0119 while in the previous it directly knew from the value of num2 that it has to write 0119, but the end result is a ditto copy of the previous execution.&lt;br /&gt;&lt;br /&gt;Another way to declare the above data and produce exactly same results is shown in the following example.&lt;br /&gt;&lt;br /&gt;Example 2.3&lt;br /&gt;&lt;br /&gt;001 ;  a  program  to  add  three  numbers  accessed  using  a  single  label&lt;br /&gt;002 [org  0x0100]  &lt;br /&gt;003 mov ax,  [num1] ;  load  first  number  in  ax&lt;br /&gt;004 mov bx,  [num1+2] ;  load  second  number  in  bx&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;24&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;005  add ax,  bx ;  accumulate  sum  in  ax&lt;br /&gt;006  mov bx,  [num1+4] ;  load  third  number  in  bx&lt;br /&gt;007  add ax,  bx ;  accumulate  sum  in  ax&lt;br /&gt;008  mov [num1+6],  ax ;  store  sum  at  num1+6&lt;br /&gt;009    &lt;br /&gt;010  mov ax,  0x4c00 ;  terminate  program&lt;br /&gt;011  int 0x21 &lt;br /&gt;012    &lt;br /&gt;013 num1: dw 5,  10,  15,  0 &lt;br /&gt;&lt;br /&gt;13 As we do not need to place labels on individual variables we can save space and declare all data on a single line separated by commas. This declaration will declare four words in consecutive memory locations while the address of first one is num1. &lt;br /&gt;&lt;br /&gt;The method used to access memory in the above examples is called direct addressing. In direct addressing the memory address is fixed and is given in the instruction. The actual data used is placed in memory and now that data can be used as the destination operand as well. Also the source and destination operands must have the same size. For example a word defined memory is read in a word sized register. A last observation is that the data 0500 in memory was corrected to 0005 when read in a register. So registers contain data in proper order as a word.&lt;br /&gt;&lt;br /&gt;A last variation using direct addressing shows that we can directly add a memory variable and a register instead of adding a register into another that we were doing till now.&lt;br /&gt;&lt;br /&gt;Example 2.4&lt;br /&gt;&lt;br /&gt;01 ;  a  program  to  add  three  numbers  directly  in  memory&lt;br /&gt;02 [org  0x0100]   &lt;br /&gt;03  mov ax,  [num1] ;  load  first  number  in  ax&lt;br /&gt;04  mov [num1+6],  ax ;  store  first  number  in  result&lt;br /&gt;05  mov ax,  [num1+2] ;  load  second  number  in  ax&lt;br /&gt;06  add [num1+6],  ax ;  add  second  number  to  result&lt;br /&gt;07  mov ax,  [num1+4] ;  load  third  number  in  ax&lt;br /&gt;08  add [num1+6],  ax ;  add  third  number  to  result&lt;br /&gt;09    &lt;br /&gt;10  mov ax,  0x4c00 ;  terminate  program&lt;br /&gt;11  int 0x21 &lt;br /&gt;12    &lt;br /&gt;13 num1: dw 5,  10,  15,  0 &lt;br /&gt;&lt;br /&gt;We generate the following listing file as a result of the assembly process described previously. Comments are again removed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1    &lt;br /&gt;2  [org  0x0100]  &lt;br /&gt;3  00000000  A1[1900]  mov ax,  [num1]&lt;br /&gt;4 00000003  A3[1F00]  mov [num1+6],  ax&lt;br /&gt;5  00000006  A1[1B00]  mov ax,  [num1+2]&lt;br /&gt;6 00000009  0106[1F00]  add [num1+6],  ax&lt;br /&gt;7  0000000D  A1[1D00]  mov ax,  [num1+4]&lt;br /&gt;8 00000010  0106[1F00]  add [num1+6],  ax&lt;br /&gt;9    &lt;br /&gt;10  00000014  B8004C  mov ax,  0x4c00&lt;br /&gt;11  00000017  CD21  int 0x21&lt;br /&gt;12    &lt;br /&gt;13 00000019  05000A000F000000 num1: dw 5,  10,  15,  0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The opcode of add is changed because the destination is now a memory location instead of a register. No other significant change is seen in the listing file. Inside the debugger we observe that few opcodes are longer now and the location num1 is now translating to 0119 instead of 0117. This is done automatically by the assembler as a result of using labels instead of&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;hard coding addresses. During execution we observe that the word data as it is read into a register is read in correct order. The significant change in thi s example is that the destination of addition is memory. Method to access memory is direct addressing, whether it is the MOV instruction or the ADD instruction.&lt;br /&gt;&lt;br /&gt;The first two instructions of the last program read a number into AX and placed it at another memory location. A quick thought reveals that the following might be a possible single instruction to replace the couple.&lt;br /&gt;&lt;br /&gt;mov    [num1+6],  [num1]      ;  ILLEGAL&lt;br /&gt;&lt;br /&gt;However this form is illegal and not allowed on the Intel architecture. None of the general operations of mov, add, sub etc. allow moving data from memory to memory. Only register to register, register to memory, memory to register, constant to memory, and constant to register operations are allowed. The other register to constant, memory to constant, and memory to memory are all disallowed. Only string instructions allow moving data from memory to memory and will be discussed in detail later. As a rule one instruction can have at most one operand in brackets, otherwise assembler will give an error.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-9048163357468088608?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/9048163357468088608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/direct-addressing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/9048163357468088608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/9048163357468088608'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/direct-addressing.html' title='DIRECT ADDRESSING'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-1571433485523352429</id><published>2009-06-03T18:36:00.000-07:00</published><updated>2009-06-03T18:38:19.328-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>DATA DECLARATION</title><content type='html'>The first instruction of our first assembly language program was “mov ax, 5.” Here MOV was the opcode, AX was the destination operand, while 5 was the source operand. The value of 5 in this case was stored as part of the instruction encoding. In the opcode B80500, B8 was the opcode and 0500 was the operand stored immediately afterwards. Such an operand is called an immediate operand. It is one of the many types of operands available.&lt;br /&gt;&lt;br /&gt;Writing programs using just the immediate operand type is difficult. Every reasonable program needs some data in memory apart from constants. Constants cannot be changed, i.e. they cannot appear as the destination operand. In fact placing them as destination is meaningless and illegal according to assembly language syntax. Only registers or data placed in memory can be changed. So real data is the one stored in memory, with a very few constants. So there must be a mechanism in assembly language to store and retrieve data from memory.&lt;br /&gt;&lt;br /&gt;To declare a part of our program as holding data instead of instructions we need a couple of very basic but special assembler directives. The first directive is “define byte” written as “db.”&lt;br /&gt;&lt;br /&gt;db      somevalue&lt;br /&gt;&lt;br /&gt;As a result a cell in memory will be reserved containing the desired value in it and it can be used in a variety of ways. Now we can add variables instead of constants. The other directive is “define word” or “dw” with the same syntax as “db” but reserving a whole word of 16 bits instead of a byte. There are directives to declare a double or a quad word as well but we will restrict ourselves to byte and word declarations for now. For single byte we use db and for two bytes we use dw.&lt;br /&gt;&lt;br /&gt;To refer to this variable later in the program, we need the address occupied by this variable. The assembler is there to help us. We can associate a symbol with any address that we want to remember and use that symbol in the rest of the code. The symbol is there for our own comprehension of code. The assembler will calculate the address of that symbol using our origin directive and calculating the instruction lengths or data declarations in-between and replace all references to the symbol with the corresponding address. This is just like variables in a higher level language, where the compiler translates them into addresses; just the process is hidden from the programmer one level further. Such a symbol associated to a point in the program is called a label and is written as the label name followed by a colon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-1571433485523352429?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/1571433485523352429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/data-declaration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1571433485523352429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1571433485523352429'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/data-declaration.html' title='DATA DECLARATION'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-770454127866637763</id><published>2009-06-01T22:53:00.000-07:00</published><updated>2009-07-18T07:44:38.482-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>Twitter Traffic Machine</title><content type='html'>&lt;a href="http://186ef7ua252waxb0o6y3690-4g.hop.clickbank.net/" target="_top"&gt;Get Million of twitter Followers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://186ef7ua252waxb0o6y3690-4g.hop.clickbank.net/"&gt;&lt;img src="http://www.mjsorority.com/MJI/MJSorority.nsf/vwLUPromotionsHomepage/E6D73923A68615A08525759B0057288C/$FILE/twitter.jpg" WIDTH=400 HEIGHT=300 alt="Get million of twitter Followers"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://186ef7ua252waxb0o6y3690-4g.hop.clickbank.net/"&gt;&lt;img src="http://www.mjsorority.com/MJI/MJSorority.nsf/vwLUPromotionsHomepage/E6D73923A68615A08525759B0057288C/$FILE/twitter.jpg" WIDTH=400 HEIGHT=300 alt="Get million of twitter Followers"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://186ef7ua252waxb0o6y3690-4g.hop.clickbank.net/" target="_top"&gt;Get Million of twitter Followers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://186ef7ua252waxb0o6y3690-4g.hop.clickbank.net/" target="_top"&gt;Get Million of twitter Followers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Twitter is a free social networking and micro-blogging service that enables its users to send and read messages known as tweets.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-770454127866637763?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/770454127866637763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/twitter-traffic-machine.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/770454127866637763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/770454127866637763'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/06/twitter-traffic-machine.html' title='Twitter Traffic Machine'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-5996725719237710069</id><published>2009-05-23T16:59:00.001-07:00</published><updated>2009-05-23T16:59:53.474-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QuickBooks Tutorial'/><title type='text'>Customizing QuickBooks for your business</title><content type='html'>Customizing QuickBooks for your business &lt;br /&gt;&lt;br /&gt;Easy Step Interview is divided into two parts – starting up with the Easy Step Interview and customizing QuickBooks to suit your trade. You are now in the second half. Here, you will be asked a series of questions to come up with a program especially customized to be used in your business. You will be asked to turn off once again certain QuickBooks features which you will find inappropriate for your business. After doing so, push “next” button and you will proceed with the first question. &lt;br /&gt;&lt;br /&gt;The first question will deal with what does your company do in particular. Do you sell service or products? Services may include consultation, accounting services, and memberships. Products, on the other hand, may range from lamps, books, furniture, appliances or hardware. If in case you are a gym owner and you sell training and at the same time books regarding the training program, then you sell both service and product. For BlueMoon, it will be both. Services done by BlueMoon include catering while products are cakes, cookies and muffins. BlueMoon will belong to ‘both’ and then you click on ‘next’ button. &lt;br /&gt;&lt;br /&gt;The second question will be – Do you sell products online? Options for this will be Yes, I sell products online, No, I don’t sell products online but I may want to at a later date and I don’t sell online and I am not interested in doing so. Choose from any of these and if later you decide to change, you can always go back and modify your answer.  BlueMoon does not sell online but may want to do it later. Go ahead and click on “next”. &lt;br /&gt;&lt;br /&gt;Do you charge sales tax is the fourth question. QuickBooks has defaulted the Yes answer since it is advisable for any business to charge sales tax. You may opt for the No but if you are not sure with this, consult your accountant. Opt for any of the given choices then go back and change if necessary. &lt;br /&gt;&lt;br /&gt;For the next task, QuickBooks will inquire if you want this system to conduct estimates for you. An estimate basically refers to a bid, a quote or a sort of proposal provided to clients in order to give them an idea of the cost of whatever you sell. QuickBooks has a No default. But for BlueMoon, the No answer is not a choice. BlueMoon opts to provides estimates for its catering services and products. Go ahead and click on Yes. QuickBooks will then show you sales receipts. Sales receipts are used when clients pay for the service or product they availed from you. QuickBooks does not recommend the use of sales receipts yet for BlueMoon nd other business who have a retail store where people would come and go to avail of the products and services offered, sales receipts should be used. For all cash based entities, QuickBooks can provide sales receipts and other forms of cash registers. Click on Yes for BlueMoon to enable this feature because it is appropriate for the conduct of the business.  &lt;br /&gt;&lt;br /&gt;QuickBooks billing statements can be used on a cruel basis and when providing clients the invoices about the products and services sold to them which will be paid later. Generally, business owners send the clients their billing statements at the end of the month. These statements show all the charges for availed products and services and the amount they owe the business owners. QuickBooks billing statements can show not only the amount owed but also all the payments and credits applicable for the clients’ account. Here, QuickBooks has a No default since the answer is based on the default for the previous question which is No. However, for BueMoon which opted for a Yes in the previous question, this feature will be turned on. This is because the business is also a cash entity which means over the counter cash transactions require receipts and statements. While for the services, BlueMoon wil be billing and releasing invoices for services or products to be delivered at a later time. As this feature is turned on, click on “next” and then proceed again. &lt;br /&gt;&lt;br /&gt;This item talks about progress invoicing. The progress invoicing feature is used in doing a project that runs for several months. Along the duration, you are going to charge the client with services completed or products delivered. This is usually utilized by construction firms which do services of building an infrastructure for quite a long time. Let us take for instance that you are a construction business. You entered a deal to make a house for a client. During the first thirty days, you have already completed the framing for that house. You will then charge the client with that period of completion. For the next thirty days then you have built the sheet up and the construction of walls in progress. Another charge for the client if made for this completed task. With this kind of business (construction) the progress invoice is used since charges are made according to the completion portion of the whole project which actually runs for quite sometime before getting completed. Our business model which is the BlueMoon Cakes and Pastries do not conduct long-term services that is why progress invoices are not applicable. BlueMoon does not offer services that run for months. Clients here are charged and invoiced the moment they availed of the service or the product offered by BlueMoon. Clients are further invoiced at one time. This feature will be turned off for BlueMoon as QuickBooks has recommended. Do not forget that in cases of modification of thee services of your business; you can always modify your answer and turn this feature on. &lt;br /&gt;&lt;br /&gt;QuickBooks’ next question will be about the management of account payables and other bills that you owe. This accounts payable refers to the amount you owe from other people. This feature will track down your vendors, list of bills, dues and deadline for payment of these dues. QuickBooks has defaulted Yes and BlueMoon will use the default.  &lt;br /&gt;&lt;br /&gt;Do you print checks? is the next question. Once more, there are a lot of options for this: Yes, I currently print checks; No, I don’t currently print them but I would like to later on; and I don’t print checks and I don’t have any plans of doing it. Usually, all businesses tend to print checks but if you are the kind of business that takes in cash and not having to pay it out in return, then there is no need for you to print checks. You might as well turn this feature off.  For the BlueMoon Cakes and Pastries, checks are printed so this feature is turned on. Once done with this part, click the “next” button and go with the next question. &lt;br /&gt;&lt;br /&gt;As you go ahead, you will learn how and why QuickBooks recommend tracking inventory. Tracking inventory is a QuickBooks feature that basically depends on the type of your trade. Inventory is usually used by businesses that manufacture something. This means that they are buying the components or the raw materials from vendors and what they do is they assemble these components to create something new. Sometimes, these kinds of business would just procure the component, keep it or stock it on their shelves and sell it again without creating a new product out of it. All of these manufacturing schemes would require tracking of some type of material whether raw or goods which is on stock. As the business owner, you may or may not choose for the materials to get tracked.  This feature really depends on your company needs. QuickBooks Tracking Inventory feature manages your materials by allowing you to gauge the quantity of your stocks particularly the items on hand. This also helps you estimate the cost of these materials, how much have already been sold out and what needs too be replenished at that moment. For BlueMoon, go ahead and turn that feature on because the company needs a tracking of its materials on stock. Although QuickBooks recommends that this feature be turned off, BlueMoon has certain products like espresso machines, coffee mugs, cake accessories and ingredients which are sold again to other clients. Inventory tracking feature will also let you know of damaged or lost materials and give you knowledge on how much money have you got on this stocks and how much you will be having when you resell them.  &lt;br /&gt;&lt;br /&gt;This next feature pertains to credit cards. Do you accept credit cards? And then again you have to choose from: Yes, I do currently accept them; No, I don’t currently but Id probably want to later; and No, I don’t and I do not plan on doing it. The answer here again depends on your preference. Most businesses nowadays do accept credit cards for payments. You can opt for no, but remember, that you can go back and change it to Yes. QuickBooks has used Yes for a default. This time, BlueMoon will go with the default since the business is currently allowing credit card payments. Opt for Yes and then again, click on the “next” button.  &lt;br /&gt;&lt;br /&gt;This stage of the Easy Step Interview is helpful as you get to decide whether you charge your client with labor cost or not. In the construction setting, this construction firms charge clients of the material and the time spent and used in the completion of a certain project. The time and the material here both make up for the labor cost. This QuickBooks feature will help you analyze how much time have been spent for a certain job.  Employee payment will be based on this time tracking feature thus compensation will be efficiently dealt with. Turn this feature on for Bluemoon because the catering services require labor cost. Wedding events for instance needs time tracking to indicate appropriate payment for employees and reasonable charges for clients. BlueMoon takes Yes. Click on the “next” button to proceed.  &lt;br /&gt;&lt;br /&gt;This time, QuickBooks will ask you if you have employees for your business. For BlueMoon Company, the answer is Yes. It is then suggested that you set this item up appropriately regardless of you will be using QuickBooks payroll or not. For the case of BlueMoon,people are employed for the conduct of business. There are W-2 employees who are capable of being included in payroll, collect taxes from their checks and then remit theses taxes payments to the state in federal governments. There are also 1099 contractors who are distinct from the W-2 ones. These 1099 contractors are non-employees to whom you do not take taxes for the payments you have made to them in a year.  What happens is these 1099 contractors are paid their gross salary which you report to the government at the end of the year. The 1099 contractors will decide on their own if they are to pay their taxes corresponding to their gross wage or not. BlueMoon have both kinds of people in the business so the Both button is chosen.  &lt;br /&gt;&lt;br /&gt;This section deals with Chart of Accounts. This primarily talks about using accounts with QuickBooks. Chart of Accounts organize the business income and expenses within. Further, this Charts of Accounts is a basic feature in accounting. Utilizing this feature enables you to have an idea of how much you have been spending for each of your business categories and how much money you are making for each transaction you engaged in. In other words, the Chart of Accounts allows you to control expenditures and determine where sales and income are coming from; thus helping you to manage your business efficiently. Looking in this part, you will notice that QuickBooks has given a little explanation on the importance of the Chart of Accounts as a great tool in making clarifications on some items which you find yourself unfamiliar with. BlueMoon will acquire this feature and proceed to the next. &lt;br /&gt;&lt;br /&gt;We now come to selecting the date for the start of the business with QuickBooks. Conversion date, as mentioned earlier, refers to the time when you decide to convert all your business information into QuickBooks. This is important since there is a need to identify which data from what date will be included in the QuickBooks management. Determining the conversion date will help you identify which information you should be bringing into QuickBooks and the exact date when you will be utilizing this system for your company operations. You are given two choices here. QuickBook has defaulted for the beginning of the year – January 1, 2009. However, oftentimes, QuickBooks will settle for the year when you began bringing into this system your data. The second option is for you to settle with the first date of the quarter or the month of QuickBooks use. It is strongly recommended that conversion dates begin on the first of the calendar year. This lessens the amount of information you are going to bring into QuickBooks. But then again, if you feel the recommended date is not suitable for your business needs, then you may opt for your own date. If you need QuickBooks services during the current month which is May, you do not need to wait for year to begin with QuickBooks. You can start to convert your data as soon as your need.  Conversion dates are better if they coincide with the fiscal year and with your business needs. For BlueMoon, the start dates would be the beginning of the fiscal year.  &lt;br /&gt;&lt;br /&gt;QuickBooks is now requiring you to add a bank account. Bank accounts give a clear picture of your financial condition. Your savings account, checking accounts and money market accounts can be tracked with this feature including your actual physical cash. This could be populated with your existing bank account. This could be filled in however in the later chapters of QuickBooks so for BlueMoon, this feature will be turned off. You could choose yes and the you will be brought to several steps in setting up a bank account.  &lt;br /&gt;&lt;br /&gt;At this point in time, you need to review your income and expenditures account. These two mentioned accounts are defaults in QuickBooks to be filled in completion of your company profile. These were defaulted based on your answers to the previous questions. Further, these accounts were assessed by QuickBooks to be the most frequently used based on all the previous information you have been providing QuickBooks in the course of the Easy Step Interview. So, now you can view your list. On the left side you can see check marks which means the account you have selected, the account name and the description of the account. On the right side, the type of the account is provided. On later chapters of the QuickBooks, these items are elaborated for more understanding. You can decide to go ahead with the defaults.  &lt;br /&gt;&lt;br /&gt;Further, with what you have gone through in the Easy Step Interview, you can realize that QuickBooks gets you into the program, asks you to bring information into it, customize the program itself, remove or delete given details, add more information and further modify what has been given. This will give you the ease not to decide on everything at this point. QuickBooks allows you to edit and add other pertinent details as you start with the program. For now, we will use whatever QuickBooks has defaulted here. After this, kindly click on the “next” button. &lt;br /&gt;&lt;br /&gt;Well-done! You have just completed the Easy Step Interview and you are now ready to continue and start enjoying the benefits of QuickBooks. Congratulations!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-5996725719237710069?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/5996725719237710069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/customizing-quickbooks-for-your.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/5996725719237710069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/5996725719237710069'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/customizing-quickbooks-for-your.html' title='Customizing QuickBooks for your business'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-2922188709372080667</id><published>2009-05-23T16:56:00.001-07:00</published><updated>2009-05-23T16:57:09.499-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QuickBooks Tutorial'/><title type='text'>-Starting the Easy Step Interview</title><content type='html'>-Starting the Easy Step Interview &lt;br /&gt;&lt;br /&gt;After downloading the QuickBooks Pro 2008, you are now ready to get started with the Easy Step Interview. The QuickBooks Pro 2008 icon can be found in your desktop. Double click the icon and launch the QuickBooks program. Remember, if you’re upgrading from a lower version of QuickBooks Pro, you just have to open existing file and undergo the conversion process. In the QuickBooks start up screen you can find on top the Easy Step Interview while the “Convert Data” down below. If you are from other programs like Peachtree, you must click on the “Convert Data” icon and be able to enter a new wizard for conversion. This means you are already skipping the Easy Step Interview. &lt;br /&gt;&lt;br /&gt;For those who are creating a new company profile, click on the QuickBooks Easy Interview icon instead of the conversion process. A new screen on company information will appear. The items with red asterisk indicate that the item is required of you to fill. “Company Name” has a red asterisk on it so it means that QuickBooks is obliging you to fill in company name. And since you are to set up a new business profile, it is indeed a must for you to fill up all other blanks with information about your company even if they are not marked with the red asterisk.  &lt;br /&gt;&lt;br /&gt;As we go on, let us assume that you have filled up the “company name” with BlueMoon Cakes and Pastries (your business name). Hit the tab key and notice that the BlueMoon Cakes and Pastries will automatically fill in the “legal name” box. Thus, the “company name” and the “legal name” would be the same. However, there is an exception to this. If your company is doing a business as DBA, then there will be two separate names for the “company name” and the “legal name”. For instance, the legal name would be Anna Jonhnson Incorporated but the business name is Anna Johnson then there would be two different names. In our above example (BlueMoon Cakes and Pastries), the company name and the legal name are the same so you have to leave the boxes as such. &lt;br /&gt;&lt;br /&gt;The next box will require you of your Federal Tax ID number which can be found in your tax return. This ID number indicates the business organization you are into like Incorporated, Sole Proprietorship, or a Limited Liability Corporation. This could be verified with your accountant in order for you to populate this field accurately.  &lt;br /&gt;&lt;br /&gt;Let us now proceed with our example. BlueMoon Cakes and Pastries is a Corporation. So go ahead with filling in the box for Federal Tax Id number corresponding to your business operation. &lt;br /&gt;&lt;br /&gt;Other boxes to be filled in are the street address, phone number, email address and all factual information about your business. After completing this screenshot, you can now click on the “next “button. &lt;br /&gt;&lt;br /&gt;On this page you will be required to select the type of industry you are into. Identifying the right industry will turn on certain QuickBooks features that could be helpful in catering to your business needs. Provided on this page is a long list of industry types. Sometimes you will not be able to find the correct industry suitable for your business so what you should do is to select the one nearest to your industry. QuickBooks will then assign features for your chosen industry. You must turn off  some of the opened features which you may feel will not be suited for your business. As for BlueMoon Cakes and Pastries, we are going to click on “restaurants” and then push for the “next” button. &lt;br /&gt;&lt;br /&gt;On the next page you will have to identify how your business is organized. Again, you need to know whether your business is a Regular Corporation, a Limited Liability Corporation or a Sole Proprietorship. For BlueMoon, we are going to choose ‘Corporation’ for the company entity. Right after identifying how your business is held, QuickBooks will ask you of your ‘fiscal year’. Remember, the fiscal year refers to the twelve-month period duration used to determine your company’s financial data. For this category, QuickBooks will default to January since this is the recommended start of the fiscal year. However, beside this box is a drop down arrow that shows the other months of the year. This means you can choose from any other months aside from the default if you decide to disregard the January recommendation. BlueMoon will have January as the start of its fiscal year.  &lt;br /&gt;&lt;br /&gt;Following this step is QuickBooks allowing you to have a password for your system to keep your company information confidential. Generally, this password is utilized only in a network environment yet is also advisable in a single-user scheme. In a multi-user field, your are not only allowed to assign password for each authorized user. You can also designate levels of access based on the password. This will be useful in maintaining company security. For example, a bookkeeper will just be allowed to access the payroll section but will not be able to browse on other data of your company. Further, those who are assigned to take care of financial obligations will only get to access the account payables information. QuickBooks will give you the advantage of limiting users with the information they are supposed to see providing maximum security for other confidential company data. However, you are advised to assign one person who can really have access to all areas of your company.  Single user scheme uses passwords too, in cases where the computer is not exclusively used by the business owner. Password is a security feature but you can have the freedom to turn them on or off depending on your desire to protect your business. QuickBooks strongly recommend, though, that you provide password for your file.  For the BlueMoon industry, leave the password off. Click on the “next” button to proceed. &lt;br /&gt;&lt;br /&gt;This page allows you to create your company file. QuuickBooks has devised defaults but you have the option to follow or change these defaults. You will be then asked to choose ways to locate your company file and what are you going to name this file. Depending on your company needs, QuickBooks made suggestions on location schemes. On top of the screen you can see a ‘save in’ window and an indicator where your files can be saved. BlueMoon will then be saved within the QuickBooks default.  As you move on, you can notice that QuickBooks has also filled in you company name as your file name. If you are satisfied with the defaults, you can continue with the process and click on ‘save’ button. But if you do not adhere to the QuickBooks default regarding the location and name of your file, you can always do away with the default and change it.  &lt;br /&gt;&lt;br /&gt;As you click on ‘save’ you have completed the first half of the Easy Step Interview. You are now ready to proceed with the next one which is customizing QuickBooks for your business.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-2922188709372080667?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/2922188709372080667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/starting-easy-step-interview_23.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/2922188709372080667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/2922188709372080667'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/starting-easy-step-interview_23.html' title='-Starting the Easy Step Interview'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-7892097708620055296</id><published>2009-05-23T16:56:00.000-07:00</published><updated>2009-05-23T16:57:05.733-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QuickBooks Tutorial'/><title type='text'>-Starting the Easy Step Interview</title><content type='html'>-Starting the Easy Step Interview &lt;br /&gt;&lt;br /&gt;After downloading the QuickBooks Pro 2008, you are now ready to get started with the Easy Step Interview. The QuickBooks Pro 2008 icon can be found in your desktop. Double click the icon and launch the QuickBooks program. Remember, if you’re upgrading from a lower version of QuickBooks Pro, you just have to open existing file and undergo the conversion process. In the QuickBooks start up screen you can find on top the Easy Step Interview while the “Convert Data” down below. If you are from other programs like Peachtree, you must click on the “Convert Data” icon and be able to enter a new wizard for conversion. This means you are already skipping the Easy Step Interview. &lt;br /&gt;&lt;br /&gt;For those who are creating a new company profile, click on the QuickBooks Easy Interview icon instead of the conversion process. A new screen on company information will appear. The items with red asterisk indicate that the item is required of you to fill. “Company Name” has a red asterisk on it so it means that QuickBooks is obliging you to fill in company name. And since you are to set up a new business profile, it is indeed a must for you to fill up all other blanks with information about your company even if they are not marked with the red asterisk.  &lt;br /&gt;&lt;br /&gt;As we go on, let us assume that you have filled up the “company name” with BlueMoon Cakes and Pastries (your business name). Hit the tab key and notice that the BlueMoon Cakes and Pastries will automatically fill in the “legal name” box. Thus, the “company name” and the “legal name” would be the same. However, there is an exception to this. If your company is doing a business as DBA, then there will be two separate names for the “company name” and the “legal name”. For instance, the legal name would be Anna Jonhnson Incorporated but the business name is Anna Johnson then there would be two different names. In our above example (BlueMoon Cakes and Pastries), the company name and the legal name are the same so you have to leave the boxes as such. &lt;br /&gt;&lt;br /&gt;The next box will require you of your Federal Tax ID number which can be found in your tax return. This ID number indicates the business organization you are into like Incorporated, Sole Proprietorship, or a Limited Liability Corporation. This could be verified with your accountant in order for you to populate this field accurately.  &lt;br /&gt;&lt;br /&gt;Let us now proceed with our example. BlueMoon Cakes and Pastries is a Corporation. So go ahead with filling in the box for Federal Tax Id number corresponding to your business operation. &lt;br /&gt;&lt;br /&gt;Other boxes to be filled in are the street address, phone number, email address and all factual information about your business. After completing this screenshot, you can now click on the “next “button. &lt;br /&gt;&lt;br /&gt;On this page you will be required to select the type of industry you are into. Identifying the right industry will turn on certain QuickBooks features that could be helpful in catering to your business needs. Provided on this page is a long list of industry types. Sometimes you will not be able to find the correct industry suitable for your business so what you should do is to select the one nearest to your industry. QuickBooks will then assign features for your chosen industry. You must turn off  some of the opened features which you may feel will not be suited for your business. As for BlueMoon Cakes and Pastries, we are going to click on “restaurants” and then push for the “next” button. &lt;br /&gt;&lt;br /&gt;On the next page you will have to identify how your business is organized. Again, you need to know whether your business is a Regular Corporation, a Limited Liability Corporation or a Sole Proprietorship. For BlueMoon, we are going to choose ‘Corporation’ for the company entity. Right after identifying how your business is held, QuickBooks will ask you of your ‘fiscal year’. Remember, the fiscal year refers to the twelve-month period duration used to determine your company’s financial data. For this category, QuickBooks will default to January since this is the recommended start of the fiscal year. However, beside this box is a drop down arrow that shows the other months of the year. This means you can choose from any other months aside from the default if you decide to disregard the January recommendation. BlueMoon will have January as the start of its fiscal year.  &lt;br /&gt;&lt;br /&gt;Following this step is QuickBooks allowing you to have a password for your system to keep your company information confidential. Generally, this password is utilized only in a network environment yet is also advisable in a single-user scheme. In a multi-user field, your are not only allowed to assign password for each authorized user. You can also designate levels of access based on the password. This will be useful in maintaining company security. For example, a bookkeeper will just be allowed to access the payroll section but will not be able to browse on other data of your company. Further, those who are assigned to take care of financial obligations will only get to access the account payables information. QuickBooks will give you the advantage of limiting users with the information they are supposed to see providing maximum security for other confidential company data. However, you are advised to assign one person who can really have access to all areas of your company.  Single user scheme uses passwords too, in cases where the computer is not exclusively used by the business owner. Password is a security feature but you can have the freedom to turn them on or off depending on your desire to protect your business. QuickBooks strongly recommend, though, that you provide password for your file.  For the BlueMoon industry, leave the password off. Click on the “next” button to proceed. &lt;br /&gt;&lt;br /&gt;This page allows you to create your company file. QuuickBooks has devised defaults but you have the option to follow or change these defaults. You will be then asked to choose ways to locate your company file and what are you going to name this file. Depending on your company needs, QuickBooks made suggestions on location schemes. On top of the screen you can see a ‘save in’ window and an indicator where your files can be saved. BlueMoon will then be saved within the QuickBooks default.  As you move on, you can notice that QuickBooks has also filled in you company name as your file name. If you are satisfied with the defaults, you can continue with the process and click on ‘save’ button. But if you do not adhere to the QuickBooks default regarding the location and name of your file, you can always do away with the default and change it.  &lt;br /&gt;&lt;br /&gt;As you click on ‘save’ you have completed the first half of the Easy Step Interview. You are now ready to proceed with the next one which is customizing QuickBooks for your business.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-7892097708620055296?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/7892097708620055296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/starting-easy-step-interview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7892097708620055296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7892097708620055296'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/starting-easy-step-interview.html' title='-Starting the Easy Step Interview'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-536408518501769647</id><published>2009-05-23T16:54:00.003-07:00</published><updated>2009-05-23T16:54:58.768-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QuickBooks Tutorial'/><title type='text'>-Converting data from other program</title><content type='html'>-Converting data from other program &lt;br /&gt;&lt;br /&gt;The Easy Step Interview can be skipped if you opt to convert from another program and QuickBooks has devised a way to do the conversion the easy way. This is because QuickBooks has anticipated some businesses to have managed their data through other programs like Quicken 98, Peachtree 2001, and Microsoft Small Accounting and Office Accounting. QuickBooks has made an easy convert process wizard that effectively converts your data from these programs. The easy conversion step is done by simply clicking on the convert button in the Easy Interview start-up screen and by following the step by step conversion scheme. For clarification and further understanding of this renovation method, please visit www.quickbooksgroup.com. &lt;br /&gt;&lt;br /&gt;The above website offers an upgrade conversion center that provides answers to your questions regarding version updates and conversion process. QuickBooks will show you how to transfer your data from other programs or from any lower version QuickBooks. In this way, upgrading, converting and data-transferring will be effortless for you. &lt;br /&gt;&lt;br /&gt;Moreover, you may also visit support.quickbooks.intuit.com. This site will help you build your business profile in a network or multi-user environment while upgrading or transferring your data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-536408518501769647?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/536408518501769647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/converting-data-from-other-program_23.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/536408518501769647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/536408518501769647'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/converting-data-from-other-program_23.html' title='-Converting data from other program'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-7244097799323684401</id><published>2009-05-23T16:54:00.001-07:00</published><updated>2009-05-23T16:54:56.333-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QuickBooks Tutorial'/><title type='text'>-Converting data from other program</title><content type='html'>-Converting data from other program &lt;br /&gt;&lt;br /&gt;The Easy Step Interview can be skipped if you opt to convert from another program and QuickBooks has devised a way to do the conversion the easy way. This is because QuickBooks has anticipated some businesses to have managed their data through other programs like Quicken 98, Peachtree 2001, and Microsoft Small Accounting and Office Accounting. QuickBooks has made an easy convert process wizard that effectively converts your data from these programs. The easy conversion step is done by simply clicking on the convert button in the Easy Interview start-up screen and by following the step by step conversion scheme. For clarification and further understanding of this renovation method, please visit www.quickbooksgroup.com. &lt;br /&gt;&lt;br /&gt;The above website offers an upgrade conversion center that provides answers to your questions regarding version updates and conversion process. QuickBooks will show you how to transfer your data from other programs or from any lower version QuickBooks. In this way, upgrading, converting and data-transferring will be effortless for you. &lt;br /&gt;&lt;br /&gt;Moreover, you may also visit support.quickbooks.intuit.com. This site will help you build your business profile in a network or multi-user environment while upgrading or transferring your data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-7244097799323684401?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/7244097799323684401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/converting-data-from-other-program.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7244097799323684401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7244097799323684401'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/converting-data-from-other-program.html' title='-Converting data from other program'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-2951371898248757296</id><published>2009-05-23T16:53:00.001-07:00</published><updated>2009-05-23T16:53:44.235-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QuickBooks Tutorial'/><title type='text'>Upgrading from a previous version of QuickBooks</title><content type='html'>Upgrading from a previous version of QuickBooks &lt;br /&gt;&lt;br /&gt;Easy Step Interview QuickBooks require you to utilize advance versions of QuickBooks. If you have been using other versions of QuickBooks, it pays to know how to upgrade your versions into higher versions to achieve more significant benefits. Remember, QuickBooks Pro 2006 and 2007 can be directly upgraded to QuickBooks Pro 2008. All versions lower than that of 2006 need to have preliminary conversions to 2006 before upgrading them to 2008.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-2951371898248757296?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/2951371898248757296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/upgrading-from-previous-version-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/2951371898248757296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/2951371898248757296'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/upgrading-from-previous-version-of.html' title='Upgrading from a previous version of QuickBooks'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-1918496465767374821</id><published>2009-05-23T16:50:00.000-07:00</published><updated>2009-05-23T16:52:37.352-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QuickBooks Tutorial'/><title type='text'>The Easy Step Interview</title><content type='html'>The Easy Step Interview&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-Preparing for the Easy Step Interview &lt;br /&gt;&lt;br /&gt;QuickBooks, the best accounting software in today’s market, kicks off with this Easy Step Interview especially created for those who have no idea of this system. Your business needs systematic book keeping strategies and QuickBooks is now introducing this Easy Step Interview to manage your business needs. If you already have a good grasp of what QuickBooks is and is already using higher versions, there is of course no need for you to get oriented with the Easy Step Interview. But for novices and fresh users, this Easy Step Interview is a good way to understand the whole software. &lt;br /&gt;&lt;br /&gt;Those who are new to this will have to undergo a series of inquiries which were definitely tailored to build the business or company profile. If you want your business to be organized, providing accurate information to every question in the Easy Step Interview would be a great help.  &lt;br /&gt;&lt;br /&gt;Several data is needed to get started with QuickBooks. First, you must come up with a conversion date which marks your start with the QuickBooks software. This conversion date is useful to determine the range of information you are bringing into QuickBooks from a detailed standpoint. There is a big difference between conversion date and start date. For instance, Business A is a freshly established company on December 1, 2007 and started with QuickBooks on the same date. This means Business A has no prior information to be bringing into QuickBooks. December 1, 2007 is now considered as a start date and not a conversion date. What happens for new trades like this is that they just fill in QuickBooks details with present activities and other events during the date.  &lt;br /&gt;&lt;br /&gt;On the other hand, Business B has already been operating January 10, 2008 and decides to enter QuickBooks on January 10, 2009. The latter will now be considered the conversion date because it is when Business B decided to bring the company information into the system. &lt;br /&gt;&lt;br /&gt;During the conversion date, you as the business owners need to provide the balance sheet and the profit-loss statement which will be used to fill in QuickBooks details. You also have to prepare tax return documents containing the business name, the Federal Tax Identification Number and the method of accounting previously used. Your method of accounting should be determined before entering QuickBooks. If you are not sure about it, let your accountant or CPA determine it for you. &lt;br /&gt;&lt;br /&gt;You may also need to provide QuickBooks with a record of your accounts payable and accounts receivable which is actually dependent on the conversion date you have chosen. Further, a list containing both the information of your vendors and your customers will be asked from you. These documents and records will be the basis for QuickBooks information as it builds your company and cater to your business needs. &lt;br /&gt;&lt;br /&gt;During the course of the interview, QuickBooks will ask you to identify in which industry your company belongs to. The industry choices may range from construction-based company to service-based company or a product-based company. Knowing the kind of industry will maximize the benefits you can have from QuickBooks. &lt;br /&gt;&lt;br /&gt;Moreover, your company organization is also essential for the interview. You need to identify whether your business is Sole Proprietorship, Incorporated or Limited Liability Corporation.  &lt;br /&gt;&lt;br /&gt;The most complicated question to be asked in the interview would probably be the beginning of your fiscal year. This may be confusing since generally, most companies start their fiscal years from January to December. Schools and some government agencies, though, begin in June and end in July. Before identifying the fiscal year, it is necessary that you understand what is meant by this. In the accounting field, fiscal year refers to a 12-month duration utilized to estimate the company’s financial data. You have to decide when you should start your financial calculation.  &lt;br /&gt;&lt;br /&gt;All entries particularly your answers during the interview with QuickBooks tackle your business information. If you are uncertain with them especially the crucial ones like fiscal year, you need to verify them with your accountant.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-1918496465767374821?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/1918496465767374821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/easy-step-interview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1918496465767374821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1918496465767374821'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/easy-step-interview.html' title='The Easy Step Interview'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-6702782527967389334</id><published>2009-05-10T04:41:00.001-07:00</published><updated>2009-05-10T04:41:35.604-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>Preface</title><content type='html'>Assembly language programming develops a very basic and low level understanding of the computer. In higher level languages there is a distance between the computer and the programmer. This is because higher level languages are designed to be closer and friendlier to the programmer, thereby creating distance with the machine. This distance is covered by translators called compilers and interpreters. The aim of programming in assembly language is to bypass these intermediates and talk directly with the computer.&lt;br /&gt;&lt;br /&gt;There is a general impression that assembly language programming is a difficult chore and not everyone is capable enough to understand it. The reality is in contrast, as assembly language is a very simple subject. The wrong impression is created because it is very difficult to realize that the real computer can be so simple. Assembly language programming gives a freehand exposure to the computer and lets the programmer talk with it in its language. The only translator that remains between the programmer and the computer is there to symbolize the computer’s numeric world for the ease of remembering.&lt;br /&gt;&lt;br /&gt;To cover the practical aspects of assembly language programming, IBM PC based on Intel architecture will be used as an example. However this course will not be tied to a particular architecture as it is often done. In our view such an approach does not create versatile assembly language programmers. The concepts of assembly language that are common across all platforms will be developed in such a manner as to emphasize the basic low level understanding of the computer instead of the peculiarities of one particular architecture. Emphasis will be more on assembly language and less on the IBM PC.&lt;br /&gt;&lt;br /&gt;Before attempting this course you should know basic digital logic operations of AND, OR, NOT etc. You should know binary numbers and their arithmetic. Apart from these basic concepts there is nothing much you need to know before this course. In fact if you are not an expert, you will learn assembly language quickly, as non-experts see things with simplicity and the basic beauty of assembly language is that it is exceptionally simple. Do not ever try to find a complication, as one will not be there. In assembly language what is written in the program is all that is there, no less and no more.&lt;br /&gt;&lt;br /&gt;After successful completion of this course, you will be able to explain all the basic operations of the computer and in essence understand the psychology of the computer. Having seen the computer from so close, you will understand its limitations and its capabilities. Your logic will become fine grained and this is one of the basic objectives of teaching assembly language programming.&lt;br /&gt;&lt;br /&gt;Then there is the question that why should we learn assembly language when there are higher leve l languages one better than the other; C, C++, Java, to name just a few, with a neat programming environment and a simple way to write programs. Then why do we need such a freehand with the computer that may be dangerous at times? The answer to this lies in a very simple example. Consider a translator translating from English to Japanese. The problem faced by the translator is that every language has its own vocabulary and grammer. He may need to translate a word into a sentence and destroy the beauty of the topic. And given that we do not know &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Japanese, so we cannot verify that our intent was correctly conveyed or not. Compiler is such a translator, just a lot dumber, and having a scarce number of words in its target language, it is bound to produce a lot of garbage and unnecessary stuff as a result of its ignorance of our program logic. In normal programs such garbage is acceptable and the ease of programming overrides the loss in efficiency but there are a few situations where this loss is unbearable.&lt;br /&gt;&lt;br /&gt;Think about a four color picture scanned at 300 dots per inch making 90000 pixels per square inch. Now a processing on this picture requires 360000 operations per square inch, one operation for each color of each pixel. A few extra instructions placed by the translator can cost hours of extra time. The only way to optimize this is to do it directly in assembly language. But this doesn’t mean that the whole application has to be written in assembly language, which is almost never the case. It’s only the performance critical part that is coded in assembly language to gain the few extra cycles that matter at that point.&lt;br /&gt;Consider an arch just like the ones in mosques. It cannot be made of big stones alone as that would make the arch wildly jagged, not like the fine arch we are used to see. The fine grains of cement are used to smooth it to the desired level of perfection. This operation of smoothing is optimization. The core structure is built in a higher level language with the big blocks it provides and the corners that need optimization are smoothed with the fine grain of assembly language which allows extreme control.&lt;br /&gt;&lt;br /&gt;Another use of assembly language is in a class of time critical systems called real time systems. Real time systems have time bound responses, with an upper limit of time on certain operations. For such precise timing requirement, we must keep the instructions in our total control. In higher level languages we cannot even tell how many computer instructions were actually used, but in assembly language we can have precise control over them. Any reasonable sized application or a serious development effort has nooks and corners where assembly language is needed. And at these corners if there is no assembly language, there can be no optimization and when there is no optimization, there is no beauty. Sometimes a useful application becomes useless just because of the carelessness of not working on these jagged corners.&lt;br /&gt;&lt;br /&gt;The third major reason for learning assembly language and a major objective for teaching it is to produce fine grained logic in programmers. Just like big blocks cannot produce an arch, the big thick grained logic learnt in a higher level language cannot produce the beauty and fineness assembly language can deliver. Each and every grain of assembly language has a meaning, nothing is presumed. You have to put together these grains, the minimum number of them to produce the desired outcome. Just like a “for” loop in a higher level language is a block construct and has a hundred things hidden in it, but using the grains of assembly language we do a similar operation with a number of grains but in the process understand the minute logic hidden beside that simple “for” construct.&lt;br /&gt;&lt;br /&gt;Assembly language cannot be learnt by reading a book or by attending a course. It is a language that must be tasted and enjoyed. There is no other way to learn it. You will need to try every example, observe and verify the things you are told about it, and experiment a lot with the computer. Only then you will know and become able to appreciate how powerful, versatile, and simple this language is; the three properties that are hardly ever present together.&lt;br /&gt;&lt;br /&gt;Whether you program in C/C++ or Java, or in any programming paradigm be it object oriented or declarative, everything has to boil down to the bits and bytes of assembly language before the computer can even understand it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-6702782527967389334?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/6702782527967389334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/preface.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/6702782527967389334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/6702782527967389334'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/preface.html' title='Preface'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-3230407403401278096</id><published>2009-05-10T04:40:00.002-07:00</published><updated>2009-05-10T04:41:09.027-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>Address, Data, and Control Buses</title><content type='html'>A computer system comprises of a processor, memory, and I/O devices. I/O is used for interfacing with the external world, while memory is the processor’s internal world. Processor is the core in this picture and is responsible for performing operations. The operation of a computer can be fairly described with processor and memory only. I/O will be discussed in a later part of the course. Now the whole working of the computer is performing an operation by the processor on data, which resides in memory.&lt;br /&gt;&lt;br /&gt;The scenario that the processor executes operations and the memory contains data elements requires a mechanism for the processor to read that data from the memory. “That data” in the previous sentence much be rigorously explained to the memory which is a dumb device. Just like a postman, who must be told the precise address on the letter, to inform him where the destination is located. Another significant point is that if we only want to read the data and not write it, then there must be a mechanism to inform the memory that we are interested in readi ng data and not writing it. Key points in the above discussion are:&lt;br /&gt;&lt;br /&gt;•There must be a mechanism to inform memory that we want to do the read operation &lt;br /&gt;&lt;br /&gt;•There must be a mechanism to inform memory that we want to read precisely which element&lt;br /&gt;&lt;br /&gt;•There must be a mechanism to transfer that data element from memory to processor&lt;br /&gt;&lt;br /&gt;The group of bits that the processor uses to inform the memory about which element to read or write is collectively known as the address bus. Another important bus called the data bus is used to move the data from the memory to the processor in a read operation and from the processor to the memory in a write operation. The third group consists of miscellaneous independent lines used for control purposes. For example, one line of the bus is used to inform the memory about whether to do the read operation or the write operation. These lines are collectively known as the control bus.&lt;br /&gt;&lt;br /&gt;These three buses are the eyes, nose, and ears of the processor. It uses them in a synchronized manner to perform a meaningful operation. Although the programmer specifies the meaningful operation, but to fulfill it the processor needs the collaboration of other units and peripherals. And that collaboration is made available using the three buses. This is the very basic description of a computer and it can be extended on the same lines to I/O but we are leaving it out just for simplicity for the moment.&lt;br /&gt;&lt;br /&gt;The address bus is unidirectional and address always travels from processor to memory. This is because memory is a dumb device and cannot predict which element the processor at a particular instant of time needs. Data moves from both, processor to memory and memory to processor, so the data bus is bidirectional. Control bus is special and relatively complex, because different lines comprising it behave differently. Some take information from the processor to a peripheral and some take information from the peripheral to the processor. There can be certain events outside the processor that are of its interest. To bring information about these events the data bus cannot be used as it is owned by the processor and will only be used when the processor grants permission to use it. Therefore certain processors provide control lines to bring such information to processor’s notice in the control bus. Knowing these signals in detail is unnecessary but the general idea of the control bus must be conceived in full.&lt;br /&gt;&lt;br /&gt;We take an example to explain the collaboration of the processor and memory using the address, control, and data buses. Consider that you want your uneducated servant to bring a book from the shelf. You order him to bring the fifth book from top of the shelf. All the data movement operations are hidden in this one sentence. Such a simple everyday phenomenon seen from this perspective explains the seemingly complex working of the three buses. We told the servant to “bring a book” and the one which is “fifth from top,” precise location even for the servant who is much more intelligent then our dumb memory. The dumb servant follows the steps one by one and the book is in your hand as a result. If however you just asked him for a book or you named the book, your uneducated servant will stand there gazing at you and the book will never come in your hand.&lt;br /&gt;&lt;br /&gt;Even in this simplest of all examples, mathematics is there, “fifth from top.” Without a number the servant would not be able to locate the book. He is unable to understand your will. Then you tell him to put it with the seventh book on the right shelf. Precision is involved and only numbers are precise in this world. One will always be one and two will always be two. So we tell in the form of a number on the address bus which cell is needed out of say the 2000 cells in the whole memory.&lt;br /&gt;&lt;br /&gt;A binary number is generated on the address bus, fifth, seventh, eighth, tenth; the cell which is needed. So the cell number is placed on the address bus. A memory cell is an n-bit location to store data, normally 8-bit also called a byte. The number of bits in a cell is called the cell width. The two dimensions, cell width and number of cells, define the memory completely just like the width and depth of a well defines it completely. 200 feet deep by 15 feet wide and the well is completely described. Similarly for memory we define two dimensions. The first dimension defines how many parallel bits are there in a single memory cell. The memory is called 8-bit or 16-bit for this reason and this is also the word size of the memory. This need not match the size of a processor word which has other parameters to define it. In general the memory cell cannot be wider than the width of the data bus. Best and simplest operation requires the same size of data bus and memory cell width.&lt;br /&gt;&lt;br /&gt;As we previously discussed that the control bus carries the intent of the processor that it wants to read or to write. Memory changes its behavior in response to this signal from the processor. It defines the direction of data flow. If processor wants to read but memory wants to write, there will be no communication or useful flow of information. Both must be synchronized, like a speaker speaks and the listener listens. If both speak simultaneously or both listen there will be no communication. This precise synchronization between the processor and the memory is the responsibility of the control bus.&lt;br /&gt;&lt;br /&gt;Control bus is only the mechanism. The responsibility of sending the appropriate signals on the control bus to the memory is of the processor. Since the memory never wants to listen or to speak of itself. Then why is the control bus bidirectional. Again we take the same example of the servant and the book further to elaborate this situation. Consider that the servant went to fetch the book just to find that the drawing room door is locked. Now the servant can wait there indefinitely keeping us in surprise or come back and inform us about the situation so that we can act accordingly. The servant even though he was obedient was unable to fulfill our orders so in all his obedience, he came back to inform us about the problem. Synchronization is still important, as a result of our orders either we got the desired cell or we came to know that the memory is locked for the moment. Such information cannot be transferred via the address or the data bus. For such situations when peripherals want to talk to the processor when the processor wasn’t expecting them to speak, special lines in the control bus are used. The information in such signals is usually to indicate the incapability of the peripheral to do something for the moment. For these reasons the control bus is a bidirectional bus and can carry information from processor to memory as well as from memory to processor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-3230407403401278096?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/3230407403401278096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/address-data-and-control-buses.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/3230407403401278096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/3230407403401278096'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/address-data-and-control-buses.html' title='Address, Data, and Control Buses'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-9037116894005063788</id><published>2009-05-10T04:40:00.001-07:00</published><updated>2009-05-10T04:40:39.276-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>REGISTERS</title><content type='html'>The basic purpose of a computer is to perform operations, and operations need operands. Operands are the data on which we want to perform a certain operation. Consider the addition operation; it involves adding two numbers to get their sum. We can have precisely one address on the address bus and consequently precisely one element on the data bus. At the very same instant the second operand cannot be brought inside the processor. As soon as the second is selected, the first operand is no longer there. For this reason there are temporary storage places inside the processor called registers. Now one ope rand can be read in a register and added into the other which is read directly from the memory. Both are made accessible at one instance of time, one from inside the processor and one from outside on the data bus. The result can be written to at a distinct location as the operation has completed and we can access a different memory cell. Sometimes we hold both operands in registers for the sake of efficiency as what we can do inside the processor is undoubtedly faster than if we have to go outside and bring the second operand.&lt;br /&gt;&lt;br /&gt;Registers are like a scratch pad ram inside the processor and their operation is very much like normal memory cells. They have precise locations and remember what is placed inside them. They are used when we need more than one data element inside the processor at one time. The concept of registers will be further elaborated as we progress into writing our first program.&lt;br /&gt;&lt;br /&gt;Memory is a limited resource but the number of memory cells is large. Registers are relatively very small in number, and are therefore a very scarce and precious resource. Registers are more than one in number, so we have to precisely identify or name them. Some manufacturers number their registers like r0, r1, r2, others name them like A, B, C, D. Naming is useful since the registers are few in number. This is called the nomenclature of the particular architecture. Still other manufacturers name their registers according to their function like X stands for an index register. This also informs us that there are special functions of registers as well, some of which are closely associated to the particular architecture. For example index registers do not hold data instead they are used to hold the address of data. There are other functions as well and the whole spectrum of register functionalities is quite large. However most of the details will become clear as the registers of the Intel architecture are discussed in detail.&lt;br /&gt;&lt;br /&gt;Accumulator&lt;br /&gt;&lt;br /&gt;There is a central register in every processor called the accumulator. Traditionally all mathematical and logical operations are performed on the accumulator. The word size of a processor is defined by the width of its accumulator. A 32bit processor has an accumulator of 32 bits.&lt;br /&gt;&lt;br /&gt;Pointer, Index, or Base Register&lt;br /&gt;&lt;br /&gt;The name varies from manufacturer to manufacturer, but the basic distinguishing property is that it does not hold data but holds the address of data. The rationale can be understood by examining a “for” loop in a higher level language, zeroing elements in an array of ten elements locate d in consecutive memory cells. The location to be zeroed changes with every iteration. That is the address where the operation is performed is changing. Index register is used in such a situation to hold the address of the current array location. Now the value in the index register cannot be treated as data, but it is the address of data. In general whenever we need access to a memory location whose address is not known until runtime we need an index register. Without this register we would have needed to explicitly code each iteration separately.&lt;br /&gt;&lt;br /&gt;In newer architectures the distinction between accumulator and index registers has become vague. They have general registers which are more versatile and can do both functions. They do have some specialized behaviors but basic operations can be done on all general registers.&lt;br /&gt;&lt;br /&gt;Flags Register or Program Status Word&lt;br /&gt;&lt;br /&gt;This is a special register in every architecture called the flags register or the program status word. Like the accumulator it is an 8, 16, or 32 bits regi ster but unlike the accumulator it is meaningless as a unit, rather the individual bits carry different meanings. The bits of the accumulator work in parallel as a unit and each bit mean the same thing. The bits of the flags register work independently and individually, and combined its value is meaningless.&lt;br /&gt;&lt;br /&gt;An example of a bit commonly present in the flags register is the carry flag. The carry can be contained in a single bit as in binary arithmetic the carry can only be zero or one. If a 16bit number is added to a 16bit accumulator, and the result is of 17 bits the 17th bit is placed in the carry bit of the flags register. Without this 17th bit the answer is incorrect. More examples of flags will be discussed when dealing with the Intel specific register set.&lt;br /&gt;&lt;br /&gt;Program Counter or Instruction Pointer&lt;br /&gt;&lt;br /&gt;Everything must translate into a binary number for our dumb processor to understand it, be it an operand or an operation itself. Therefore the instructions themselves must be translated into numbers. For example to add numbers we understand the word “add.” We translate this word into a number to make the processor understand it. This number is the actual instruction for the computer. All the objects, inheritance and encapsulation constructs in higher level languages translate down to just a number in assembly language in the end. Addition, multiplication, shifting; all big programs are made using these simple building blocks. A number is at the bottom line since this is the only thing a computer can understand.&lt;br /&gt;&lt;br /&gt;A program is defined to be “an ordered set of instructions.” Order in this definition is a key part. Instructions run one after another, first, second, third and so on. Instructions have a positional relationship. The whole logic depends on this positioning. If the computer executes the fifth instructions after the first and not the second, all our logic is gone. The processor should ensure this ordering of instructions. A special register exists in every processor called the program counter or the instruction pointer that ensures this ordering. “The program counter holds the address of the next instruction to be executed.” A number is placed in the memory cell pointed to by this register and that number tells the processor which instruction to execute; for example 0xEA, 255, or 152. For the processor 152 might be the add instruction. Just this one number tells it that it has to add, where its operands are, and where to store the result. This number is called the opcode. The instruction pointer moves from one opcode to the next. This is how our program executes and progresses. One instruction is picked, its operands are read and the instruction is executed, then the next instruction is picked from the new address in instruction pointer and so on.&lt;br /&gt;&lt;br /&gt;Remembering 152 for the add operation or 153 for the subtract operation is difficult. To make a simple way to remember difficult things we associate a symbol to every number. As when we write “add” everyone understands what we mean by it. Then we need a small program to convert this “add” of ours to 152 for the processor. Just a simple search and replace operation to translate all such symbols to their corresponding opcodes. We have mapped the numeric world of the processor to our symbolic world. “Add” conveys a meaning to us but the number 152 does not. We can say that add is closer to the programmer’s thinking. This is the basic motive of adding more and more translation layers up to higher level languages like C++ and Java and Visual Basic. These symbols are called instruction mnemonics. Therefore the mnemonic “add a to b” conveys more information to the reader. The dumb translator that will convert these mnemonics back to the original opcodes is a key program to be used throughout this course and is called the assembler.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-9037116894005063788?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/9037116894005063788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/registers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/9037116894005063788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/9037116894005063788'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/registers.html' title='REGISTERS'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-7367131242013890493</id><published>2009-05-10T04:39:00.004-07:00</published><updated>2009-05-10T04:40:13.105-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>INSTRUCTION GROUPS</title><content type='html'>Monday, April 27, 2009&lt;br /&gt;HISTORY&lt;br /&gt;Intel did release some 4bit processors in the beginning but the first meaningful processor was 8080, an 8bit processor. The processor became popular due to its simplistic design and versatile architecture . Based on the experience gained from 8080, an advanced version was released as 8085. The processor became widely popular in the engineering community again due to its simple and logical nature.&lt;br /&gt;&lt;br /&gt;Intel introduced the first 16bit processor named 8088 at a time when the concept of personal computer was evolving. With a maximum memory of 64K on the 8085, the 8088 allowed a whole mega byte. IBM embedded this processor in their personal computer. The first machines ran at 4.43 MHz; a blazing speed at that time. This was the right thing at the right moment. No one expected this to become the biggest success of computing history. IBM PC XT became so popular and successful due to its open architecture and easily available information.&lt;br /&gt;&lt;br /&gt;The success was unexpected for the developers themselves. As when Intel introduced the processor it contained a timer tick count which was valid for five years only. They never anticipated the architecture to stay around for more than five years but the history took a turn and the architecture is there at every desk even after 25 years and the tick is to be specially handled every now and then.&lt;br /&gt;&lt;br /&gt;Labels: Introduction to Assembly Language&lt;br /&gt;&lt;br /&gt;Posted by atezaz at 1:26 PM 0 comments&lt;br /&gt;&lt;br /&gt;INTEL IAPX88 ARCHITECTURE&lt;br /&gt;Now we select a specific architecture to discuss these abstract ideas in concrete form. We will be using IBM PC based on Intel architecture because of its wide availability, because of free assemblers and debuggers available for it, and because of its wide use in a variety of domains. However the concepts discussed will be applicable on any other architecture as well; just the mnemonics of the particular language will be different.&lt;br /&gt;&lt;br /&gt;Technically iAPX88 stands for “Intel Advanced Processor Extensions 88.” It was a very successful processor also called 8088 and was used in the very first IBM PC machines. Our discussion will revolve around 8088 in the first half of the course while in the second half we will use iAPX386 which is very advanced and powerful processor. 8088 is a 16bit processor with its accumulator and all registers of 16 bits. 386 on the other hand, is a 32bit processor. However it is downward compatible with iAPX88 meaning that all code written for 8088 is valid on the 386. The architecture of a processor means the organization and functionalities of the registers it contains and the instructions that are valid on the processor. We will discuss the register architecture of 8088 in detail below while its instructions are discussed in the rest of the book at appropriate places.&lt;br /&gt;&lt;br /&gt;Labels: Introduction to Assembly Language&lt;br /&gt;&lt;br /&gt;Posted by atezaz at 1:26 PM 0 comments&lt;br /&gt;&lt;br /&gt;INSTRUCTION GROUPS&lt;br /&gt;Usual opcodes in every processor exist for moving data, arithmetic and logical manipulations etc. However their mnemonics vary depending on the will of the manufacturer. Some manufacturers name the mnemonics for data movement instructions as “move,” some call it “load” and “store” and still other names are present. But the basic set of instructions is similar in every processor. A grouping of these instructions makes learning a new processor quick and easy. Just the group an instruction belongs tells a lot about the instruction.&lt;br /&gt;&lt;br /&gt;Data Movement Instructions&lt;br /&gt;&lt;br /&gt;These instructions are used to move data from one place to another. These places can be registers, memory, or even inside peripheral devices. Some examples are:&lt;br /&gt;&lt;br /&gt;mov ax, bx lda 1234&lt;br /&gt;&lt;br /&gt;Arithmetic and Logic Instructions&lt;br /&gt;&lt;br /&gt;Arithmetic instructions like addition, subtraction, multiplication, division and Logical instructions like logical and, logical or, logical xor, or complement are part of this group. Some examples are:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;and ax, 1234&lt;br /&gt;add bx, 0534&lt;br /&gt;add bx, [1200]&lt;br /&gt;&lt;br /&gt;The bracketed form is a complex variation meaning to add the data placed at address 1200. Addressing data in memory is a detailed topic and is discussed in the next chapter.&lt;br /&gt;&lt;br /&gt;Program Control Instructions&lt;br /&gt;&lt;br /&gt;The instruction pointer points to the next instruction and instructions run one after the other with the help of this register. We can say that the instructions are tied with one another. In some situations we don’t want to follow this implied path and want to order the processor to break its flow if some condition becomes true instead of the spatially placed next instruction. In certain other cases we want the processor to first execute a separate block of code and then come back to resume processing where it left.&lt;br /&gt;&lt;br /&gt;These are instructions that control the program execution and flow by playing with the instruction pointer and altering its normal behavior to point to the next instruction. Some examples are:&lt;br /&gt;&lt;br /&gt;cmp ax, 0 jne 1234&lt;br /&gt;&lt;br /&gt;We are changing the program flow to the instruction at 1234 address if the condition that we checked becomes true.&lt;br /&gt;&lt;br /&gt;Special Instructions&lt;br /&gt;&lt;br /&gt;Another group called special instructions works like the special service commandos. They allow changing specific processor behaviors and are used to play with it. They are used rarely but are certainly used in any meaningful program. Some examples are:&lt;br /&gt;&lt;br /&gt;cli sti&lt;br /&gt;Where cli clears the interrupt flag and sti sets it. Without delving deep into it, consider that the cli instruction instructs the processor to close its ears from the outside world and never listen to what is happening outside, possibly to do some very important task at hand, while sti restores normal behavior. Since these instructions change the processor behavior they are placed in the special instructions group.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-7367131242013890493?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/7367131242013890493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/instruction-groups.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7367131242013890493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7367131242013890493'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/instruction-groups.html' title='INSTRUCTION GROUPS'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-6529061398979502775</id><published>2009-05-10T04:39:00.003-07:00</published><updated>2009-05-10T04:39:48.572-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>INTEL IAPX88 ARCHITECTURE</title><content type='html'>Now we select a specific architecture to discuss these abstract ideas in concrete form. We will be using IBM PC based on Intel architecture because of its wide availability, because of free assemblers and debuggers available for it, and because of its wide use in a variety of domains. However the concepts discussed will be applicable on any other architecture as well; just the mnemonics of the particular language will be different.&lt;br /&gt;&lt;br /&gt;Technically iAPX88 stands for “Intel Advanced Processor Extensions 88.” It was a very successful processor also called 8088 and was used in the very first IBM PC machines. Our discussion will revolve around 8088 in the first half of the course while in the second half we will use iAPX386 which is very advanced and powerful processor. 8088 is a 16bit processor with its accumulator and all registers of 16 bits. 386 on the other hand, is a 32bit processor. However it is downward compatible with iAPX88 meaning that all code written for 8088 is valid on the 386. The architecture of a processor means the organization and functionalities of the registers it contains and the instructions that are valid on the processor. We will discuss the register architecture of 8088 in detail below while its instructions are discussed in the rest of the book at appropriate places.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-6529061398979502775?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/6529061398979502775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/intel-iapx88-architecture.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/6529061398979502775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/6529061398979502775'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/intel-iapx88-architecture.html' title='INTEL IAPX88 ARCHITECTURE'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-3185773086640750343</id><published>2009-05-10T04:39:00.001-07:00</published><updated>2009-05-10T04:39:22.990-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>HISTORY</title><content type='html'>Intel did release some 4bit processors in the beginning but the first meaningful processor was 8080, an 8bit processor. The processor became popular due to its simplistic design and versatile architecture . Based on the experience gained from 8080, an advanced version was released as 8085. The processor became widely popular in the engineering community again due to its simple and logical nature.&lt;br /&gt;&lt;br /&gt;Intel introduced the first 16bit processor named 8088 at a time when the concept of personal computer was evolving. With a maximum memory of 64K on the 8085, the 8088 allowed a whole mega byte. IBM embedded this processor in their personal computer. The first machines ran at 4.43 MHz; a blazing speed at that time. This was the right thing at the right moment. No one expected this to become the biggest success of computing history. IBM PC XT became so popular and successful due to its open architecture and easily available information.&lt;br /&gt;&lt;br /&gt;The success was unexpected for the developers themselves. As when Intel introduced the processor it contained a timer tick count which was valid for five years only. They never anticipated the architecture to stay around for more than five years but the history took a turn and the architecture is there at every desk even after 25 years and the tick is to be specially handled every now and then.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-3185773086640750343?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/3185773086640750343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/history.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/3185773086640750343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/3185773086640750343'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/history.html' title='HISTORY'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-2069971255967448803</id><published>2009-05-10T04:38:00.003-07:00</published><updated>2009-05-10T04:38:54.931-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>General Registers (AX, BX, CX, and DX)</title><content type='html'>The registers AX, BX, CX, and DX behave as general purpose registers in Intel architecture and do some specific functions in addition to it. X in their names stand for extended meaning 16bit registers. For example AX means we are referring to the extended 16bit “A” register. Its upper and lower byte are separately accessible as AH (A high byte) and AL (A low byte). All general purpose registers can be accessed as one 16bit register or as two 8bit registers. The two registers AH and AL are part of the big whole AX. Any change in AH or AL is reflected in AX as well. AX is a composite or extended register formed by gluing together the two parts AH and AL.&lt;br /&gt;&lt;br /&gt;The A of AX stands for Accumulator. Even though all general purpose registers can act as accumulator in most instructions there are some specific variations which can only work on AX which is why it is named the accumulator. The B of BX stands for Base because of its role in memory addressing as discussed in the next chapter. The C of CX stands for Counter as there are certain instructions that work with an automatic count in the CX register. The D of DX stands for Destination as it acts as the destination in I/O operations. The A, B, C, and D are in letter sequence as well as depict some special functionality of the register.&lt;br /&gt;&lt;br /&gt;Index Registers (SI and DI)&lt;br /&gt;&lt;br /&gt;SI and DI stand for source index and destination index respectively. These are the index registers of the Intel architecture which hold address of data and used in memory access. Being an open and flexible architecture, Intel allows many mathematical and logical operations on these registers as well like the general registers. The source and destination are named because of their implied functionality as the source or the destination in a special class of instructions called the string instructions. However their use is not at all restricted to string instructions. SI and DI are 16bit and cannot be used as 8bit register pairs like AX, BX, CX, and DX.&lt;br /&gt;&lt;br /&gt;Instruction Pointer (IP)&lt;br /&gt;&lt;br /&gt;This is the special register containing the address of the next instruction to be executed. No mathematics or memory access can be done through this register. It is out of our direct control and is automatically used. Playing with it is dangerous and needs special care. Program control instructions change the IP register implicitly.&lt;br /&gt;&lt;br /&gt;Stack Pointer (SP)&lt;br /&gt;&lt;br /&gt;It is a memory pointer and is used indirectly by a set of instructions. This register will be explored in the discussion of the system stack.&lt;br /&gt;&lt;br /&gt;Base Pointer (BP)&lt;br /&gt;&lt;br /&gt;It is also a memory pointer containing the address in a special area of memory called the stack and will be explored alongside SP in the discussion of the stack.&lt;br /&gt;&lt;br /&gt;Flags Register&lt;br /&gt;&lt;br /&gt;The flags register as previously discussed is not meaningful as a unit rather it is bit wise significant and accordingly each bit is named separately. The bits not named are unused. The Intel FLAGS register has its bits organized as follows:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Segment Registers (CS, DS, SS, and ES)&lt;br /&gt;&lt;br /&gt;The code segment register, data segment register, stack segment register, and the extra segment register are special registers related to the Intel segmented memory model and will be discussed later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-2069971255967448803?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/2069971255967448803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/general-registers-ax-bx-cx-and-dx.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/2069971255967448803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/2069971255967448803'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/general-registers-ax-bx-cx-and-dx.html' title='General Registers (AX, BX, CX, and DX)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-5686751314760838244</id><published>2009-05-10T04:38:00.001-07:00</published><updated>2009-05-10T04:38:32.674-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>OUR FIRST PROGRAM</title><content type='html'>The first program that we will write will only add three numbers. This very simple program will clarify most of the basic concepts of assembly language. We will start with writing our algorithm in English and then moving on to convert it into assembly language.&lt;br /&gt;&lt;br /&gt;English Language Version&lt;br /&gt;&lt;br /&gt;“Program is an ordered set of instructions for the processor.” Our first program will be instructions manipulating AX and BX in plain English.&lt;br /&gt;&lt;br /&gt;move 5 to ax move 10 to bx add bx to ax move 15 to bx add bx to ax&lt;br /&gt;&lt;br /&gt;Even in this simple reflection of thoughts in English, there are some key things to observe. One is the concept of destination as every instruction has a “to destination” part and there is a source before it as well. For example the second line has a constant 10 as its source and the register BX as its destination. The key point in giving the first program in English is to convey that the concepts of assembly language are simple but fine. Try to understand them considering that all above is everyday English that you know very well and every concept will eventually be applicable to assembly language.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-5686751314760838244?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/5686751314760838244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/our-first-program.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/5686751314760838244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/5686751314760838244'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/our-first-program.html' title='OUR FIRST PROGRAM'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-2371728299241534065</id><published>2009-05-10T04:37:00.002-07:00</published><updated>2009-05-10T04:38:09.338-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>Assembly Language Version</title><content type='html'>Assembly Language Version&lt;br /&gt;&lt;br /&gt;Intel could have made their assembly language exactly identical to our program in plain English but they have abbreviated a lot of symbols to avoid unnecessarily lengthy program when the meaning could be conveyed with less effort. For example Intel has named their move instruction “mov” instead of “move.” Similarly the Intel order of placing source and destination is opposite to what we have used in our English program, just a change of interpretation. So the Intel way of writing things is:&lt;br /&gt;&lt;br /&gt;operation destination, source operation destination operation source&lt;br /&gt;operation&lt;br /&gt;&lt;br /&gt;The later three variations are for instructions that have one or both of their operands implied or they work on a single or no operand. An implied operand means that it is always in a particular register say the accumulator, and it need not be mentioned in the instruction. Now we attempt to write our program in actual assembly language of the iapx88.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-2371728299241534065?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/2371728299241534065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/assembly-language-version.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/2371728299241534065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/2371728299241534065'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/assembly-language-version.html' title='Assembly Language Version'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-6945551497524706954</id><published>2009-05-10T04:37:00.001-07:00</published><updated>2009-05-10T04:37:45.324-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>Example</title><content type='html'>Example 1.1&lt;br /&gt;&lt;br /&gt;001 ; a program to add three numbers using registers&lt;br /&gt;002 [org 0x0100] &lt;br /&gt;003 mov ax, 5 ; load first number in ax&lt;br /&gt;004 mov bx, 10 ; load second number in bx&lt;br /&gt;005 add ax, bx ; accumulate sum in ax&lt;br /&gt;006 mov bx, 15 ; load third number in bx&lt;br /&gt;007 add ax, bx ; accumulate sum in ax&lt;br /&gt;008 &lt;br /&gt;009 mov ax, 0x4c00 ; terminate program&lt;br /&gt;010 int 0x21 &lt;br /&gt;&lt;br /&gt;1 To start a comment a semicolon is used and the assembler ignores everything else on the same line. Comments must be extensively used in assembly language programs to make them readable. &lt;br /&gt;&lt;br /&gt;002 Leave the org directive for now as it will be discussed later.&lt;br /&gt;&lt;br /&gt;003 The constant 5 is loaded in one register AX. &lt;br /&gt;&lt;br /&gt;The constant 10 is loaded in another register BX. &lt;br /&gt;004 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5 Register BX is again added to register AX now producing 15+15=30 in the AX register. So the program has computed 5+10+15=30 &lt;br /&gt;&lt;br /&gt;006 The constant 15 is loade d in the register BX. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;7 Register BX is added to register AX and the result is stored in register AX. Register AX should contain 15 by now. &lt;br /&gt;&lt;br /&gt;8 Vertical spacing must also be used extensively in assembly language programs to separate logical blocks of code. &lt;br /&gt;&lt;br /&gt;009-010 The ending lines are related more to the operating system than to&lt;br /&gt;assembly language programming. It is a way to inform DOS that our&lt;br /&gt;program has terminated so it can display its command prompt&lt;br /&gt;again. The computer may reboot or behave improperly if this&lt;br /&gt;termination is not present.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-6945551497524706954?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/6945551497524706954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/example.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/6945551497524706954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/6945551497524706954'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/example.html' title='Example'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-5632266722359853044</id><published>2009-05-10T04:36:00.002-07:00</published><updated>2009-05-10T04:37:19.877-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>Assembler, Linker, and Debugger</title><content type='html'>We need an assembler to assemble this program and convert this into executable binary code. The assembler that we will use during this course is “Netwide Assembler” or NASM. It is a free and open source assembler. And the tool that will be most used will be the debugger. We will use a free debugger called “A fullscreen debugger” or AFD. These are the whole set of weapons an assembly language programmer needs for any task whatsoever at hand.&lt;br /&gt;&lt;br /&gt;To assemble we will give the following command to the processor assuming that our input file is named EX01.ASM.&lt;br /&gt;&lt;br /&gt;nasm ex01.asm –o ex01.com –l ex01.lst&lt;br /&gt;&lt;br /&gt;This will produce two files EX01.COM that is our executable file and EX01.LST that is a special listi ng file that we will explore now. The listing file produced for our example above is shown below with comments removed for neatness.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1 &lt;br /&gt;2 [org 0x0100] &lt;br /&gt;3 00000000 B80500 mov ax, 5&lt;br /&gt;4 00000003 BB0A00 mov bx, 10&lt;br /&gt;5 00000006 01D8 add ax, bx&lt;br /&gt;6 00000008 BB0F00 mov bx, 15&lt;br /&gt;7 0000000B 01D8 add ax, bx&lt;br /&gt;8 &lt;br /&gt;9 0000000D B8004C mov ax, 0x4c00&lt;br /&gt;10 00000010 CD21 int 0x21&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The first column in the above listing is offset of the listed instruction in the output file. Next column is the opcode into which our instruction was translated. In this case this opcode is B8. Whenever we move a constant into AX register the opcode B8 will be used. After it 0500 is appended which is the immediate operand to this instruction. An immediate operand is an operand which is placed directly inside the instruction. Now as the AX register is a word sized register, and one hexadecimal digit takes 4 bits so 4 hexadecimal digits make one word or two bytes. Which of the two bytes should be placed first in the instruction, the least significant or the most significant? Similarly for 32bit numbers either the orde r can be most significant, less significant, lesser significant, and least significant called the big-endian order used by Motorola and some other companies or it can be least significant, more significant, more significant, and most significant called the little -endian order and is used by Intel. The big-endian have the argument that it is more natural to read and comprehend while the little - endian have the argument that this scheme places the less significant value at a lesser address and more significant value at a higher address.&lt;br /&gt;&lt;br /&gt;Because of this the constant 5 in our instruction was converted into 0500 with the least significant byte of 05 first and the most significant byte of 00 afterwards. When read as a word it is 0005 but when written in memory it will become 0500. As the first instruction is three bytes long, the listing file shows that the offset of the next instruction in the file is 3. The opcode BB is for moving a constant into the BX register, and the operand 0A00 is the number 10 in little -endian byte order. Similarly the offsets and opcodes of the remaining instructions are shown in order. The last instruction is placed at offset 0x10 or 16 in decimal. The size of the last instruction is two bytes, so the file of the complete COM file becomes 18 bytes. This can be verified from the directly listing that the COM file produced is exactly 18 bytes long.&lt;br /&gt;&lt;br /&gt;Now the program is ready to be run inside the debugger. The debugger shows the values of registers, flags, stack, our code, and one or two areas of the system memory as data. Debugger allows us to step our program one instruction at a time and observe its effect on the registers and program data. The details of using the AFD debugger can be seen from the AFD manual.&lt;br /&gt;&lt;br /&gt;After loading the program in the debugger observe that the first instruction is now at 0100 instead of absolute zero. This is the effect of the org directive at the start of our program. The first instruction of a COM file must be at offset 0100 (decimal 255) as a requirement. Also observe that the debugger isshowing your program even though it was provided only the COM file and neither of the listing file or the program source. This is because the translation from mnemonic to opcode is reversible and the debugger mapped back from the opcode to the instruction mnemonic. This will become apparent for instructions that have two mnemonics as the debugger might not show the one that was written in the source file.&lt;br /&gt;&lt;br /&gt;As a result of program execution either registers or memory will change. Since our program yet doesn’t touch memory the only changes will be in the registers. Keenly observe the registers AX, BX, and IP change after every instruction. IP will change after every instruction to point to the next instruction while AX will accumulate the result of our addition.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-5632266722359853044?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/5632266722359853044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/assembler-linker-and-debugger.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/5632266722359853044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/5632266722359853044'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/assembler-linker-and-debugger.html' title='Assembler, Linker, and Debugger'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-897577475865184696</id><published>2009-05-10T04:36:00.001-07:00</published><updated>2009-05-10T04:36:49.078-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>SEGMENTED MEMORY MODEL</title><content type='html'>Rationale&lt;br /&gt;&lt;br /&gt;In earlier processors like 8080 and 8085 the linear memory model was used to access memory. In linear memory model the whole memory appears like a single array of data. 8080 and 8085 could access a total memory of 64K using the 16 lines of their address bus. When designing iAPX88 the Intel designers wanted to remain compatible with 8080 and 8085 however 64K was too small to continue with, for their new processor. To get the best of both worlds they introduced the segmented memory model in 8088.&lt;br /&gt;&lt;br /&gt;There is also a logical argument in favor of a segmented memory model in additional to the issue of compatibility discussed above. We have two logical parts of our program, the code and the data, and actually there is a third part called the program stack as well, but higher level languages make this invisible to us. These three logical parts of a program should appear as three distinct units in memory, but making this division is not possible in the linear memory model. The segmented memory model does allow this distinction.&lt;br /&gt;&lt;br /&gt;Mechanism&lt;br /&gt;&lt;br /&gt;The segmented memory model allows multiple functional windows into the main memory, a code window, a data window etc. The processor sees code from the code window and data from the data window. The size of one window is restricted to 64K. 8085 software fits in just one such window. It sees code, data, and stack from this one window, so downward compatibility is attained.&lt;br /&gt;&lt;br /&gt;However the maximum memory iAPX88 can access is 1MB which can be accessed with 20 bits. Compare this with the 64K of 8085 that were accessed using 16 bits. The idea is that the 64K window just discussed can be moved anywhere in the whole 1MB. The four segment registers discussed in the Intel register architecture are used for this purpose. Therefore four windows can exist at one time. For example one window that is pointed to by the CS register contains the currently executing code.&lt;br /&gt;&lt;br /&gt;To understand the concept, consider the windows of a building. We say that a particular window is 3 feet above the floor and another one is 20 feet above the floor. The reference point, the floor is the base of the segment called the datum point in a graph and all measurement is done from that datum point considering it to be zero. So CS holds the zero or the base of code. DS holds the zero of data. Or we can say CS tells how high code from the floor is, and DS tells how high data from the floor is, while SS tells how high the stack is. One extra segment ES can be used if we need to access two distant areas of memory at the same time that both cannot be seen through the same window. ES also has special role in string instructions. ES is used as an extra data segment and cannot be used as an extra code or stack segment.&lt;br /&gt;&lt;br /&gt;Revisiting the conce pt again, like the datum point of a graph, the segment registers tell the start of our window which can be opened anywhere in the megabyte of memory available. The window is of a fixed size of 64KB. Base and offset are the two key variables in a segmented address. Segment tells the base while offset is added into it. The registers IP, SP, BP, SI, DI, and BX all can contain a 16bit offset in them and access memory relative to a segment base.&lt;br /&gt;&lt;br /&gt;The IP register cannot work alone. It needs the CS register to ope n a 64K window in the 1MB memory and then IP works to select code from this window as offsets. IP works only inside this window and cannot go outside of this 64K in any case. If the window is moved i.e. the CS register is changed, IP will change its behavi or accordingly and start selecting from the new window. The IP register always works relatively, relative to the segment base stored in the CS register. IP is a 16bit register capable of accessing only 64K memory so how the whole megabyte can contain code anywhere. Again the same concept is there, it can access 64K at one instance of time. As the base is changed using the CS register, IP can be made to point anywhere is the whole megabyte. The process is illustrated with the following diagram.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Physical Address Calculation&lt;br /&gt;&lt;br /&gt;Now for the whole megabyte we need 20 bits while CS and IP are both 16bit registers. We need a mechanism to make a 20bit number out of the two 16bit numbers. Consider that the segment value is stored as a 20 bi t number with the lower four bits zero and the offset value is stored as another 20 bit number with the upper four bits zeroed. The two are added to produce a 20bit absolute address. A carry if generated is dropped without being stored anywhere and the phenomenon is called address wraparound. The process is explained with the help of the following diagram.&lt;br /&gt;&lt;br /&gt;18&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;15---------------------------- 0 &lt;br /&gt;Segment Address &lt;br /&gt;16bit Segment Register 0000 &lt;br /&gt;---------------------------- &lt;br /&gt;15 0 &lt;br /&gt;&lt;br /&gt;0000 16bit Logical Address Offset Address &lt;br /&gt;&lt;br /&gt;----------------------------------- &lt;br /&gt;&lt;br /&gt;19 0 &lt;br /&gt;&lt;br /&gt;20bit Physical Address &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Therefore memory is determined by a segment-offset pair and not alone by any one register which will be an ambiguous reference. Every offset register is assigned a default segment register to resolve such ambiguity. For example the program we wrote when loaded into memory had a value of 0100 in IP register and some value say 1DDD in the CS register. Making both 20 bit numbers, the segment base is 1DDD0 and the offset is 00100 and adding them we get the physical memory address of 1DED0 where the opcode B80500 is placed.&lt;br /&gt;&lt;br /&gt;Paragraph Boundaries&lt;br /&gt;&lt;br /&gt;As the segment value is a 16bit number and four zero bits are appended to the right to make it a 20bit number, segments can only be defined a 16byte boundaries called paragraph boundaries. The first possible segment value is 0000 meaning a physical base of 00000 and the next possible value of 0001 means a segment base of 00010 or 16 in decimal. Therefore segments can only be defined at 16 byte boundaries.&lt;br /&gt;&lt;br /&gt;Overlapping Segments&lt;br /&gt;&lt;br /&gt;We can also observe that in the case of our program CS, DS, SS, and ES all had the same value in them. This is called overlapping segments so that we can see the same memory from any window. This is the structure of a COM file.&lt;br /&gt;&lt;br /&gt;Using partially overlapping segments we can produce a number of segment, offset pairs that all access the same memory. For example 1DDD:0100 and IDED:0000 both point to the same physical memory. To test this we can open a data window at 1DED:0000 in the debugger and change the first three bytes to “90” which is the opcode for NOP (no operation). The change is immediately visible in the code window which is pointed to by CS containing 1DDD. Similarly IDCD:0200 also points to the same memory location. Consider this like a portion of wall that three different people on three different floors are seeing through their own windows. One of them painted the wall red; it will be changed for all of them though their perspective is different. It is the same phenomenon occurring here.&lt;br /&gt;&lt;br /&gt;The segment, offset pair is called a logical address, while the 20bit address is a physical address which is the real thing. Logical addressing is a mechanism to access the physical memory. As we have seen three different logical addresses accessed the same physical address.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-897577475865184696?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/897577475865184696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/segmented-memory-model.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/897577475865184696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/897577475865184696'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/segmented-memory-model.html' title='SEGMENTED MEMORY MODEL'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-9184354984059612017</id><published>2009-05-10T04:34:00.000-07:00</published><updated>2009-05-10T04:36:10.029-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assembly Language'/><title type='text'>Exercise 1</title><content type='html'>1. How the processor uses the address bus, the data bus, and the control bus to communicate with the system memory?&lt;br /&gt;&lt;br /&gt;2. Which of the following are unidirectional and which are bidirectional? &lt;br /&gt;&lt;br /&gt;a. Address Bus &lt;br /&gt;&lt;br /&gt;b. Data Bus &lt;br /&gt;&lt;br /&gt;c. Control Bus &lt;br /&gt;&lt;br /&gt;3. What are registers and what are the specific features of the accumulator, index registers, program counter, and program status word? &lt;br /&gt;4. What is the size of the accumulator of a 64bit processor? &lt;br /&gt;&lt;br /&gt;5. What is the difference between an instruction mnemonic and its opcode? &lt;br /&gt;6. How are instructions classified into groups? &lt;br /&gt;&lt;br /&gt;7. A combination of 8bits is called a byte. What is the name for 4bits and for 16bits? &lt;br /&gt;&lt;br /&gt;8. What is the maximum memory 8088 can access? &lt;br /&gt;&lt;br /&gt;9. List down the 14 registers of the 8088 architecture and briefly describe their uses. &lt;br /&gt;&lt;br /&gt;10. What flags are defined in the 8088 FLAGS register? Describe the function of the zero flag, the carry flag, the sign flag, and the overflow flag. &lt;br /&gt;11. Give the value of the zero flag, the carry flag, the sign flag, and the overflow flag after each of the following instructions if AX is initialized with 0x1254 and BX is initialized with 0x0FFF. &lt;br /&gt;a. add ax, 0xEDAB &lt;br /&gt;&lt;br /&gt;b. add ax, bx &lt;br /&gt;c. add bx, 0xF001 &lt;br /&gt;&lt;br /&gt;12. What is the difference between little endian and big endian formats? Which format is used by the Intel 8088 microprocessor? &lt;br /&gt;&lt;br /&gt;13. For each of the following words identify the byte that is stored at lower memory address and the byte that is stored at higher memory address in a little endi an computer.&lt;br /&gt;a. 1234 &lt;br /&gt;&lt;br /&gt;b. ABFC &lt;br /&gt;c. B100 &lt;br /&gt;&lt;br /&gt;d. B800 &lt;br /&gt;&lt;br /&gt;14. What are the contents of memory locations 200, 201, 202, and 203 if the word 1234 is stored at offset 200 and the word 5678 is stored at offset 202? &lt;br /&gt;&lt;br /&gt;15. What is the offset at which the first exeutable instruction of a COM file must be placed? &lt;br /&gt;16. Why was segmentation originally introduced in 8088 architecture? &lt;br /&gt;&lt;br /&gt;17. Why a segment start cannot start from the physical address 55555. &lt;br /&gt;&lt;br /&gt;18. Calculate the physical memory address generated by the following segment offset pairs. &lt;br /&gt;a. 1DDD:0436 &lt;br /&gt;&lt;br /&gt;b. 1234:7920 &lt;br /&gt;&lt;br /&gt;c. 74F0:2123 &lt;br /&gt;&lt;br /&gt;d. 0000:6727 &lt;br /&gt;e. FFFF:4336&lt;br /&gt;&lt;br /&gt;f. 1080:0100 &lt;br /&gt;&lt;br /&gt;g. AB01:FFFF &lt;br /&gt;&lt;br /&gt;19. What are the first and the last physical memory addresses accessible using the following segment values? &lt;br /&gt;a. 1000 &lt;br /&gt;&lt;br /&gt;b. 0FFF &lt;br /&gt;&lt;br /&gt;c. 1002 &lt;br /&gt;&lt;br /&gt;d. 0001 &lt;br /&gt;e. E000&lt;br /&gt;&lt;br /&gt;20. Write instructions that perform the following operations. &lt;br /&gt;&lt;br /&gt;a. Copy BL into CL &lt;br /&gt;&lt;br /&gt;b. Copy DX into AX &lt;br /&gt;&lt;br /&gt;c. Store 0x12 into AL &lt;br /&gt;&lt;br /&gt;d. Store 0x1234 into AX &lt;br /&gt;e. Store 0xFFFF into AX&lt;br /&gt;&lt;br /&gt;21. Write a program in assembly language that calculates the square of six by adding six to the accumulator six times.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-9184354984059612017?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/9184354984059612017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/exercise-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/9184354984059612017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/9184354984059612017'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/05/exercise-1.html' title='Exercise 1'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-7630044916113111871</id><published>2009-02-05T09:41:00.005-08:00</published><updated>2009-02-05T09:41:58.330-08:00</updated><title type='text'>I hope he feels the need to FLIP OUT and KILL SOMEONE</title><content type='html'>Logline: A street racer uncovers a broken artifact while working in a museum warehouse, which releases a banished ninja spirit into his body. They must learn to work together in order to prevent a ninja sorcerer from unleashing an ancient demon plague upon humanity.&lt;br /&gt;&lt;br /&gt;http://www.realultimatepower.net/index4.htm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-7630044916113111871?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/7630044916113111871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/i-hope-he-feels-need-to-flip-out-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7630044916113111871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7630044916113111871'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/i-hope-he-feels-need-to-flip-out-and.html' title='I hope he feels the need to FLIP OUT and KILL SOMEONE'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-2411988951395188940</id><published>2009-02-05T09:41:00.003-08:00</published><updated>2009-02-05T09:41:29.471-08:00</updated><title type='text'>Wait... I feel as if this query has made me go back in time!</title><content type='html'>Logline: While exploring an inland sea, a Spanish galleon runs aground and is lost in the shifting sands that eventually become the southern California desert. Centuries latter, a father and son search for a modern day treasure hunter who has fractured time on his quest for the legendary treasure ship.&lt;br /&gt;&lt;br /&gt;The daugher of a famous singer is an acquaintance and has been a great help. Two weeks after she read an early draft of my script, I received personal phone calls from both Arnold Swarzenegger and Steven Segal. They said they loved it and to stay by the phone. That was February 04, and since that time Arnold has become extremely busy. But there is still hope, as I have been watching his recent poll ratings. Steven called me from Hong Kong that same week, but with his New York Mafia troubles and his career taking a turn, he may not get back.&lt;br /&gt;&lt;br /&gt;Synopsis: In 1612, Spain commissions a galleon to bring riches from the new world to an empire ravaged by plague and poverty. Seeking a safer route free of pirates and buccaneers, she enters a vast inland sea, and soon becomes trapped in what will eventually become the southern California desert.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-2411988951395188940?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/2411988951395188940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/wait-i-feel-as-if-this-query-has-made.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/2411988951395188940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/2411988951395188940'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/wait-i-feel-as-if-this-query-has-made.html' title='Wait... I feel as if this query has made me go back in time!'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-446174337540356048</id><published>2009-02-05T09:41:00.001-08:00</published><updated>2009-02-05T09:41:13.987-08:00</updated><title type='text'>And now, for something completely different!</title><content type='html'>Dear all,&lt;br /&gt;&lt;br /&gt;Rather than surprising you with unsolicited material, I would first like to ask whether your company accepts inquiries, for I'd like to pitch my feature length screenplay to you. If so, I'd be glad to send you a query letter and if desired, the completed script. I hope to hear from you soon.&lt;br /&gt;&lt;br /&gt;Best Regards,&lt;br /&gt;&lt;br /&gt;Writer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-446174337540356048?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/446174337540356048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/and-now-for-something-completely.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/446174337540356048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/446174337540356048'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/and-now-for-something-completely.html' title='And now, for something completely different!'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-7585115848823658100</id><published>2009-02-05T09:40:00.001-08:00</published><updated>2009-02-05T09:40:57.873-08:00</updated><title type='text'>Well at least you will save on above the line fees.</title><content type='html'>Logline: She died in his arms a hundred years ago--Can he save her this time?&lt;br /&gt;&lt;br /&gt;Dead Again meets Dirty Harry as a Metro cop living on the edge slowly realizes an attractive reporter trying to expose his alleged brutality is his love from a previous life.&lt;br /&gt;&lt;br /&gt;Synopsis: An attractive woman in her 30’s comes home to her upscale townhouse late at night as two ski masked attackers rappel off the roof and crash through her picture window, A fire fight erupts and she makes it to the bedroom where she wrestles an ornate silver engraved 45 automatic from her lingerie drawer dropping one of the would be killers. But before she can cap the other, he draws a bead on her and…. &lt;br /&gt;&lt;br /&gt;In a cavalry barrack in 1866, a captain wakes from his prophetic, reoccurring nightmare in a sweat, sits up abruptly and aims an ornate silver engraved Colt .44 revolver at the nightmare in order to save the beautiful woman in her strange surroundings. He is a Custer-like officer who runs a garrison that protects settles from marauding Indians. &lt;br /&gt;&lt;br /&gt;His strong leadership and charismatic demeanor are quickly established as he handles skirmishes with the Indians harassing wagon trains passing though. One such train gives us our first act story beat as a beautiful woman with long blonde hair and a striking manor climbs down from a wagon as he arrives to greet them. THE SAME WOMAN FROM HIS REOCCURRING NIGHTMARE. &lt;br /&gt;&lt;br /&gt;Needless to say he is shocked and pleased and a romantic interlude proceeds wherein he woos her and they fall desperately in love. But alas, she is a mail order bride contracted to a Gold Country Miner in California so she upholds her honor against her emotions and leaves with the wagon train. &lt;br /&gt;&lt;br /&gt;Just before dawn he awakes from the same nightmare but this time she is shooting at Indians. He forms his troops and rides hard to where the wagon train is under attack but before his men can prevail she is shot and dies in his arms, whispering, “Another time perhaps.”&lt;br /&gt;&lt;br /&gt;In a headstrong rage he rides into the Indians and is fatally shot. As his horse carries him away his life ebbs and we go CLOSE ON HIS EYES then PULL BACK on the SAME ACTOR, clean shaven with short hair and in a Metropolitan mounted police uniform riding into a big city riot with a grim look and swinging baton. &lt;br /&gt;&lt;br /&gt;Meet present day officer at the page 15 story beat. In his holster we see the same engraved scroll work automatic pistol the woman in the opening scene used to fight off her ski masked attackers. &lt;br /&gt;&lt;br /&gt;During the remainder of Act 1 we explore the ugly underworld this cynical cop faces and one particular drug lord that has plagued and eluded him for years. Into this maelstrom of sub genre of society enters an upcoming newspaper reporter doing a story on Police harassment. The woman from the opening shoot out scene and the same actor as the wagon train woman. &lt;br /&gt;&lt;br /&gt;My script is an action/adventure love story: A Dead Again meets The Last Boy Scout, if you would. It is the about a man and a woman whose love is so strong it bridges the gap of almost two centuries. &lt;br /&gt;&lt;br /&gt;It is about an old homeless relic who believes he's the reincarnation of a famous historical figure and is intent on proving it. &lt;br /&gt;&lt;br /&gt;It is about a vicious villain who confronts this undaunted trio in order to correct what he feels are past transgressions--a 150 year old vendetta. &lt;br /&gt;&lt;br /&gt;A San Francisco Police Captain is called The Fifth Horseman of the Apocalypse: Apathy--because there is nothing he cares about. Why? He lost the only thing he really loved sometime ago and since that tragedy, he has created a hard shell of cynicism and indifference that is finally challenged by the very persona of the woman he let die in his arms. &lt;br /&gt;&lt;br /&gt;The film centers on how he regains his character, self esteem and his love as he moves through a series of remarkable, action packed events.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-7585115848823658100?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/7585115848823658100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/well-at-least-you-will-save-on-above.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7585115848823658100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7585115848823658100'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/well-at-least-you-will-save-on-above.html' title='Well at least you will save on above the line fees.'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-4820388831866339766</id><published>2009-02-05T09:28:00.000-08:00</published><updated>2009-02-05T09:40:24.901-08:00</updated><title type='text'>The Passions of the Jewish Writer</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Being an Israeli (American) writer &amp; director (and thus, a Jew), let me first apologize up front for belonging to a media-strong ethnic minority. Please don’t hold it against me.&lt;br /&gt;Blowing my own horn for a minute, if I may, I’ll have to say I’m a genuine bad boy, who thinks, writes and acts totally different. Well, a rehabilitated, settled bad boy, anyway.&lt;br /&gt;&lt;br /&gt;Cynical thriller comedy. A high-class call girl sleeps with a mysterious big shot blindfolded, and the condom is torn. Only her slick pimp knows the identity of the client, a big time mob boss. The gangster is son-less, has four daughters and craving for a male heir. When she informs her pimp she’s pregnant, the genius puts two and two together and the fun begins. &lt;br /&gt;&lt;br /&gt;He ‘confesses’ to his call girl about his love and persuades her to marry him and keep the baby. On the other hand, the mob boss gives his lawful wife a last chance and impregnates her. The two births take place at the same time in different hospitals. We learn to know one of the women gave birth to a baby boy, yet we don’t quite know whom.&lt;br /&gt;__________&lt;br /&gt;&lt;br /&gt;The first atheistic biblical Animation series. Ever.&lt;br /&gt;Now in color!&lt;br /&gt;__________&lt;br /&gt;&lt;br /&gt;Children get kidnapped all over the country. A month later they are found on the street corner, not a scratch on them. They reunite with their loving families.&lt;br /&gt;The only problem is: they miss their kidnapper.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-4820388831866339766?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/4820388831866339766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/passions-of-jewish-writer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/4820388831866339766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/4820388831866339766'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/passions-of-jewish-writer.html' title='The Passions of the Jewish Writer'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-5581900352321360742</id><published>2009-02-05T09:26:00.002-08:00</published><updated>2009-02-05T09:27:01.818-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sports'/><title type='text'>My American League All-Star Picks</title><content type='html'>With the midseason break approaching, time to give my picks for the American League All-Star team starters.&lt;br /&gt;&lt;br /&gt;Catcher&lt;br /&gt;Joe Mauer (MIN) - Mauer is the real easy choice here. He currently sits 2nd in the AL in batting average, he's showed his usual great plate patience (.410 OBP is also second in the AL), and he's been a solid doubles hitter. We're still waiting for the homerun power to come on a semi-consistent basis, but he's still indisputably the best catcher in the AL.&lt;br /&gt;Other Options: Dioner Navarro (TB)&lt;br /&gt;Actual Pick: Joe Mauer&lt;br /&gt;&lt;br /&gt;First Base&lt;br /&gt;Kevin Youkilis (BOS) - I feel much less sure on this one... Jason Giambi has been a better hitter, but he has a lot less ABs and less value in the field. Youkilis has been a little better hitter than Justin Morneau, but Morneau has almost 40 more PAs. In the end, Youkilis is my choice... he's been his typical self getting on base at a .375 clip, and he's hitting for good power this year, with 13 HR and 22 2B. Plus, as always, he plays solid defense at 1B.&lt;br /&gt;Other Options: Justin Morneau (MIN), Jason Giambi (NYY)&lt;br /&gt;Actual Pick: Kevin Youkilis&lt;br /&gt;&lt;br /&gt;Second Base&lt;br /&gt;Ian Kinsler (TEX) - Again, a pretty easy choice here. Of all regular 2B in the AL, Kinsler has the highest average, gets on base the most, and has hit for (easily) the most power. He's even stolen 23 bases while only getting thrown out once. Brian Roberts has been very good as well, but Kinsler is hitting for a lot more power and stealing bases more effectively.&lt;br /&gt;Other Options: Brian Roberts (BAL)&lt;br /&gt;Actual Pick: Dustin Pedroia (BOS)&lt;br /&gt;&lt;br /&gt;Third Base&lt;br /&gt;Alex Rodriguez (NYY) - No surprise that A-Rod is once again the best 3B in the AL. The man in a machine, and continues to be one of (if not the) top all-around players in the MLB. He's in the top 6 in lots of major offensive categories, including #2 in OPS.&lt;br /&gt;Other Options: Mike Lowell (BOS), Evan Longoria (TB)&lt;br /&gt;Actual Pick: Alex Rodriguez&lt;br /&gt;&lt;br /&gt;Shortstop&lt;br /&gt;Michael Young (TEX) - Honestly, not a lot of inspiring choices for AL SS. I think Young has probably been the best of a pretty mediocre bunch of AL SS's this year.&lt;br /&gt;Other Options: Derek Jeter (NYY), Jhonny Peralta (CLE)&lt;br /&gt;Actual Pick: Derek Jeter (NYY)&lt;br /&gt;&lt;br /&gt;Outfield&lt;br /&gt;Grady Sizemore (CLE) - Sizemore continues to be one of the best all-around players in the MLB, despite playing for an underachieving Indians team. Sizemore's average is down a bit this year, but he is still working the count to get on base, and is leading the AL in HR as of this writing. He combines that with good defense in CF, and 20 SB (only caught 3 times). Sizemore does it all on the baseball field.&lt;br /&gt;&lt;br /&gt;Josh Hamilton (TEX) - Hamilton is one of the best stories in the MLB, and he's made it even better by becoming one of the most dangerous hitters in the AL. He's hitting for average (top 10 in AL) and power (2nd in HR, top 5 in SLG), and is far and away leading the AL in RBI with 85 as of this writing. His numbers are skewed a bit because of the ballpark he plays in (his home/road splits are pretty ugly), but he's still my choice.&lt;br /&gt;&lt;br /&gt;JD Drew (BOS) - Drew is playing like he finally deserves that big contract, as he's been one of the best hitters in the AL so far this year. His OPS easily is tops among AL OFs with enough ABs to qualify. He's 3rd in the League in SLG, and he's getting on base at an excellent clip, also 3rd in the American League.&lt;br /&gt;&lt;br /&gt;Other Options: Carlos Quentin (CHI), Jermaine Dye (CHI), Nick Markakis (BAL)&lt;br /&gt;Actual Picks: Josh Hamilton, Manny Ramirez (BOS), Ichiro Suzuki (SEA)&lt;br /&gt;&lt;br /&gt;Designated Hitter&lt;br /&gt;Milton Bradley (TEX) - No contest here whatsoever. Bradley has likely been the best hitter in the American League so far this season, and is definitely far and away above the other DH candidates. If you were going to bet on baseball, what were the odds you could have gotten if you would have picked Milton Bradley to be leading the AL in OPS at the midway point?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-5581900352321360742?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/5581900352321360742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/my-american-league-all-star-picks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/5581900352321360742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/5581900352321360742'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/my-american-league-all-star-picks.html' title='My American League All-Star Picks'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-3009214019682892516</id><published>2009-02-05T09:26:00.001-08:00</published><updated>2009-02-05T09:26:29.408-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sports'/><title type='text'>Fantasy Football Rankings: Quarterback</title><content type='html'>I just had my first draft a couple of days ago, and I've got a couple more in the next week, so with me compiling my personal fantasy football rankings, I figured it would be good to post them here. Not to sound vain, but I've had success in the past with fantasy football. But like the stock market, past performance does not guarantee future returns, so take these rankings for what they're worth.&lt;br /&gt;&lt;br /&gt;1. Tom Brady&lt;br /&gt;Duh. Maybe he can't match last year's numbers (right?), but all of the main weapons are still in place, meaning more big numbers for Brady.&lt;br /&gt;2. Peyton Manning&lt;br /&gt;3. Tony Romo&lt;br /&gt;4. Drew Brees&lt;br /&gt;Add in Jeremy Shockey and a healthy Robert Meachem, and the passing game should be even more dangerous. The Saints threw the ball more than anyone else last year, and while they might try to be a little more balanced this time around, Brees will have the ball in his hands quite often. &lt;br /&gt;5. Carson Palmer&lt;br /&gt;6. Ben Roethlisberger&lt;br /&gt;7. Derek Anderson&lt;br /&gt;Continued pressure from Brady Quinn will force Anderson to play at a high level. It doesn't hurt that the Browns added big play guy Donte' Stallworth to receiving threats Kellen Winslow and Braylon Edwards. The Browns are a trendy pick in the AFC North - the passing game is the reason why.&lt;br /&gt;8. Matt Hasselbeck&lt;br /&gt;9. Jay Cutler&lt;br /&gt;Physically, he's one of the most gifted QBs in the game. If a second receiver can step up, he can potentially be a top 5 QB.&lt;br /&gt;10. Donovan McNabb&lt;br /&gt;11. Marc Bulger&lt;br /&gt;12. David Garrard&lt;br /&gt;Has a lower ceiling than some guys below him, but also a lower floor. You know what you get with him... he'll make some plays, take care of the ball, and get you a TD or two a game.&lt;br /&gt;13. Eli Manning&lt;br /&gt;14. Matt Schaub&lt;br /&gt;15. Jake Delhomme&lt;br /&gt;Reports are that he's healthy, and he put up pretty good numbers last year when that was the case. Top threat Steve Smith is still there, and that makes Delhomme a legitimate threat as long as he's healthy.&lt;br /&gt;16. Philip Rivers&lt;br /&gt;17. Aaron Rodgers&lt;br /&gt;Pressure will be on, but having good receivers helps. And Donald Driver, Greg Jennings, James Jones, and Jordy Nelson is a pretty nice top 4.&lt;br /&gt;18. Jason Campbell&lt;br /&gt;19. Jon Kitna&lt;br /&gt;20. Matt Leinart&lt;br /&gt;Looks like he's the starter. For now.&lt;br /&gt;21. Vince Young&lt;br /&gt;22. Tarvaris Jackson&lt;br /&gt;23. Jeff Garcia&lt;br /&gt;24. Alex Smith&lt;br /&gt;If he gets the starting nod and if he grasps Mike Martz' offense, he could be a legitimate fantasy threat. But I'm not holding my breath.&lt;br /&gt;25. JaMarcus Russell&lt;br /&gt;26. Trent Edwards&lt;br /&gt;27. Kurt Warner&lt;br /&gt;We know what he can do. If he plays.&lt;br /&gt;28. Rex Grossman&lt;br /&gt;29. Shaun Hill&lt;br /&gt;30. Brodie Croyle&lt;br /&gt;There is something to be said about being the undisputed starter, I guess. But still, if you're in any type of position where you need to rely on Brodie, my condolences.&lt;br /&gt;&lt;br /&gt;Your thoughts? What do your rankings at the top look like?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-3009214019682892516?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/3009214019682892516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/fantasy-football-rankings-quarterback.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/3009214019682892516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/3009214019682892516'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/fantasy-football-rankings-quarterback.html' title='Fantasy Football Rankings: Quarterback'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-7124795020234413913</id><published>2009-02-05T09:25:00.003-08:00</published><updated>2009-02-05T09:25:56.449-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sports'/><title type='text'>Giants/Redskins Pick</title><content type='html'>Not sure if I'll have time to do my picks against the spread this year, but I'll try. And with the season opener tonight, I'll give my pick here for the defending champion Giants taking on the Washington Redskins.&lt;br /&gt;&lt;br /&gt;I'll take the Redskins (+4.5).&lt;br /&gt;&lt;br /&gt;Of course, if you'll remember how my picks last year went (when I was under .500), you definitely won't want to put any stock into the picks. But it's fun to try.&lt;br /&gt;&lt;br /&gt;I like Jason Campbell to take another step forward for the Skins this year, helping lead the Skins. If Clinton Portis can stay healthy again, he's a top 10 back. Plus, I'm not sold on the Giants this year... obviously Eli has taken a step forward, but can he do it on a consistent basis? Will Plaxico be focused every week after the Super Bowl win? Can Brandon Jacobs stay healthy? Can the defense play as well as they did at the end of last year? Lots of questions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-7124795020234413913?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/7124795020234413913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/giantsredskins-pick.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7124795020234413913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7124795020234413913'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/giantsredskins-pick.html' title='Giants/Redskins Pick'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-3989558398300135254</id><published>2009-02-05T09:25:00.001-08:00</published><updated>2009-02-05T09:25:36.712-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sports'/><title type='text'>NFL Power Rankings - 9/23</title><content type='html'>With 3 weeks of the NFL season in the books, it's time to look at the best so far... here's my top 10 power rankings in the NFL after 3 games.&lt;br /&gt;&lt;br /&gt;1. Dallas Cowboys - Hard to deny that they're the best team in the NFL right now. The offense is extremely explosive and is averaging over 32 PPG. They have wins at Cleveland and Green Bay, and at home against Philly. The defense looked very good on Sunday night, which is a scary thing for other NFC teams.&lt;br /&gt;&lt;br /&gt;2. Philadelphia Eagles - After hanging with Dallas in Big D and overpowering Pittsburgh, the Eagles look like legitimate contenders. The health of Donovan McNabb and Brian Westbrook will always be a concern, along with the fact that they play in the toughest division in the NFL, but the Eagles look like they'll be getting back to the playoffs.&lt;br /&gt;&lt;br /&gt;3. Tennessee Titans - If you were going to bet on football, it would have been hard to predict Tennessee as the best team in the AFC, but they've looked good so far, even with backup Kerry Collins. Their running combo of LenDale White and rookie Chris Johnson has been outstanding, and their defense is allowing less than 10 PPG. Vince Young who?&lt;br /&gt;&lt;br /&gt;4. New York Giants - The Super Bowl champs are 3-0, but they haven't looked as convincing as some other teams. In particular, they struggled with the winless Bengals, taking things to OT before winning. But Eli Manning looks like he has continued with the improvement shown in last year's playoffs, and they have many threats out of the backfield.&lt;br /&gt;&lt;br /&gt;5. Baltimore Ravens - The punishing Ravens D is back, allowing only 20 points in 2 games. The offense has not had any explosion under Joe Flacco, but Ray Lewis has the defense playing at a very high level.&lt;br /&gt;&lt;br /&gt;6. Green Bay Packers - Though they succumbed to the Cowboys, they have looked solid so far. Aaron Rodgers has shown he can make all the throws, and is even displaying a nice amount of athleticism. With a young defense, if they can just simply continue to improve the running game, they're the favorites in the NFC North once again.&lt;br /&gt;&lt;br /&gt;7. Pittsburgh Steelers - They took a beating from Philly, but they looked like one of the best teams in the League over the first 2 weeks. The line has to do a much, much better job of protecting Big Ben, but if they do, the Steelers have all the pieces in place for a Super Bowl run. They are very good throwing and running the ball, and combine that with a stout defense and solid coaching from Mike Tomlin.&lt;br /&gt;&lt;br /&gt;8. Denver Broncos - They're 3-0, but it hasn't been easy. They've gotten some good calls from refs, and the defense has been porous at times, but the offense has carried them. Jay Cutler is looking like a Pro Bowler, and Brandon Marshall is 2nd in the NFL in receptions (behind Reggie Bush) even though he missed one game. They're 3-0 with a date against Kansas City coming up, which looks to spell 4-0.&lt;br /&gt;&lt;br /&gt;9. San Diego Chargers - The offense looked pretty darn good on Monday night, racking up 48 against the Jets. They could very easily be 3-0, as they essentially lost their first 2 games on the final play. My money is still on them to win the AFC West.&lt;br /&gt;&lt;br /&gt;10. Buffalo Bills - The Bills are just a solid team that doesn't beat itself. They may not be a powerful offense, but Trent Edwards and Marshawn Lynch are both real good players that get the job done. The Bills are 3-0 and look like they might be the class of the AFC East now that Tom Brady is gone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-3989558398300135254?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/3989558398300135254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/nfl-power-rankings-923.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/3989558398300135254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/3989558398300135254'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/nfl-power-rankings-923.html' title='NFL Power Rankings - 9/23'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-5636736915247302917</id><published>2009-02-05T09:24:00.002-08:00</published><updated>2009-02-05T09:25:11.351-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sports'/><title type='text'>NBA Opening Day Thoughts</title><content type='html'>I wasn't actually able to watch any of the games, but my observations based on highlights and box scores:&lt;br /&gt;&lt;br /&gt;- Derrick Rose is really good. Obviously we know he's not a great shooter at this point, but when you get 9 assists, and 3 steals as a PG in your first game, you're doing something right. If only Mike D'Antoni had waited and taken the Bulls job instead of New York.&lt;br /&gt;&lt;br /&gt;- When Tyrus Thomas came out of college I thought he was a poor man's cross between Shawn Marion and Amare Stoudemire, but he's never really played consistently the first 2 years. So I'm pretty excited to see what he'll do if he gets PT like he did tonight (41 mins). The results were encouraging... 15 points, 10 rebounds, 3 assists, 2 steals, 1 block. And he's still only 22. Crazy. Bulls could be better than everyone thinks.&lt;br /&gt;&lt;br /&gt;- Joe Alexander, DNP Coach's Decision. Never good for a top 10 pick. (though maybe there's more to the story that I just don't know about)&lt;br /&gt;&lt;br /&gt;- So the Celtics are still really good at defense. And Paul Pierce should probably be considered (if he isn't already) a top 5 NBA player, maybe top 3. But got to be concerned about Ray Allen if you're the Celts... he obviously showed signs of slowing down during the playoff run last year, and while it's only 1 game (against a good defensive team to boot), 8 points on 2/9 shooting in 41 minutes isn't exactly encouraging.&lt;br /&gt;&lt;br /&gt;- I guess it's a little early to anoint Portland as a playoff team already. Anyone know why Greg Oden only played 13 minutes?&lt;br /&gt;&lt;br /&gt;- As long as Lamar Odom remains content in his role at 6th man (obviously some skepticism here), Lakers certainly look like the team to beat on paper.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-5636736915247302917?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/5636736915247302917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/nba-opening-day-thoughts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/5636736915247302917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/5636736915247302917'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/nba-opening-day-thoughts.html' title='NBA Opening Day Thoughts'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-8463712155161269323</id><published>2009-02-05T09:24:00.001-08:00</published><updated>2009-02-05T09:24:48.551-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sports'/><title type='text'>Thanksgiving Day College Basketball Thoughts</title><content type='html'>As everyone prepares to feast on turkey (myself included!), some thoughts on the college basketball season that has been so far:&lt;br /&gt;&lt;br /&gt;Some observations of the college basketball season so far as we hit Thanksgiving:&lt;br /&gt;&lt;br /&gt;- After watching UNC take out Notre Dame in the championship of the Maui Invitational... hard to see UNC getting too much competition this year in the ACC. That offense is simply dynamite. We obviously know all about Hansbrough... but when Ty Lawson is on his game (as he was against ND, with 22 points and 10 assists), they're almost impossible to slow down. He might be the quickest guy down the court in America.&lt;br /&gt;&lt;br /&gt;- Also, props to Kyle McAlarney... 39 points, including 10 threes against the Tar Heels. It takes him roughly 0.2 seconds to get into shooting position. What a quick release, and with all types of range too.&lt;br /&gt;&lt;br /&gt;- Blake Griffin was already looking like a good candidate for the top spot in next year's draft... and that was before he went out and is averaging 27 and 19 through 5 games.&lt;br /&gt;&lt;br /&gt;- The Big East will be as strong as ever... Connecticut, Pittsburgh, Louisville, and Notre Dame all in the top 10. Plus, Syracuse looks like it'll finally have a say come tournament time. Marquette has a lot of talent. Villanova and Georgetown are both ranked. West Virginia returns a lot. Should be a lot of fun.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-8463712155161269323?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/8463712155161269323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/thanksgiving-day-college-basketball.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8463712155161269323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8463712155161269323'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/thanksgiving-day-college-basketball.html' title='Thanksgiving Day College Basketball Thoughts'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-2595841371984744579</id><published>2009-02-05T09:22:00.000-08:00</published><updated>2009-02-05T09:24:16.819-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sports'/><title type='text'>Sporting Injuries - To Yourself and Your Career</title><content type='html'>There’s nothing that brings on the adrenaline rush like sports does – whether you’re playing or watching, no matter if you’re a sportsman or a fan, you feel a thrill that courses through your blood each time you win, and a devastating numbness that refuses to leave after a loss. Sports can drive men and women crazy – that would explain the fights that take place on and off the field, the head butts and shoves that lead to red cards and fouls, and the fisticuffs and brawls between drunken fans in crowded stadiums. &lt;br /&gt;&lt;br /&gt;If there’s one thing worse than losing a match, it’s an injury sustained on the field. At the moment it happens, more than the immediate pain, it’s the fear of never being able to play again that’s in the mind of every sportsperson worth their salt. Some injuries are temporary – they disappear with adequate rest, medication, and physiotherapy. But there are others that, even if treated, ensure that you never play again. And even if you do, you’re never really at the top of your game like you were before. &lt;br /&gt;&lt;br /&gt;Anyone passionate about sports is in the same boat, even if they’re not professional players. Doctors and sports clinics will tell you for a fact that the first question you hear after an injury is – When will I be able to play again? No one ever asks the dreaded question – Will I ever be able to play again? It’s always a question of when, as if the possibility of never being able to play just doesn’t exist at all.&lt;br /&gt;&lt;br /&gt;Not many athletes and sportspersons are able to bounce back to the same level of performance after an injury, especially one that’s pretty serious. But there are players who are too valuable to be sidelined just because they’re injured. And so the controversies rise when they’re allowed to play on in spite of being injured. Of course, temporary medical relief and painkillers are administered, but then, both the management and the players know that they’re risking serious damage in the long term for a gain in the short term. &lt;br /&gt;&lt;br /&gt;But it’s a difficult choice for players to make – they know that injuries can effectively cut short promising careers. And so they’re willing to take the risk, they’re willing to pump themselves full of drugs and play one more match, especially if it’s a world series or any other major event. And when you ask them if they don’t fear a lifelong disability because of this risk, the answer comes as a surprise only if you’re not an ardent sports fan – it’s worse sitting out now than facing a chronic disability at some time in the future. Yes, sports is all about passion, even when it’s at the cost of common sense.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-2595841371984744579?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/2595841371984744579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/sporting-injuries-to-yourself-and-your.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/2595841371984744579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/2595841371984744579'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/sporting-injuries-to-yourself-and-your.html' title='Sporting Injuries - To Yourself and Your Career'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-7857689625322983009</id><published>2009-02-05T09:21:00.001-08:00</published><updated>2009-02-05T09:21:56.212-08:00</updated><title type='text'>Eight O'Clock Coffee is #1</title><content type='html'>Eight O'Clock 100 percent Colombian Coffee has been named the best buy at $6.28 for a pound, according to the March issue of Consumer Reports. The magazine tested and rated 19 ground coffees and put a "very good" Eight O'Clock ahead of runners-up Folgers, Maxwell House and Starbucks -- the country's best-sellers. It's all about the taste, and Consumer Reports tasters liked Eight O'Clock the best.&lt;br /&gt;&lt;br /&gt;Eight O'Clock Coffee is also celebrating 150 years of making coffee by having a sweepstakes. It's the standard sign up for their email list and come back everyday and enter kind of contest. From February 1 through March 15, 2009, you can log on to CoffeeMakeover.com to view the two new Eight O'Clock Coffee package designs. Vote for the look you like best, and you'll be entered into a sweepstakes to win a year's worth of groceries ($5,000)&lt;br /&gt;&lt;br /&gt;Return each day during the promotion period to vote again (earning another entry for a year's worth of groceries) - and for a chance to win other valuable prizes. (No purchase necessary to enter. Please see complete rules at www.CoffeeMakeover.com.) Eight O'Clock Coffee will announce the winning bag design on March 16, 2009 at www.CoffeeMakeover.com and at www.EightOClock.com. There is also a little spinning wheel game where you could win some coffee.&lt;br /&gt;&lt;br /&gt;The regular Eight O'Clock website has such advice as use fresh coffee, grind it right before you brew it and keep your coffee pot clean. You can also play a game of Sudoku online or do a crossword puzzle. They have a cute little gadget at the top of the screen telling you it's always Eight O'Clock somewhere. I tend to think you can never have too much coffee, but that might just be me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-7857689625322983009?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/7857689625322983009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/eight-oclock-coffee-is-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7857689625322983009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7857689625322983009'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/eight-oclock-coffee-is-1.html' title='Eight O&apos;Clock Coffee is #1'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-3532984994090213988</id><published>2009-02-05T09:16:00.000-08:00</published><updated>2009-02-05T09:20:16.165-08:00</updated><title type='text'>Denny's Becomes Soup Kitchen For A Day</title><content type='html'>Denny's Super Bowl ad didn't feature screaming morons or stick fetching Clydesdales-no it just said Free Breakfast from 6 Am to 2 Pm on Tuesday. That was good enough to get my attention, and a lot of other people's attention as well.&lt;br /&gt;&lt;br /&gt;When I went to Denny's this morning around 8 Am there was a small line out the door, and no where to park. So The Wife and I went to another Denny's, where the line was longer, but there was someplace to park. We waited about thirty minutes, and only had a couple of times when we wanted slap some yahoo for cutting the line. But hey, it's a free Glam Slam breakfast, so we were all in a pretty good mood. If it had been a bit colder, we might not have been so nice.&lt;br /&gt;&lt;br /&gt;I've never been in a Soup Line, or a line at one of those Feed The Homeless on Thanksgiving things, but this must have been what it is like. Lots of low income people and lots of people for whom English was not their first language. The staff at the Denny's did a pretty job of keeping things moving, occasionally letting the line wait while they cleared a few tables. There was the occasional person in a hurry and we did see one person send her Gland Slam back when the eggs were not prepared the way she liked them. Otherwise it was all run like a well oiled machine.&lt;br /&gt;&lt;br /&gt;I am a long time user of discount coupon books, Sunday paper coupons, and and pretty much any buy one get one free coupon I can find. One of the rules of these coupons is that you need to tip the waitress the same as if you paid the whole bill and not just the discount. So here the staff is working harder than they ever have to work and a lot of people are drinking free water with their free Grand Slam and leaving no tip. Nice. We left our waitress five dollars and bought two sodas-so that our free breakfast cost $9.&lt;br /&gt;&lt;br /&gt;Denny's, like IHOP, is somewhere I tend to eat when 1) I have a coupon, or 2) it's the middle of the night and there is nowhere else to eat. Times are tough, and it's not that hard to make pancakes and fry an egg. But we did get a coupon book for being nice and tipping our waitress, so we will be going back to Denny's again one of these days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-3532984994090213988?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/3532984994090213988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/dennys-becomes-soup-kitchen-for-day.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/3532984994090213988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/3532984994090213988'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/dennys-becomes-soup-kitchen-for-day.html' title='Denny&apos;s Becomes Soup Kitchen For A Day'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-1057487242763481466</id><published>2009-02-05T09:14:00.000-08:00</published><updated>2009-02-05T09:15:18.945-08:00</updated><title type='text'>Pope Insists Bishop Richard Williamson</title><content type='html'>The Pope has ordered an ultra-conservative bishop from Britain to recant his denial that Jews died in gas chambers during the Holocaust. &lt;br /&gt;&lt;br /&gt;In a move designed to head off condemnation, Pope Benedict XVI ordered Bishop Richard Williamson to unequivocally and publicly renounce his claims that there were no gas chambers and that fewer than 300,000 Jews died in the Nazi death camps instead of the accepted figure of six million. &lt;br /&gt;&lt;br /&gt;The German Chancellor, Angela Merkel, and many politicians, prelates and faith leaders have rounded on the Pope after his decision to lift excommunications on Bishop Williamson, an Old Wykehamist and Cambridge graduate, and three other traditionalist bishops. &lt;br /&gt;&lt;br /&gt;The Vatican said: “Bishop Williamson, in order to be admitted to episcopal functions within the Church, will have to take his distance, in an absolutely unequivocal and public fashion, from his position on the Shoah, which the Holy Father was not aware of when the excommunication was lifted.”&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-1057487242763481466?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/1057487242763481466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/pope-insists-bishop-richard-williamson.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1057487242763481466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1057487242763481466'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/pope-insists-bishop-richard-williamson.html' title='Pope Insists Bishop Richard Williamson'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-7455672413156464424</id><published>2009-02-05T09:08:00.000-08:00</published><updated>2009-02-05T09:13:43.020-08:00</updated><title type='text'>Sara Kuszak Murdered</title><content type='html'>Sara Kuszak, a pregnant American tourist in Ceiba, eastern Puerto Rico, was killed on Wednesday February 4. Kuszak was abducted and stuffed into the trunk of a car. Kuszak used her cell phone to call for help. Kuszak was killed about 1 hour after her call.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Kuszak was 5 months pregnant. She arrived in Puerto Rico to see her fiancé, Cheshire McIntosh. Police found Kuszak dead in a field. Police found a suspect and arrested the local man. His shirt was soaked with blood. However, the suspect said he had attended to an injured horse. Police need to test the blood to determine if it was animal or human blood. Also, the blood needs to be matched against the DNA of Ms Kuszak.&lt;br /&gt;&lt;br /&gt;Kuszak was abducted during her morning jog. Even when she was bundled into the car, Kuszak called an employee working at a marina and described her attacker’s car. The lady employee called police to relay the message. It was a bit too late to save Sara Kuszak.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-7455672413156464424?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/7455672413156464424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/sara-kuszak-murdered.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7455672413156464424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7455672413156464424'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/sara-kuszak-murdered.html' title='Sara Kuszak Murdered'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-7711258140164561458</id><published>2009-02-03T11:50:00.001-08:00</published><updated>2009-02-03T11:50:36.736-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>World War II Sniper Call of The Victory ISO (PC)</title><content type='html'>http://rapidshare.com/files/15790986/WW2sniper_HoCuS.part1.rar&lt;br /&gt;http://rapidshare.com/files/15791005/WW2sniper_HoCuS.part2.rar&lt;br /&gt;http://rapidshare.com/files/15791014/WW2sniper_HoCuS.part3.rar&lt;br /&gt;http://rapidshare.com/files/15791031/WW2sniper_HoCuS.part4.rar&lt;br /&gt;http://rapidshare.com/files/15791047/WW2sniper_HoCuS.part5.rar&lt;br /&gt;http://rapidshare.com/files/15791058/WW2sniper_HoCuS.part6.rar&lt;br /&gt;&lt;br /&gt;Password: hackhell&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-7711258140164561458?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/7711258140164561458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/world-war-ii-sniper-call-of-victory-iso.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7711258140164561458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7711258140164561458'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/world-war-ii-sniper-call-of-victory-iso.html' title='World War II Sniper Call of The Victory ISO (PC)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-8097226333776158229</id><published>2009-02-03T11:49:00.001-08:00</published><updated>2009-02-03T11:49:46.777-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Halo: Combat Evolved ISO (PC)</title><content type='html'>http://rapidshare.com/files/15797067/Halo_-_Combat_Evolved.part1.rar&lt;br /&gt;http://rapidshare.com/files/15799146/Halo_-_Combat_Evolved.part2.rar&lt;br /&gt;http://rapidshare.com/files/15801504/Halo_-_Combat_Evolved.part3.rar&lt;br /&gt;http://rapidshare.com/files/15803991/Halo_-_Combat_Evolved.part4.rar&lt;br /&gt;http://rapidshare.com/files/15806998/Halo_-_Combat_Evolved.part5.rar&lt;br /&gt;http://rapidshare.com/files/15810006/Halo_-_Combat_Evolved.part6.rar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-8097226333776158229?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/8097226333776158229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/halo-combat-evolved-iso-pc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8097226333776158229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8097226333776158229'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/halo-combat-evolved-iso-pc.html' title='Halo: Combat Evolved ISO (PC)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-6144182353544492123</id><published>2009-02-03T11:48:00.002-08:00</published><updated>2009-02-03T11:49:07.191-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Need For Speed 1 ISO (PC)</title><content type='html'>http://rapidshare.com/files/20558812/Need.For.Speed.1.ISO.part1.rar&lt;br /&gt;http://rapidshare.com/files/20560970/Need.For.Speed.1.ISO.part2.rar&lt;br /&gt;http://rapidshare.com/files/20561487/Need.For.Speed.1.ISO.part3.rar&lt;br /&gt;http://rapidshare.com/files/20562133/Need.For.Speed.1.ISO.part4.rar&lt;br /&gt;http://rapidshare.com/files/20562461/Need.For.Speed.1.ISO.part5.rar&lt;br /&gt;http://rapidshare.com/files/20562639/Need.For.Speed.1.ISO.part6.rar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-6144182353544492123?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/6144182353544492123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/need-for-speed-1-iso-pc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/6144182353544492123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/6144182353544492123'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/need-for-speed-1-iso-pc.html' title='Need For Speed 1 ISO (PC)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-8175286325126086871</id><published>2009-02-03T11:48:00.001-08:00</published><updated>2009-02-03T11:48:34.440-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Spiderman 3 iSO (PC)</title><content type='html'>http://rapidshare.com/files/33972911/Spiderman_3.part01.rar.html&lt;br /&gt;http://rapidshare.com/files/33974594/Spiderman_3.part02.rar.html&lt;br /&gt;http://rapidshare.com/files/33976316/Spiderman_3.part03.rar.html&lt;br /&gt;http://rapidshare.com/files/33977979/Spiderman_3.part04.rar.html&lt;br /&gt;http://rapidshare.com/files/33979610/Spiderman_3.part05.rar.html&lt;br /&gt;http://rapidshare.com/files/33981286/Spiderman_3.part06.rar.html&lt;br /&gt;http://rapidshare.com/files/33982830/Spiderman_3.part07.rar.html&lt;br /&gt;http://rapidshare.com/files/33984339/Spiderman_3.part08.rar.html&lt;br /&gt;http://rapidshare.com/files/33985710/Spiderman_3.part09.rar.html&lt;br /&gt;http://rapidshare.com/files/33988021/Spiderman_3.part10.rar.html&lt;br /&gt;http://rapidshare.com/files/33990489/Spiderman_3.part11.rar.html&lt;br /&gt;http://rapidshare.com/files/33993166/Spiderman_3.part12.rar.html&lt;br /&gt;http://rapidshare.com/files/33995905/Spiderman_3.part13.rar.html&lt;br /&gt;http://rapidshare.com/files/33998943/Spiderman_3.part14.rar.html&lt;br /&gt;http://rapidshare.com/files/34001616/Spiderman_3.part15.rar.html&lt;br /&gt;http://rapidshare.com/files/34003796/Spiderman_3.part16.rar.html&lt;br /&gt;http://rapidshare.com/files/34005837/Spiderman_3.part17.rar.html&lt;br /&gt;http://rapidshare.com/files/34008016/Spiderman_3.part18.rar.html&lt;br /&gt;http://rapidshare.com/files/34010381/Spiderman_3.part19.rar.html&lt;br /&gt;http://rapidshare.com/files/34012734/Spiderman_3.part20.rar.html&lt;br /&gt;http://rapidshare.com/files/34013548/Spiderman_3.part21.rar.html&lt;br /&gt;&lt;br /&gt;Password: warezdonkey.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-8175286325126086871?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/8175286325126086871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/spiderman-3-iso-pc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8175286325126086871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8175286325126086871'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/spiderman-3-iso-pc.html' title='Spiderman 3 iSO (PC)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-1278083219422778170</id><published>2009-02-03T11:47:00.003-08:00</published><updated>2009-02-03T11:47:58.497-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Warcraft 3 iSO (PC)</title><content type='html'>http://rapidshare.com/files/35326703/Craft_of_War3.by_Cyberflame.part1.rar&lt;br /&gt;http://rapidshare.com/files/35331663/Craft_of_War3.by_Cyberflame.part2.rar&lt;br /&gt;http://rapidshare.com/files/35342219/Craft_of_War3.by_Cyberflame.part3.rar&lt;br /&gt;http://rapidshare.com/files/35345560/Craft_of_War3.by_Cyberflame.part4.rar&lt;br /&gt;http://rapidshare.com/files/35363611/Craft_of_War3.by_Cyberflame.part5.rar&lt;br /&gt;http://rapidshare.com/files/35315606/Craft_of_War3.by_Cyberflame.part6.rar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-1278083219422778170?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/1278083219422778170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/warcraft-3-iso-pc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1278083219422778170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1278083219422778170'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/warcraft-3-iso-pc.html' title='Warcraft 3 iSO (PC)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-3561231168772553400</id><published>2009-02-03T11:47:00.001-08:00</published><updated>2009-02-03T11:47:27.496-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Max Payne iSO (PC)</title><content type='html'>http://rapidshare.com/files/20188895/My_trip_to_spain_Rebe_.part1.rar&lt;br /&gt;http://rapidshare.com/files/20188854/My_trip_to_spain_Rebe_.part2.rar&lt;br /&gt;http://rapidshare.com/files/20188870/My_trip_to_spain_Rebe_.part3.rar&lt;br /&gt;http://rapidshare.com/files/20189823/My_trip_to_spain_Rebe_.part4.rar&lt;br /&gt;http://rapidshare.com/files/20188861/My_trip_to_spain_Rebe_.part5.rar&lt;br /&gt;http://rapidshare.com/files/20188845/My_trip_to_spain_Rebe_.part6.rar&lt;br /&gt;http://rapidshare.com/files/20188828/My_trip_to_spain_Rebe_.part7.rar&lt;br /&gt;&lt;br /&gt;pass: should should&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-3561231168772553400?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/3561231168772553400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/max-payne-iso-pc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/3561231168772553400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/3561231168772553400'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/max-payne-iso-pc.html' title='Max Payne iSO (PC)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-1035255743774140785</id><published>2009-02-03T11:46:00.001-08:00</published><updated>2009-02-03T11:46:55.425-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Grand Theft Auto - San Andreas iSO (PC)</title><content type='html'>http://rapidshare.com/files/41915359/Go_Try_And_Save_America.part01.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41806294/Go_Try_And_Save_America.part02.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41806210/Go_Try_And_Save_America.part03.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41806254/Go_Try_And_Save_America.part04.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41806307/Go_Try_And_Save_America.part05.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41806265/Go_Try_And_Save_America.part06.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41806240/Go_Try_And_Save_America.part07.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41806099/Go_Try_And_Save_America.part08.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41915561/Go_Try_And_Save_America.part09.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41934577/Go_Try_And_Save_America.part10.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41934716/Go_Try_And_Save_America.part11.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41806291/Go_Try_And_Save_America.part12.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41934680/Go_Try_And_Save_America.part13.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41949850/Go_Try_And_Save_America.part14.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41806084/Go_Try_And_Save_America.part15.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41806198/Go_Try_And_Save_America.part16.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41806311/Go_Try_And_Save_America.part17.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41950019/Go_Try_And_Save_America.part18.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41805917/Go_Try_And_Save_America.part19.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41915053/Go_Try_And_Save_America.part20.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41934474/Go_Try_And_Save_America.part21.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41934352/Go_Try_And_Save_America.part22.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41806096/Go_Try_And_Save_America.part23.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41934761/Go_Try_And_Save_America.part24.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41949483/Go_Try_And_Save_America.part25.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41806319/Go_Try_And_Save_America.part26.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41806020/Go_Try_And_Save_America.part27.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41934721/Go_Try_And_Save_America.part28.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41949530/Go_Try_And_Save_America.part29.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41806224/Go_Try_And_Save_America.part30.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41806134/Go_Try_And_Save_America.part31.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41806059/Go_Try_And_Save_America.part32.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41934592/Go_Try_And_Save_America.part33.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41949976/Go_Try_And_Save_America.part34.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41934601/Go_Try_And_Save_America.part35.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41934955/Go_Try_And_Save_America.part36.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41806029/Go_Try_And_Save_America.part37.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41805963/Go_Try_And_Save_America.part38.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41806147/Go_Try_And_Save_America.part39.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41934540/Go_Try_And_Save_America.part40.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/41801809/Go_Try_And_Save_America.part41.rar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-1035255743774140785?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/1035255743774140785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/grand-theft-auto-san-andreas-iso-pc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1035255743774140785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1035255743774140785'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/grand-theft-auto-san-andreas-iso-pc.html' title='Grand Theft Auto - San Andreas iSO (PC)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-6852664223733676130</id><published>2009-02-03T11:45:00.000-08:00</published><updated>2009-02-03T11:46:15.604-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Dungeon Keeper 2 iSO (PC)</title><content type='html'>http://rapidshare.com/files/5380626/dk2pr.part01.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/5380591/dk2pr.part02.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/5380627/dk2pr.part03.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/5380555/dk2pr.part04.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/5380610/dk2pr.part05.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/5380597/dk2pr.part06.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/5380561/dk2pr.part07.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/5380559/dk2pr.part08.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/5380564/dk2pr.part09.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/5380635/dk2pr.part10.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/5380544/dk2pr.part11.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/5380580/dk2_winxp_patch_fix.rar&lt;br /&gt;&lt;br /&gt;pass: www.judges-verdict.dl.am&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-6852664223733676130?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/6852664223733676130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/dungeon-keeper-2-iso-pc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/6852664223733676130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/6852664223733676130'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/dungeon-keeper-2-iso-pc.html' title='Dungeon Keeper 2 iSO (PC)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-7504341201056675651</id><published>2009-02-03T11:44:00.000-08:00</published><updated>2009-02-03T11:45:39.730-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>The 13th Victim (Original + Expansion) ISO (PC)</title><content type='html'>http://rapidshare.com/files/713845/MYE.part01.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/713914/MYE.part02.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/703404/MYE.part03.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/704630/MYE.part04.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/705324/MYE.part05.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/706014/MYE.part06.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/706721/MYE.part07.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/707529/MYE.part08.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/708232/MYE.part09.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/708867/MYE.part10.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/709538/MYE.part11.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/710066/MYE.part12.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/710933/MYE.part13.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/711293/MYE.part14.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/711380/MYE.part15.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/711705/MYE.part16.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/711825/MYE.part17.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/712108/MYE.part18.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/712212/MYE.part19.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/712484/MYE.part20.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/712624/MYE.part21.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/712866/MYE.part22.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/712999/MYE.part23.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/713276/MYE.part24.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/713415/MYE.part25.rar.html&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/713441/MYE.part26.rar.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-7504341201056675651?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/7504341201056675651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/13th-victim-original-expansion-iso-pc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7504341201056675651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/7504341201056675651'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/13th-victim-original-expansion-iso-pc.html' title='The 13th Victim (Original + Expansion) ISO (PC)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-4924334995187182504</id><published>2009-02-03T11:43:00.002-08:00</published><updated>2009-02-03T11:44:00.608-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Call of Juarez iSO (PC)</title><content type='html'>http://rapidshare.com/files/36888019/Call_of_Juarez.part01.rar&lt;br /&gt;http://rapidshare.com/files/36888036/Call_of_Juarez.part02.rar&lt;br /&gt;http://rapidshare.com/files/36888010/Call_of_Juarez.part03.rar&lt;br /&gt;http://rapidshare.com/files/36888030/Call_of_Juarez.part04.rar&lt;br /&gt;http://rapidshare.com/files/36888037/Call_of_Juarez.part05.rar&lt;br /&gt;http://rapidshare.com/files/36887999/Call_of_Juarez.part06.rar&lt;br /&gt;http://rapidshare.com/files/36888006/Call_of_Juarez.part07.rar&lt;br /&gt;http://rapidshare.com/files/36888005/Call_of_Juarez.part08.rar&lt;br /&gt;http://rapidshare.com/files/36888026/Call_of_Juarez.part09.rar&lt;br /&gt;http://rapidshare.com/files/36888031/Call_of_Juarez.part10.rar&lt;br /&gt;http://rapidshare.com/files/36888050/Call_of_Juarez.part11.rar&lt;br /&gt;http://rapidshare.com/files/36888015/Call_of_Juarez.part12.rar&lt;br /&gt;http://rapidshare.com/files/36888014/Call_of_Juarez.part13.rar&lt;br /&gt;http://rapidshare.com/files/36888011/Call_of_Juarez.part14.rar&lt;br /&gt;http://rapidshare.com/files/36888017/Call_of_Juarez.part15.rar&lt;br /&gt;http://rapidshare.com/files/36888039/Call_of_Juarez.part16.rar&lt;br /&gt;http://rapidshare.com/files/36888025/Call_of_Juarez.part17.rar&lt;br /&gt;http://rapidshare.com/files/36888059/Call_of_Juarez.part18.rar&lt;br /&gt;http://rapidshare.com/files/36888027/Call_of_Juarez.part19.rar&lt;br /&gt;http://rapidshare.com/files/36888029/Call_of_Juarez.part20.rar&lt;br /&gt;http://rapidshare.com/files/36887993/Call_of_Juarez.part21.rar&lt;br /&gt;&lt;br /&gt;pass: should&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-4924334995187182504?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/4924334995187182504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/call-of-juarez-iso-pc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/4924334995187182504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/4924334995187182504'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/call-of-juarez-iso-pc.html' title='Call of Juarez iSO (PC)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-1947252989670640577</id><published>2009-02-03T11:43:00.001-08:00</published><updated>2009-02-03T11:43:26.174-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Harry Potter and The Chamber Of Secrets iSO (PC)</title><content type='html'>http://rapidshare.com/files/369115/HPatCoS.part1.rar&lt;br /&gt;http://rapidshare.com/files/369379/HPatCoS.part2.rar&lt;br /&gt;http://rapidshare.com/files/369256/HPatCoS.part3.rar&lt;br /&gt;http://rapidshare.com/files/369307/HPatCoS.part4.rar&lt;br /&gt;http://rapidshare.com/files/369367/HPatCoS.part5.rar&lt;br /&gt;&lt;br /&gt;pass: should&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-1947252989670640577?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/1947252989670640577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/harry-potter-and-chamber-of-secrets-iso.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1947252989670640577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1947252989670640577'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/harry-potter-and-chamber-of-secrets-iso.html' title='Harry Potter and The Chamber Of Secrets iSO (PC)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-8978208460969235376</id><published>2009-02-03T11:42:00.003-08:00</published><updated>2009-02-03T11:42:55.354-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>FIFA Manager 07 ISO (PC)</title><content type='html'>http://rapidshare.com/files/6866828/Fima07.part01.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6866934/Fima07.part02.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6867022/Fima07.part03.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6867102/Fima07.part04.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6867204/Fima07.part05.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6867288/Fima07.part06.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6867410/Fima07.part07.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6867532/Fima07.part08.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6867641/Fima07.part09.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6867770/Fima07.part10.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6867869/Fima07.part11.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6867990/Fima07.part12.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6868090/Fima07.part13.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6868206/Fima07.part14.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6868342/Fima07.part15.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6868426/Fima07.part16.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6868527/Fima07.part17.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6868649/Fima07.part18.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6868786/Fima07.part19.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6868901/Fima07.part20.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6869004/Fima07.part21.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6869118/Fima07.part22.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6869239/Fima07.part23.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6869346/Fima07.part24.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6869457/Fima07.part25.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6869573/Fima07.part26.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6869680/Fima07.part27.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6869807/Fima07.part28.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6869913/Fima07.part29.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6870033/Fima07.part30.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6870213/Fima07.part31.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6870323/Fima07.part32.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6870467/Fima07.part33.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6870588/Fima07.part34.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6870684/Fima07.part35.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6870804/Fima07.part36.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6870894/Fima07.part37.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6870975/Fima07.part38.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/6866727/Fima07.part39.rar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-8978208460969235376?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/8978208460969235376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/fifa-manager-07-iso-pc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8978208460969235376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8978208460969235376'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/fifa-manager-07-iso-pc.html' title='FIFA Manager 07 ISO (PC)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-2302291971893221815</id><published>2009-02-03T11:42:00.001-08:00</published><updated>2009-02-03T11:42:27.698-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>The Elder Scrolls : Oblivion iSO (PC)</title><content type='html'>http://rapidshare.com/files/40757775/My_Skating_Videos_and_Pictures.part01.rar&lt;br /&gt;http://rapidshare.com/files/40761585/My_Skating_Videos_and_Pictures.part02.rar&lt;br /&gt;http://rapidshare.com/files/40776004/My_Skating_Videos_and_Pictures.part03.rar&lt;br /&gt;http://rapidshare.com/files/40781130/My_Skating_Videos_and_Pictures.part04.rar&lt;br /&gt;http://rapidshare.com/files/40785847/My_Skating_Videos_and_Pictures.part05.rar&lt;br /&gt;http://rapidshare.com/files/40790110/My_Skating_Videos_and_Pictures.part06.rar&lt;br /&gt;http://rapidshare.com/files/40802221/My_Skating_Videos_and_Pictures.part07.rar&lt;br /&gt;http://rapidshare.com/files/40806481/My_Skating_Videos_and_Pictures.part08.rar&lt;br /&gt;http://rapidshare.com/files/40810755/My_Skating_Videos_and_Pictures.part09.rar&lt;br /&gt;http://rapidshare.com/files/40814998/My_Skating_Videos_and_Pictures.part10.rar&lt;br /&gt;http://rapidshare.com/files/40819996/My_Skating_Videos_and_Pictures.part11.rar&lt;br /&gt;http://rapidshare.com/files/40846579/My_Skating_Videos_and_Pictures.part12.rar&lt;br /&gt;http://rapidshare.com/files/40833898/My_Skating_Videos_and_Pictures.part13.rar&lt;br /&gt;http://rapidshare.com/files/40841929/My_Skating_Videos_and_Pictures.part14.rar&lt;br /&gt;http://rapidshare.com/files/40851208/My_Skating_Videos_and_Pictures.part15.rar&lt;br /&gt;http://rapidshare.com/files/40855709/My_Skating_Videos_and_Pictures.part16.rar&lt;br /&gt;http://rapidshare.com/files/40977804/My_Skating_Videos_and_Pictures.part17.rar&lt;br /&gt;http://rapidshare.com/files/41016679/My_Skating_Videos_and_Pictures.part18.rar&lt;br /&gt;http://rapidshare.com/files/41020977/My_Skating_Videos_and_Pictures.part19.rar&lt;br /&gt;http://rapidshare.com/files/41144663/My_Skating_Videos_and_Pictures.part20.rar&lt;br /&gt;http://rapidshare.com/files/41148582/My_Skating_Videos_and_Pictures.part21.rar&lt;br /&gt;http://rapidshare.com/files/41156960/My_Skating_Videos_and_Pictures.part22.rar&lt;br /&gt;http://rapidshare.com/files/41161150/My_Skating_Videos_and_Pictures.part23.rar&lt;br /&gt;http://rapidshare.com/files/41165540/My_Skating_Videos_and_Pictures.part24.rar&lt;br /&gt;http://rapidshare.com/files/41169902/My_Skating_Videos_and_Pictures.part25.rar&lt;br /&gt;http://rapidshare.com/files/41174267/My_Skating_Videos_and_Pictures.part26.rar&lt;br /&gt;http://rapidshare.com/files/41183978/My_Skating_Videos_and_Pictures.part27.rar&lt;br /&gt;http://rapidshare.com/files/41188288/My_Skating_Videos_and_Pictures.part28.rar&lt;br /&gt;http://rapidshare.com/files/41192588/My_Skating_Videos_and_Pictures.part29.rar&lt;br /&gt;http://rapidshare.com/files/41197079/My_Skating_Videos_and_Pictures.part30.rar&lt;br /&gt;http://rapidshare.com/files/41201616/My_Skating_Videos_and_Pictures.part31.rar&lt;br /&gt;http://rapidshare.com/files/41205783/My_Skating_Videos_and_Pictures.part32.rar&lt;br /&gt;http://rapidshare.com/files/41210237/My_Skating_Videos_and_Pictures.part33.rar&lt;br /&gt;http://rapidshare.com/files/41324704/My_Skating_Videos_and_Pictures.part34.rar&lt;br /&gt;http://rapidshare.com/files/41328364/My_Skating_Videos_and_Pictures.part35.rar&lt;br /&gt;http://rapidshare.com/files/41336395/My_Skating_Videos_and_Pictures.part36.rar&lt;br /&gt;http://rapidshare.com/files/41340036/My_Skating_Videos_and_Pictures.part37.rar&lt;br /&gt;http://rapidshare.com/files/41364005/My_Skating_Videos_and_Pictures.part38.rar&lt;br /&gt;http://rapidshare.com/files/41368139/My_Skating_Videos_and_Pictures.part39.rar&lt;br /&gt;http://rapidshare.com/files/41372325/My_Skating_Videos_and_Pictures.part40.rar&lt;br /&gt;http://rapidshare.com/files/41376298/My_Skating_Videos_and_Pictures.part41.rar&lt;br /&gt;http://rapidshare.com/files/41380298/My_Skating_Videos_and_Pictures.part42.rar&lt;br /&gt;http://rapidshare.com/files/41383385/My_Skating_Videos_and_Pictures.part43.rar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-2302291971893221815?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/2302291971893221815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/elder-scrolls-oblivion-iso-pc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/2302291971893221815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/2302291971893221815'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/elder-scrolls-oblivion-iso-pc.html' title='The Elder Scrolls : Oblivion iSO (PC)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-27599196108749739</id><published>2009-02-03T11:41:00.003-08:00</published><updated>2009-02-03T11:41:57.889-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Beer Tycoon iso (PC)</title><content type='html'>http://rapidshare.com/files/42022266/Beer_Rulaz_www.warezmarez.com__.part1.rar&lt;br /&gt;http://rapidshare.com/files/42028341/Beer_Rulaz_www.warezmarez.com__.part2.rar&lt;br /&gt;http://rapidshare.com/files/42030049/Beer_Rulaz_www.warezmarez.com__.part3.rar&lt;br /&gt;&lt;br /&gt;pass: should&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-27599196108749739?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/27599196108749739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/beer-tycoon-iso-pc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/27599196108749739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/27599196108749739'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/beer-tycoon-iso-pc.html' title='Beer Tycoon iso (PC)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-1816501684967497951</id><published>2009-02-03T11:41:00.001-08:00</published><updated>2009-02-03T11:41:31.209-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Star Wars Jedi Knight II: Jedi Outcast iSO (PSP)</title><content type='html'>http://rapidshare.com/files/34700175/Star.Wars.Jedi.Outcast.part1.rar&lt;br /&gt;http://rapidshare.com/files/34700295/Star.Wars.Jedi.Outcast.part2.rar&lt;br /&gt;http://rapidshare.com/files/34700139/Star.Wars.Jedi.Outcast.part3.rar&lt;br /&gt;http://rapidshare.com/files/34700263/Star.Wars.Jedi.Outcast.part4.rar&lt;br /&gt;http://rapidshare.com/files/34700865/Star.Wars.Jedi.Outcast.part5.rar&lt;br /&gt;http://rapidshare.com/files/34700261/Star.Wars.Jedi.Outcast.part6.rar&lt;br /&gt;http://rapidshare.com/files/34699894/Star.Wars.Jedi.Outcast.part7.rar&lt;br /&gt;&lt;br /&gt;Password(s): class= should&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-1816501684967497951?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/1816501684967497951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/star-wars-jedi-knight-ii-jedi-outcast.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1816501684967497951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1816501684967497951'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/star-wars-jedi-knight-ii-jedi-outcast.html' title='Star Wars Jedi Knight II: Jedi Outcast iSO (PSP)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-5506640680147069841</id><published>2009-02-03T11:40:00.001-08:00</published><updated>2009-02-03T11:40:56.603-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Lost Planet Extreme Condition iSO (PC)</title><content type='html'>http://rapidshare.com/files/40356236/Lost.Planet.Extreme.Condition-Unleashed.part01.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40356390/Lost.Planet.Extreme.Condition-Unleashed.part02.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40356523/Lost.Planet.Extreme.Condition-Unleashed.part03.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40356640/Lost.Planet.Extreme.Condition-Unleashed.part04.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40356738/Lost.Planet.Extreme.Condition-Unleashed.part05.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40356874/Lost.Planet.Extreme.Condition-Unleashed.part06.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40356996/Lost.Planet.Extreme.Condition-Unleashed.part07.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40357130/Lost.Planet.Extreme.Condition-Unleashed.part08.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40357196/Lost.Planet.Extreme.Condition-Unleashed.part09.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40357318/Lost.Planet.Extreme.Condition-Unleashed.part10.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40357387/Lost.Planet.Extreme.Condition-Unleashed.part11.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40357475/Lost.Planet.Extreme.Condition-Unleashed.part12.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40357547/Lost.Planet.Extreme.Condition-Unleashed.part13.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40357664/Lost.Planet.Extreme.Condition-Unleashed.part14.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40357734/Lost.Planet.Extreme.Condition-Unleashed.part15.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40357803/Lost.Planet.Extreme.Condition-Unleashed.part16.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40357934/Lost.Planet.Extreme.Condition-Unleashed.part17.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40358009/Lost.Planet.Extreme.Condition-Unleashed.part18.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40358083/Lost.Planet.Extreme.Condition-Unleashed.part19.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40358153/Lost.Planet.Extreme.Condition-Unleashed.part20.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40358216/Lost.Planet.Extreme.Condition-Unleashed.part21.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40358322/Lost.Planet.Extreme.Condition-Unleashed.part22.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40358379/Lost.Planet.Extreme.Condition-Unleashed.part23.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40358496/Lost.Planet.Extreme.Condition-Unleashed.part24.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40358618/Lost.Planet.Extreme.Condition-Unleashed.part25.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40358720/Lost.Planet.Extreme.Condition-Unleashed.part26.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40358792/Lost.Planet.Extreme.Condition-Unleashed.part27.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40358886/Lost.Planet.Extreme.Condition-Unleashed.part28.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40358970/Lost.Planet.Extreme.Condition-Unleashed.part29.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40359076/Lost.Planet.Extreme.Condition-Unleashed.part30.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40359179/Lost.Planet.Extreme.Condition-Unleashed.part31.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40359282/Lost.Planet.Extreme.Condition-Unleashed.part32.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40359355/Lost.Planet.Extreme.Condition-Unleashed.part33.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40359442/Lost.Planet.Extreme.Condition-Unleashed.part34.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40359533/Lost.Planet.Extreme.Condition-Unleashed.part35.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40359581/Lost.Planet.Extreme.Condition-Unleashed.part36.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40359676/Lost.Planet.Extreme.Condition-Unleashed.part37.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40359812/Lost.Planet.Extreme.Condition-Unleashed.part38.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40359937/Lost.Planet.Extreme.Condition-Unleashed.part39.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40360120/Lost.Planet.Extreme.Condition-Unleashed.part40.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40360198/Lost.Planet.Extreme.Condition-Unleashed.part41.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40360332/Lost.Planet.Extreme.Condition-Unleashed.part42.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40360434/Lost.Planet.Extreme.Condition-Unleashed.part43.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40360564/Lost.Planet.Extreme.Condition-Unleashed.part44.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40360638/Lost.Planet.Extreme.Condition-Unleashed.part45.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40360732/Lost.Planet.Extreme.Condition-Unleashed.part46.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40360846/Lost.Planet.Extreme.Condition-Unleashed.part47.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40360954/Lost.Planet.Extreme.Condition-Unleashed.part48.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40361040/Lost.Planet.Extreme.Condition-Unleashed.part49.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40361120/Lost.Planet.Extreme.Condition-Unleashed.part50.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40361239/Lost.Planet.Extreme.Condition-Unleashed.part51.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40361373/Lost.Planet.Extreme.Condition-Unleashed.part52.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40361487/Lost.Planet.Extreme.Condition-Unleashed.part53.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40361660/Lost.Planet.Extreme.Condition-Unleashed.part54.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40361816/Lost.Planet.Extreme.Condition-Unleashed.part55.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40361974/Lost.Planet.Extreme.Condition-Unleashed.part56.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40362111/Lost.Planet.Extreme.Condition-Unleashed.part57.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40362233/Lost.Planet.Extreme.Condition-Unleashed.part58.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40362402/Lost.Planet.Extreme.Condition-Unleashed.part59.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40362572/Lost.Planet.Extreme.Condition-Unleashed.part60.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40362688/Lost.Planet.Extreme.Condition-Unleashed.part61.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40362814/Lost.Planet.Extreme.Condition-Unleashed.part62.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40362934/Lost.Planet.Extreme.Condition-Unleashed.part63.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40363068/Lost.Planet.Extreme.Condition-Unleashed.part64.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40363155/Lost.Planet.Extreme.Condition-Unleashed.part65.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40363296/Lost.Planet.Extreme.Condition-Unleashed.part66.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40363382/Lost.Planet.Extreme.Condition-Unleashed.part67.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40363524/Lost.Planet.Extreme.Condition-Unleashed.part68.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40363592/Lost.Planet.Extreme.Condition-Unleashed.part69.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40363716/Lost.Planet.Extreme.Condition-Unleashed.part70.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40363850/Lost.Planet.Extreme.Condition-Unleashed.part71.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40363981/Lost.Planet.Extreme.Condition-Unleashed.part72.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40364157/Lost.Planet.Extreme.Condition-Unleashed.part73.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40364285/Lost.Planet.Extreme.Condition-Unleashed.part74.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40364363/Lost.Planet.Extreme.Condition-Unleashed.part75.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40364471/Lost.Planet.Extreme.Condition-Unleashed.part76.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/40364479/Lost.Planet.Extreme.Condition-Unleashed.part77.rar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-5506640680147069841?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/5506640680147069841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/lost-planet-extreme-condition-iso-pc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/5506640680147069841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/5506640680147069841'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/lost-planet-extreme-condition-iso-pc.html' title='Lost Planet Extreme Condition iSO (PC)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-4930710246712330783</id><published>2009-02-03T11:39:00.000-08:00</published><updated>2009-02-03T11:40:03.828-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Hellforces iSO (PC)</title><content type='html'>http://rapidshare.com/files/39674366/Hellforces.part01.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/39674689/Hellforces.part02.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/39674941/Hellforces.part03.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/39675240/Hellforces.part04.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/39675478/Hellforces.part05.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/39675813/Hellforces.part06.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/39676037/Hellforces.part07.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/39676322/Hellforces.part08.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/39676575/Hellforces.part09.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/39676969/Hellforces.part10.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/39677245/Hellforces.part11.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/39677564/Hellforces.part12.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/39677829/Hellforces.part13.rar&lt;br /&gt;&lt;br /&gt;http://rapidshare.com/files/39677848/Hellforces.part14.rar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-4930710246712330783?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/4930710246712330783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/hellforces-iso-pc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/4930710246712330783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/4930710246712330783'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/hellforces-iso-pc.html' title='Hellforces iSO (PC)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-1093650614372846105</id><published>2009-02-03T11:38:00.000-08:00</published><updated>2009-02-03T11:39:28.936-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Top Spin 2 iSO (PC)</title><content type='html'>http://rapidshare.com/files/41547681/rld-tsp2.part01.rar&lt;br /&gt;http://rapidshare.com/files/41550049/rld-tsp2.part02.rar&lt;br /&gt;http://rapidshare.com/files/41555570/rld-tsp2.part03.rar&lt;br /&gt;http://rapidshare.com/files/41558003/rld-tsp2.part04.rar&lt;br /&gt;http://rapidshare.com/files/41560385/rld-tsp2.part05.rar&lt;br /&gt;http://rapidshare.com/files/41562899/rld-tsp2.part06.rar&lt;br /&gt;http://rapidshare.com/files/41565282/rld-tsp2.part07.rar&lt;br /&gt;http://rapidshare.com/files/41567626/rld-tsp2.part08.rar&lt;br /&gt;http://rapidshare.com/files/41569906/rld-tsp2.part09.rar&lt;br /&gt;http://rapidshare.com/files/41572036/rld-tsp2.part10.rar&lt;br /&gt;http://rapidshare.com/files/41574330/rld-tsp2.part11.rar&lt;br /&gt;http://rapidshare.com/files/41576865/rld-tsp2.part12.rar&lt;br /&gt;http://rapidshare.com/files/41579434/rld-tsp2.part13.rar&lt;br /&gt;http://rapidshare.com/files/41581649/rld-tsp2.part14.rar&lt;br /&gt;http://rapidshare.com/files/41583927/rld-tsp2.part15.rar&lt;br /&gt;http://rapidshare.com/files/41586504/rld-tsp2.part16.rar&lt;br /&gt;http://rapidshare.com/files/41588752/rld-tsp2.part17.rar&lt;br /&gt;http://rapidshare.com/files/41590974/rld-tsp2.part18.rar&lt;br /&gt;http://rapidshare.com/files/41593283/rld-tsp2.part19.rar&lt;br /&gt;http://rapidshare.com/files/41595643/rld-tsp2.part20.rar&lt;br /&gt;http://rapidshare.com/files/41597879/rld-tsp2.part21.rar&lt;br /&gt;http://rapidshare.com/files/41600059/rld-tsp2.part22.rar&lt;br /&gt;http://rapidshare.com/files/41602435/rld-tsp2.part23.rar&lt;br /&gt;http://rapidshare.com/files/41604620/rld-tsp2.part24.rar&lt;br /&gt;http://rapidshare.com/files/41607238/rld-tsp2.part25.rar&lt;br /&gt;http://rapidshare.com/files/41609578/rld-tsp2.part26.rar&lt;br /&gt;http://rapidshare.com/files/41611999/rld-tsp2.part27.rar&lt;br /&gt;http://rapidshare.com/files/41696375/rld-tsp2.part28.rar&lt;br /&gt;http://rapidshare.com/files/41698818/rld-tsp2.part29.rar&lt;br /&gt;http://rapidshare.com/files/41701123/rld-tsp2.part30.rar&lt;br /&gt;http://rapidshare.com/files/41703775/rld-tsp2.part31.rar&lt;br /&gt;http://rapidshare.com/files/41706313/rld-tsp2.part32.rar&lt;br /&gt;http://rapidshare.com/files/41708575/rld-tsp2.part33.rar&lt;br /&gt;http://rapidshare.com/files/41694067/rld-tsp2.part34.rar&lt;br /&gt;http://rapidshare.com/files/41545200/rld-tsp2.part35.rar&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;pass: naive@shareax.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-1093650614372846105?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/1093650614372846105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/top-spin-2-iso-pc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1093650614372846105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1093650614372846105'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/top-spin-2-iso-pc.html' title='Top Spin 2 iSO (PC)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-158330281013806557</id><published>2009-02-03T11:37:00.000-08:00</published><updated>2009-02-03T11:38:19.824-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Winning Eleven 2007 iSO (Pc)</title><content type='html'>http://rapidshare.com/files/25466492/WWW.THEHANGOUTS.COM-geometry.part01.rar&lt;br /&gt;http://rapidshare.com/files/25466848/WWW.THEHANGOUTS.COM-geometry.part02.rar&lt;br /&gt;http://rapidshare.com/files/25467207/WWW.THEHANGOUTS.COM-geometry.part03.rar&lt;br /&gt;http://rapidshare.com/files/25467668/WWW.THEHANGOUTS.COM-geometry.part04.rar&lt;br /&gt;http://rapidshare.com/files/25468252/WWW.THEHANGOUTS.COM-geometry.part05.rar&lt;br /&gt;http://rapidshare.com/files/25468493/WWW.THEHANGOUTS.COM-geometry.part06.rar&lt;br /&gt;http://rapidshare.com/files/25468719/WWW.THEHANGOUTS.COM-geometry.part07.rar&lt;br /&gt;http://rapidshare.com/files/25468979/WWW.THEHANGOUTS.COM-geometry.part08.rar&lt;br /&gt;http://rapidshare.com/files/25469332/WWW.THEHANGOUTS.COM-geometry.part09.rar&lt;br /&gt;http://rapidshare.com/files/25469604/WWW.THEHANGOUTS.COM-geometry.part10.rar&lt;br /&gt;http://rapidshare.com/files/25469892/WWW.THEHANGOUTS.COM-geometry.part11.rar&lt;br /&gt;http://rapidshare.com/files/25470201/WWW.THEHANGOUTS.COM-geometry.part12.rar&lt;br /&gt;http://rapidshare.com/files/25470513/WWW.THEHANGOUTS.COM-geometry.part13.rar&lt;br /&gt;http://rapidshare.com/files/25470854/WWW.THEHANGOUTS.COM-geometry.part14.rar&lt;br /&gt;http://rapidshare.com/files/25471180/WWW.THEHANGOUTS.COM-geometry.part15.rar&lt;br /&gt;http://rapidshare.com/files/25471478/WWW.THEHANGOUTS.COM-geometry.part16.rar&lt;br /&gt;http://rapidshare.com/files/25471798/WWW.THEHANGOUTS.COM-geometry.part17.rar&lt;br /&gt;http://rapidshare.com/files/25472119/WWW.THEHANGOUTS.COM-geometry.part18.rar&lt;br /&gt;http://rapidshare.com/files/25472405/WWW.THEHANGOUTS.COM-geometry.part19.rar&lt;br /&gt;http://rapidshare.com/files/25472734/WWW.THEHANGOUTS.COM-geometry.part20.rar&lt;br /&gt;http://rapidshare.com/files/25473024/WWW.THEHANGOUTS.COM-geometry.part21.rar&lt;br /&gt;http://rapidshare.com/files/25514673/WWW.THEHANGOUTS.COM-geometry.part22.rar&lt;br /&gt;http://rapidshare.com/files/25515464/WWW.THEHANGOUTS.COM-geometry.part23.rar&lt;br /&gt;http://rapidshare.com/files/25516696/WWW.THEHANGOUTS.COM-geometry.part24.rar&lt;br /&gt;http://rapidshare.com/files/25517317/WWW.THEHANGOUTS.COM-geometry.part25.rar&lt;br /&gt;http://rapidshare.com/files/25519224/WWW.THEHANGOUTS.COM-geometry.part26.rar&lt;br /&gt;http://rapidshare.com/files/25520157/WWW.THEHANGOUTS.COM-geometry.part27.rar&lt;br /&gt;http://rapidshare.com/files/25520367/WWW.THEHANGOUTS.COM-geometry.part28.rar&lt;br /&gt;http://rapidshare.com/files/25520624/WWW.THEHANGOUTS.COM-geometry.part29.rar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-158330281013806557?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/158330281013806557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/winning-eleven-2007-iso-pc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/158330281013806557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/158330281013806557'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/winning-eleven-2007-iso-pc.html' title='Winning Eleven 2007 iSO (Pc)'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-1482499122723228927</id><published>2009-02-03T11:36:00.000-08:00</published><updated>2009-02-03T11:37:29.918-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Strike Fighters Project 1 free downlaod</title><content type='html'>http://rapidshare.com/files/44288842/sfp1.part01.rar&lt;br /&gt;http://rapidshare.com/files/44290552/sfp1.part02.rar&lt;br /&gt;http://rapidshare.com/files/44292535/sfp1.part03.rar&lt;br /&gt;http://rapidshare.com/files/44294945/sfp1.part04.rar&lt;br /&gt;http://rapidshare.com/files/44297613/sfp1.part05.rar&lt;br /&gt;http://rapidshare.com/files/44299535/sfp1.part06.rar&lt;br /&gt;http://rapidshare.com/files/44302560/sfp1.part07.rar&lt;br /&gt;http://rapidshare.com/files/44667982/sfp1.part08.rar&lt;br /&gt;http://rapidshare.com/files/44876729/sfp1.part09.rar&lt;br /&gt;http://rapidshare.com/files/44884238/sfp1.part10.rar&lt;br /&gt;http://rapidshare.com/files/44894744/sfp1.part11.rar&lt;br /&gt;http://rapidshare.com/files/45075718/sfp1.part12.rar&lt;br /&gt;http://rapidshare.com/files/44687610/sfp1.part13.rar&lt;br /&gt;http://rapidshare.com/files/44287033/sfp1.part14.rar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-1482499122723228927?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/1482499122723228927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/strike-fighters-project-1-free-downlaod.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1482499122723228927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1482499122723228927'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/strike-fighters-project-1-free-downlaod.html' title='Strike Fighters Project 1 free downlaod'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-8528286071014553985</id><published>2009-02-03T11:31:00.000-08:00</published><updated>2009-02-03T11:36:30.076-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Tiger Woods PGA Tour 08</title><content type='html'>http://rapidshare.com/files/51969680/tw-g08-janodj.part01.rar&lt;br /&gt;http://rapidshare.com/files/51971966/tw-g08-janodj.part02.rar&lt;br /&gt;http://rapidshare.com/files/51978052/tw-g08-janodj.part03.rar&lt;br /&gt;http://rapidshare.com/files/51981028/tw-g08-janodj.part04.rar&lt;br /&gt;http://rapidshare.com/files/51984172/tw-g08-janodj.part05.rar&lt;br /&gt;http://rapidshare.com/files/51987392/tw-g08-janodj.part06.rar&lt;br /&gt;http://rapidshare.com/files/51991043/tw-g08-janodj.part07.rar&lt;br /&gt;http://rapidshare.com/files/51994756/tw-g08-janodj.part08.rar&lt;br /&gt;http://rapidshare.com/files/51998949/tw-g08-janodj.part09.rar&lt;br /&gt;http://rapidshare.com/files/52002721/tw-g08-janodj.part10.rar&lt;br /&gt;http://rapidshare.com/files/52007013/tw-g08-janodj.part11.rar&lt;br /&gt;http://rapidshare.com/files/52011019/tw-g08-janodj.part12.rar&lt;br /&gt;http://rapidshare.com/files/52015342/tw-g08-janodj.part13.rar&lt;br /&gt;http://rapidshare.com/files/52019556/tw-g08-janodj.part14.rar&lt;br /&gt;http://rapidshare.com/files/52020797/tw-g08-janodj.part15.rar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-8528286071014553985?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/8528286071014553985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/tiger-woods-pga-tour-08.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8528286071014553985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8528286071014553985'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/tiger-woods-pga-tour-08.html' title='Tiger Woods PGA Tour 08'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-8385667783375326315</id><published>2009-02-03T08:53:00.002-08:00</published><updated>2009-02-03T08:54:23.407-08:00</updated><title type='text'>Families Meet Children In-Person or by Videoconference at Adoption Event</title><content type='html'>Prospective adoptive families will have an opportunity to meet approximately 20 children, each with the hope of finding a permanent family, at an adoption gathering to be held on Saturday, February 7, from 9 a.m. to 12:30 p.m. at the Gainesville Civic Center.&lt;br /&gt;&lt;br /&gt;This event, sponsored by the Georgia Department of Human Resources Division of Family and Children Services (DFCS), will give prospective adoptive parents a unique opportunity to meet the children in a comfortable, fun-filled environment. Families who are unable to attend the gathering in Gainesville can still interact with this same group of children via video on Saturday, February 7, from 10 a.m. to noon. Videoconference sites will be set up at Armstrong Atlantic State University in Savannah, Brown &amp; Gallo in Atlanta and Augusta, Columbus State University, Macon State College and Valdosta State University.&lt;br /&gt;&lt;br /&gt;"These events are dedicated to the children who attend; to help them feel comfortable and have fun," said Mark Washington, assistant commissioner of DHR. "This eases the emotions these children experience when meeting prospective adoptive families. To make this event easier for the adults, we are asking the prospective adoptive families to arrive at the gathering at 9 a.m., a full hour before the children and their case managers arrive, so we can walk them through the event and make it more comfortable for them as well."&lt;br /&gt;&lt;br /&gt;There are approximately 2,200 children in Georgia who need adoptive families. They are typically eight years old and older, African American and/or a member of a sibling group being placed together.&lt;br /&gt;&lt;br /&gt;Families interested in adopting older children or learning more about the program are encouraged to attend either the event in Gainesville or one of the videoconference sites. To avoid confusion, only children in need of adoptive families should attend the adoption gathering. Families who plan to attend one of the videoconference sites are more than welcome to bring their children.&lt;br /&gt;&lt;br /&gt;For more information, call toll-free 877- 242-5774 or visit the Department of Human Resources website at www.dfcs.dhr.georgia.gov/adoptions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-8385667783375326315?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/8385667783375326315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/families-meet-children-in-person-or-by.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8385667783375326315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8385667783375326315'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/families-meet-children-in-person-or-by.html' title='Families Meet Children In-Person or by Videoconference at Adoption Event'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-315923760681182841</id><published>2009-02-03T08:53:00.001-08:00</published><updated>2009-02-03T08:53:41.327-08:00</updated><title type='text'>New Medical Air Transportation Program to Assist Southeast Patients</title><content type='html'>/PRNewswire-USNewswire/ -- Patients and families caught in a health crisis requiring distant travel can find assistance through a new program called Airlift Hope Southeast. Airlift Hope Southeast is a 501(c)(3) nonprofit organization that offers charitable and charitably-assisted medical air transportation options in Alabama, Florida, Georgia, Mississippi, North Carolina, South Carolina and Tennessee.&lt;br /&gt;&lt;br /&gt;By dialing 770-320-0172, callers can receive a free consultation from resource specialists matching needs with appropriate travel programs. Patients, families, case workers, and health care professionals calling for help will be triaged and referred to one of three modes of transport, depending on the need. This includes air ambulance for non-ambulatory patients, charitable airline tickets, or transport in light aircraft flown by volunteer pilots.&lt;br /&gt;&lt;br /&gt;Airlift Hope Southeast functions as a regional arm of Mercy Medical Airlift (MMA). This partnership ensures good stewardship and quality of services. MMA is the nation's largest and oldest national nonprofit organization facilitating charitable medical air transportation, and has received Charity Navigator's highest four-star rating for six consecutive years.&lt;br /&gt;&lt;br /&gt;Airlift Hope Southeast's mission is, "To ensure that no patient is denied access to distant, specialized medical evaluation, diagnosis or treatment for lack of a means of long-distance medical air transportation; and to ensure that emergency air transportation needs are met in times of personal or community disaster, either natural or man-made."&lt;br /&gt;&lt;br /&gt;In addition to helping patients, Airlift Hope Southeast serves as the conduit for coordination with HSEATS(R) (Homeland Security Emergency Air Transportation System) and its response to natural or man-made disasters on southeastern and southern U.S. coasts. HSEATS completed over 2,600 flights in support of Katrina disaster relief efforts in 2005.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-315923760681182841?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/315923760681182841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/new-medical-air-transportation-program.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/315923760681182841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/315923760681182841'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/new-medical-air-transportation-program.html' title='New Medical Air Transportation Program to Assist Southeast Patients'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-8245424578917640149</id><published>2009-02-03T08:52:00.002-08:00</published><updated>2009-02-03T08:53:23.470-08:00</updated><title type='text'>February 7 is National Black HIV/AIDS Awareness Day</title><content type='html'>The Georgia Department of Human Resources Division of Public Health is urging Georgia’s African-American population to get tested for HIV and know their status on February 7: National Black HIV/AIDS Awareness Day (NBHAAD). While they make up only 30 percent of the state’s population, African-Americans accounted for 78 percent of the HIV cases diagnosed and 71 percent of those living with HIV/AIDS in 2007.&lt;br /&gt;&lt;br /&gt;“While National Black HIV/AIDS Awareness Day is specific to the African-American community, we encourage each individual who does not know their status to go out and get tested,” said Dr. Sandra Elizabeth Ford, acting director of the Division of Public Health (DPH). “The HIV/AIDS epidemic still remains a crisis for the African-American community, especially in Georgia. However, we can help reduce this burden by promoting the importance of early detection and ensuring that those who are infected get the necessary treatment.”&lt;br /&gt;&lt;br /&gt;The African-American population accounts for more than 49 percent of the nation’s AIDS cases but make up only 13 percent of the U.S. population. AIDS is now the leading cause of death for African-American women aged 25 to 34, and the second leading cause of death for African-American men aged 35 to 44. Early testing and diagnosis, as well as disease management, are critical to help reduce the burden HIV/AIDS has on the African-American community.&lt;br /&gt;&lt;br /&gt;Individuals should also take precautions to help reduce the transmission of HIV/AIDS. To decrease the chances of becoming infected with the disease, the Division of Public Health recommends the following:&lt;br /&gt;&lt;br /&gt;Abstain from sex unless in a relationship with only one person whose HIV status is known to you.&lt;br /&gt;If you have, or plan to have, more than one sex partner, use a latex condom and lubricant every time you have sex.&lt;br /&gt;Do not inject illicit drugs. If you do, use only clean needles and syringes and never share them or use others.&lt;br /&gt;In 2007, DPH received more than $1.9 million from the Centers for Disease Control and Prevention (CDC) to increase testing and early diagnosis of HIV among African-Americans. With the CDC’s awards, the agency was able to increase HIV testing and counseling primarily in clinical settings such as emergency rooms and federally qualified health centers. From 2003 to 2008, HIV counseling and testing numbers among Georgians have increased an average of 15 percent per year.&lt;br /&gt;&lt;br /&gt;Last year, DPH launched a social marketing campaign called “HERstory” specifically targeting HIV prevention, HIV counseling and testing, and treatment services for African-American women in Georgia. In addition, DPH supports a number of evidence-based, behavioral interventions throughout the state that target other high risk populations, including African-American MSM (men who have sex with men).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-8245424578917640149?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/8245424578917640149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/february-7-is-national-black-hivaids.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8245424578917640149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8245424578917640149'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/february-7-is-national-black-hivaids.html' title='February 7 is National Black HIV/AIDS Awareness Day'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-9087023551267962979</id><published>2009-02-03T08:52:00.001-08:00</published><updated>2009-02-03T08:52:41.240-08:00</updated><title type='text'>Proposed State Aid To Municipalities</title><content type='html'>Governor Jon Corzine’s proposed 2009 New Jersey state budget calls for cuts to municipal property tax relief based on population.&lt;br /&gt;&lt;br /&gt;Municipalities with populations of less than 5,000 would receive no municipal property tax relief from the state. Those with populations greater than 5,000 but less than 10,000 would have municipal aid cut in half. The remaining municipalities with populations greater than 10,000 would have their state aid reduced to the amounts received in 2006-07 budget.&lt;br /&gt;&lt;br /&gt;Department of Community Affairs Commissioner Joseph Doria said. "The incentives are we have the grants for shared services and working toward consolidation. That's the carrot. The stick is not receiving the aid." The Governor proposes $32 million for this purpose.&lt;br /&gt;&lt;br /&gt;A fair way to allocate municipal property tax relief would be to grant the aid on a per person basis and let the chips fall where they may. The new aid formula takes inequity to a new level. Many of the numbers are jaw dropping, even by New Jersey standards.&lt;br /&gt;&lt;br /&gt;Update: We have posted the municipal aid information for every town, including actual state aid for 2007, 2008 and proposed 2009 aid based on the new guidelines. You’ll also be able to compare municipal aid per person for every municipality.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-9087023551267962979?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/9087023551267962979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/proposed-state-aid-to-municipalities.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/9087023551267962979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/9087023551267962979'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/proposed-state-aid-to-municipalities.html' title='Proposed State Aid To Municipalities'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-6693840414937661719</id><published>2009-02-03T08:51:00.000-08:00</published><updated>2009-02-03T08:52:21.535-08:00</updated><title type='text'>“Progressive” Democrats Target Small-Town America</title><content type='html'>Has anyone else noticed a pattern of “progressive” Democrats venting their frustrations on small-town people?&lt;br /&gt;&lt;br /&gt;Gov. Jon Corzine has targeted small towns with a grossly unfair school aid funding formula and the reduction or total elimination of municipal aid. Corzine claims the state of New Jersey just can’t afford small towns any more.&lt;br /&gt;&lt;br /&gt;Presidential candidate Barack Obama tells his San Francisco supporters that small-town people in Pennsylvania are “bitter, they cling to guns or religion or antipathy to people who aren’t like them or anti-immigrant sentiment”.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-6693840414937661719?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/6693840414937661719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/progressive-democrats-target-small-town.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/6693840414937661719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/6693840414937661719'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/progressive-democrats-target-small-town.html' title='“Progressive” Democrats Target Small-Town America'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-8930629329649627953</id><published>2009-02-03T08:50:00.002-08:00</published><updated>2009-02-03T08:51:23.529-08:00</updated><title type='text'>Benefits of Yoga</title><content type='html'>If you're not doing yoga yet, you should start now! According to Hema Sundaram, MD, a Washington, D.C.-area dermatologist and cosmetic surgeon, yoga fights wrinkles by combating the free radicals and stress that cause them. Plus it stretches and tones your muscles, giving you that lengthened, leaner look and better posture too. If you stand and walk tall you can look years younger, says Sundaram.&lt;br /&gt;&lt;br /&gt;Here are some routines you want to try:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. Cat-and-Cow(for flexibility)&lt;br /&gt;Begin on hands and knees with hands directly under shoulder, fingers spread and pointing forward and knees directly under hips. Inhale; lift chest and sitting bones, while letting belly drop. Exhale to drop tailbone, chest and head while pulling belly up toward spine, creating a rounded shape; that's 1 rep. Do up to 3 sets of 10 reps.&lt;br /&gt;&lt;br /&gt;2. Dolphin (for increased blood flow and upper-body strength)&lt;br /&gt;Place elbows on floor shoulder-distance apart and interlace fingers. Press forearms and hands into floor. Curl toes under, and lift hips up and back to create a long line between elbows and sitting bones. Press heels toward floor, using thigh muscles to draw body backward. Relax your head, and hold for 5-15 breaths. Repeat up to 3 times.&lt;br /&gt;&lt;br /&gt;3. Extended Side Angle (for posture, limb-lengthening, allover toning)&lt;br /&gt;Stand with feet 4 feet apart. Inhale ; lift arms out to sides. Exhale as front knee bends to 90 degrees. Place right finger tips on floor by inside of right foot, while reaching left fingertips toward ceiling and rotating chest up. Hold for 5-15 breaths; repeat up to 3 times.&lt;br /&gt;&lt;br /&gt;4. Boat (for core strength, posture)&lt;br /&gt;Sit with knees bent and feet flat. Keeping chest lifted,place hands beneath knees, squeeze legs together, and use core strength to lift and straighten legs so body is in shape of a boat's prow, toes and eyes on the same level. Extend arms out straight; hold for 5-15 breaths. Repeat up to 3 times.&lt;br /&gt;&lt;br /&gt;5. Camel (for posture)&lt;br /&gt;Kneel upright with knees hip-distance apart, abs firm and tailbone dropped. Place hands on either side of base of spine, fingers pointing up. Draw elbows and shoulders together behind you, then lift chest and slowly bend backward. The bend should happen in your upper back, not your lower back. Hold for 5-15 breaths; repeat up to 3 times.&lt;br /&gt;&lt;br /&gt;6. Child's Pose (for de-stressing, renewal, energy)&lt;br /&gt;From camel, sit back on your heels as you bring your feet together. Keep your knees hip-distance apart as you relax your body forward and down. Rest your forehead on the floor and close your eyes, arms at your sides or stretch forward (shoulder-width apart). Hold for 20-30 breaths.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-8930629329649627953?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/8930629329649627953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/benefits-of-yoga.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8930629329649627953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8930629329649627953'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/benefits-of-yoga.html' title='Benefits of Yoga'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-4501988674802774398</id><published>2009-02-03T08:50:00.001-08:00</published><updated>2009-02-03T08:50:35.331-08:00</updated><title type='text'>My Hubby's Dinner</title><content type='html'>Hubby is very conscious when it comes to his health or should I say weight. As a military they have to maintain their weight limit. So every time I prepare food for him, I make sure that it is good for him or he won't eat it. Last night I made him a chicken burrito's and scrambled egg with a twists. I made his chicken burritos from scratch. I got the recipe from Weight Watchers , that's why I know it is good for him. I just boiled some chicken breasts, once it's done I shredded them. I added a little bit of lemon and shredded cheese. That's it no salt or any seasoning to it. I used tortilla to wrapped the chicken. Plain and simple plus it is very easy to make. I made him a scrambled egg too. I saute the onions and tomatoes first then I add the eggs substitute. I also added one egg, salt and pepper to taste. That's it my hubby's dinner is ready! :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-4501988674802774398?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/4501988674802774398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/my-hubbys-dinner.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/4501988674802774398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/4501988674802774398'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/my-hubbys-dinner.html' title='My Hubby&apos;s Dinner'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-305131484326964821</id><published>2009-02-03T08:49:00.003-08:00</published><updated>2009-02-03T08:49:49.421-08:00</updated><title type='text'>Living a Healthier Life</title><content type='html'>Have you heard the word phyto before? Are you a health conscious person? If you are then pay attention and continue reading about this post. I have learned about the word phyto from the website that explain and expose us about living a phyto life. The website it self is called phytolife.com. What is phyto and how it can help us living a more healthy lifestyle? Let us start from finding what phyto means. Phyto is pertaining to or derived from plants. There is what we called phytonutrients which means this are plant based nutrients. According to their website phytonutrients are the most important ingredients in our diet. These nutrients may help boost immunity, promote eye health and provide antioxidant protection. It may even slowing the aging process, help human cells stay healthy and also protecting the heart against any disease. In order for us to make sure we are getting enough phytonutrients we should conserved a minimum of three servings of vegetables and two servings of fruit each day. There are different types of photonutrients if you want to know them check out www.phytolife.com.&lt;br /&gt;&lt;br /&gt;Now let us talk about the recipe you might want to try. Phytolife.com have the salad recipes that just not looks appetizing it has a good nutritional value to it also, which means it is super healthy. If you are familiar to fresh express salad package you can use that to create their recipes. They have a Fresh Express Tender Ruby and Reds and Sweet Tender Greens that you can use to get those phytonutrients you need.&lt;br /&gt;&lt;br /&gt;Learn more about phytonutrients and its benefits from the phytoexperts Elizabeth Somer RD and Phil Lempert. Visit phytolife.com for more information regarding phytonutrients and where you can get it. Also check their recipes that you might want to for your phytonutrients source.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-305131484326964821?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/305131484326964821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/living-healthier-life.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/305131484326964821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/305131484326964821'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/living-healthier-life.html' title='Living a Healthier Life'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-6048691106806263377</id><published>2009-02-03T08:49:00.001-08:00</published><updated>2009-02-03T08:49:27.633-08:00</updated><title type='text'>Eat Peach</title><content type='html'>We all know that eating fruits and vegetables are good for our body. It also shows in a recent studies that consuming fruits and vegetables will make our body's pH more alkaline because of high potassium contents. Peaches is a potassium-rich produce that gives muscles what they need to stay toned and healthy. When our diet consists of heavily proteins and grains it can cause blood to become acidic. This can result in muscle tissue wasting away. We have to make sure that our diet is balanced and don't go overboard on one type of food.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-6048691106806263377?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/6048691106806263377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/eat-peach.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/6048691106806263377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/6048691106806263377'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/eat-peach.html' title='Eat Peach'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-5283703759165868844</id><published>2009-02-03T08:48:00.004-08:00</published><updated>2009-02-03T08:49:03.697-08:00</updated><title type='text'>Acne Problem and Treatment</title><content type='html'>How many of you suffer from acne or someone you know suffer from this condition? I think the most common problem that most of us facing is Acne. When I watched my favorite show today they talked about acne. The dermatologist mentioned about different kinds of acne that most of us have missed conception. He said there are a lot of kinds of acne and knowing what kind of acne we have is the easy step to find a solution to treat our acne. While a lot of us still searching for the right products for us some are still have problems it's either it didn't work or they don't know how to apply it. A lot of products out there are confusing to use. Unlike Acne Complex it has three easy simple steps. These product was formulated by world-renowned dermatologist Dr. Howard Murad. Maybe some of you already seen their infomercial on TV. They have a challenge that you might want to try. What are you waiting for take the clear skin challenge they have now. If you want more information regarding Murad Acne please visit their website at www.acnecomplex.com. Read some real stories of real people who tried their products and see the result for yourself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-5283703759165868844?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/5283703759165868844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/acne-problem-and-treatment.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/5283703759165868844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/5283703759165868844'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/acne-problem-and-treatment.html' title='Acne Problem and Treatment'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-1562297205278308140</id><published>2009-02-03T08:48:00.003-08:00</published><updated>2009-02-03T08:48:46.286-08:00</updated><title type='text'>Peanut Butter</title><content type='html'>Let us talk about peanut first. Peanut actually is a legumes not a nut contrary to its name. When it comes to health benefits peanut butter is considered a healthy food. However obese people should avoid consuming large amount of peanut butter because majority of its calories comes from fats. Just use the one that is raw peanut butter (less refined) it is better than refined. It retains many beneficial nutrients found in skin. The total calorie content in 100 grams of peanut butter is 589 Cal. Placing it among most caloric foods in the typical American kitchen. However most of peanut butter fats contained is monounsaturated. These kind of fats have been shown to improve the cholesterol profile by lowering LDL cholesterol (bad cholesterol). Peanut butter containing polyunsaturated fats help raising the HDL cholesterol (good cholesterol) the synergistic effect makes this spread a very good cholesterol regulator.&lt;br /&gt;&lt;br /&gt;In a study involving 22 subjects, high monounsaturated diet that emphasized peanuts and peanut butter decrease the risk of cardiovascular diseases by 21% compared to the average American diet. Want to know more information about peanut butter's benefit please read here.&lt;br /&gt;&lt;br /&gt;Unfortunately Salmonella strikes again but this time you can get from peanut butter. Yes how sad is that? In American culture peanut butter and jelly sandwich is popular. Even peanut butter crackers or just eating the plain peanut butter itself. My husband is one of those people that consumed peanut butter everyday. Now that they recalled peanut butter due to salmonella what can you do but to stop eating it for a while. There are a lot of news talked about the peanut butter and all the products that has peanut butter to it had been recalled. Read the news about recalled products here. Read the news about salmonella&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-1562297205278308140?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/1562297205278308140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/peanut-butter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1562297205278308140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/1562297205278308140'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/peanut-butter.html' title='Peanut Butter'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-8210867746843904562</id><published>2009-02-03T08:48:00.001-08:00</published><updated>2009-02-03T08:48:21.643-08:00</updated><title type='text'>Energy First</title><content type='html'>My hubby is been taking protein shakes for a long time. He said it is a meal replacement. He is taking it before he goes to gym and at night for his dinner. Maybe you are wondering why. For your information, my hubby is on a strict diet because he is in the Army he needs to be in shape. That is why he goes to gym any free time he has and when it comes to his food he eats chicken, vegetables, fruits and of course his protein shakes. When he is making his protein shakes he adds fruits to it like strawberries, blueberries, banana and peanut butter. These are the stuffs he use so he doesn't get bored of using just one ingredient. He usually alternate these foods everyday. For example if he used strawberries tonight, tomorrow night he will use blueberries then the next night is banana and peanut butter. With these fruits he used different protein shakes. He used whey protein isolate vanilla when he wants banana and peanut butter to it. Sometimes he also used protein blend and he adds blueberries or strawberries to it. For my husband case he used protein shakes to maintain his muscle mass and help grow his muscle.&lt;br /&gt;&lt;br /&gt;If you are interested to learn more about the health benefits of taking protein shakes you can visit www.energyfirst.com. They even have the protein shake recipes that you might want to try. Energy first is one of the country's leading providers of quality nutrition supplements and cutting-edge health education. Check out the successful stories of some people who took advantage of energy first program guidelines and their products. What are you waiting for check out their website and learn about balanced nutrition&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-8210867746843904562?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/8210867746843904562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/energy-first.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8210867746843904562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8210867746843904562'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/energy-first.html' title='Energy First'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-8975344365606903695</id><published>2009-02-03T08:47:00.003-08:00</published><updated>2009-02-03T08:47:57.444-08:00</updated><title type='text'>Good Food after Intense Workouts</title><content type='html'>Do you know that a bowl of cereal is a better food to eat to rebuild those muscle after an intense workouts? Although sports drinks are convenient, the whole-food post-workout snack proved to be the better choice. According to a research presented at the 54th annual meeting of the American College of Sports Medicine in New Orleans revealed eating whole wheat cereal with nonfat milk may be better for recovery after exercise compared to a sports drink. The result shows that cereal snack raised insulin significantly higher, had a better protein synthesis and created additional glycogen storage potential. The combination of protein and carb of the cereal plus milk helped to rebuild the damaged muscle tissue after an intense workouts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-8975344365606903695?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/8975344365606903695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/good-food-after-intense-workouts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8975344365606903695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/8975344365606903695'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/good-food-after-intense-workouts.html' title='Good Food after Intense Workouts'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7996129518306361344.post-610989298066103214</id><published>2009-02-03T08:47:00.001-08:00</published><updated>2009-02-03T08:47:37.176-08:00</updated><title type='text'>West Coast Saunas</title><content type='html'>Have you heard about infrared saunas? They featured about it and its benefits in FOX NEWS. It was incredible what can it do to our health and also it helps those people who want to loose weight. You will lose weight and be healthy at the same time who doesn't want that? What if I tell you that you can have infrared sauna in your own home? I bet you will like that too. People who likes to go to sauna salon, spending time there will be delighted to this news. Think about it why would you spend time away from home if you can have it in your own home. You can use it whenever you want and you don't have to share it with strangers.&lt;br /&gt;&lt;br /&gt;Let's us talk about far infrared saunas and why it is better than conventional sauna. A conventional steam sauna relies only on indirect heat, which means your skin absorb the heat out of the surrounding air. Unlike far infrared heat it uses a Carbon Wave 360 Panels, leaving over 80% available to be directly converted heat within our bodies. The far infrared heat directly penetrates the body's tissues to a depth of over 1 ½ inches. This will soothe and relax your muscle naturally and safely. Want to know more about far infrared saunas? Just visit there website at www.westcoastsaunas.com&lt;br /&gt;&lt;br /&gt;Here are the benefits of Infrared Saunas. This will assist and/or alleviate symptoms of the following:&lt;br /&gt;&lt;br /&gt;*Pain Relief&lt;br /&gt;*Weight Loss&lt;br /&gt;*Increases Extensibility of Collagen Tissue&lt;br /&gt;*Joint Stiffness&lt;br /&gt;*Increases Blood Flow&lt;br /&gt;*Menopausal Symptoms&lt;br /&gt;*Detoxification of the Body&lt;br /&gt;&lt;br /&gt;Find out more of the health benefits of far infrared saunas in their website. Create your own personal retreat that you can share with your family and friends. Stay healthy and lose weight at the same time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7996129518306361344-610989298066103214?l=sayingblogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sayingblogs.blogspot.com/feeds/610989298066103214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/west-coast-saunas.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/610989298066103214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7996129518306361344/posts/default/610989298066103214'/><link rel='alternate' type='text/html' href='http://sayingblogs.blogspot.com/2009/02/west-coast-saunas.html' title='West Coast Saunas'/><author><name>Atezaz</name><uri>http://www.blogger.com/profile/06127225180851087760</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
