ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel
  • »
  • Technology»
  • Computers & Software»
  • Computer Hardware

Flag Register of 8085

Updated on July 31, 2015

Flag Register

Flag Register
Flag Register

The 8085 has 8 bit flag register specifying the status of the result generated in accumulator. The flag register contain status bits that indicates various status about the result generated. There are following flag bits used into the flag registers:

  • SF (Sign Flag)
  • ZF (Zero Flag)
  • AC (Auxiliary Carry Flag)
  • PF (Parity Flag)
  • CF (Carry Flag)

SIGN FLAG (SF): The sign flag indicates whether result generated is positive or negative. The sign flag is set to 1 whenever the result generated is negative. If the sign flag is set to 0 than the result generated is positive. The negative result sets the SF to 1. Generally the MSB is considered as the bit that indicates if the result is positive or negative. The MSB = 1 means the result is negative and if MSB=0 than the result is positive.

ZERO FLAG(ZF): The ZF indicates the result generated is zero or non-zero. If the result generated is zero than the Zero Flag is set to 1 else if the result is non-zero than the ZF=0.

AUXILIARY CARRY FLAG(AC): The Auxiliary Carry flag is set to 1 whenever there is a carry or borrow at nibble in the data. If the carry generated from 4th bit to 5th bit or borrow is taken from 5th bit to 4th bit than the Auxiliary Carry Flag is set to 1.

PARITY FLAG(PF): The Parity Flag is set to 1 when even parity of 1s into the result. The Parity Flag is reset to 0 when odd parity of 1s into the result.

  • If the number of 1s into the result is ODD than the parity flag is reset to 0.
  • If the number of 1s into the result is EVEN than the parity flag is set to 1.

CARRY FLAG(CF): The Carry flag is set to 1 whenever there is a carry from MSB or borrow to MSB.

Example

Here we will take a look at the examples that will explain how the flag bits are affected by the instruction execution.

SIGN FLAG:

Start

MVI A, 0F5H //... A = 1111 0101

MVI B, 03H //... B = 0000 0011

SUB B //... A = 1111 0010 = F2

HLT

So here the subtraction of 0F5H and 03H results into F2h. The MSB here in result is set to 1 so we can say the result is negative and SF=1. Although you might wonder 0F5h- 03h should be positive result but as the result of the subtraction has MSB=1, it is considered as arithmetically negative. Hence the SF=1. So in short the value of SF=MSB

ZERO FLAG(ZF): The zero flag is set to 1 whenever the result generated is equals to zero. Let's see an example of it.

START:

MVI A, 04h

MVI B, 04h

SUB B

HLT

The result generated is A-B (04-04) = 00h. Hence the zero flag is set to 1.

Auxiliary Carry: The Auxiliary Carry(AC) is set to 1 when the carry from nibble is generated. The following examples shows the example when AC is set:

START:

MVI A, 88h //... 1000 1000

MVI B, 39h //... 0011 1001

ADD B //... 1100 0001 Carry from 4th bit of result to 5th bit causes the AC=1

HLT

The above example shows that the carry is generated from 4th bit to 5th bit of result and that sets the AC of flag to 1.

PARITY FLAG: The parity flag is set to 1 whenever there is an even parity. The parity flag is set to 0 whenever there is the odd parity in result.

START:

MVI A, 02H

MVI B, 04H

ADD B

HLT

The answer of the instruction ADD B will be A=06h(0000 0110). The result contains 2(even) number of 1s in the result. That means the PF will be set to 1.

START:

MVI A, 12H

MVI B, 04H

ADD B

HLT

The answer of the instruction ADD B will be A=16h(0001 0110). Here the result contains the ODD(3) number of 1s in the result, so the PF=0.

CARRY FLAG: The carry flag is set to 1 whenever the MSB generates carry or borrow.

START:

MVI A, 88h // 1000 1000

MVI B, 99h // 1001 1001

ADD B //CF=1 0010 0001

HLT

The above example shows the carry generated at MSB and the CARRY FLAG is set to 1.

START:

MVI A,00h //.... 0000 0000

MVI B, 49h //.... 0100 1001

SUB B //CF=1 1011 0111

HLT

The example shows that the result generated has the borrow to MSB and sets the CF=1.

Comments

    0 of 8192 characters used
    Post Comment

    • profile image

      rani golhar 10 months ago

      It's really helpful..

    • profile image

      Dips 22 months ago

      Very helpful.Thanks!!!

    working

    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: "https://hubpages.com/privacy-policy#gdpr"

    Show Details
    Necessary
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
    Features
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Marketing
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Statistics
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)