What is a program counter (PC)?

EnglishCreated with Sketch.
EnglishFrench
  • Join  Lenovo Pro Business Store

    Log In / Sign Up

    Learn More

  • Accessibility
  • Sales:

    Home:

    1-855-253-6686 Option #2

    Business:

    1-866-426-0911

    Chat Now >

    Visit Sales Support Page >


    Order Support:

    Order Lookup >

    Visit Order Support Page >

    Technical Support >

Lenovo
All
  • All
  • Laptops
  • Desktops
  • Workstations
  • Monitors
  • PC Accessories & Electronics
  • Tablets
  • Servers & Storage
  • Servers Accessories
  • Sign In / Create Account
    My Lenovo Account
    Keep track of your wishlist, orders, and rewards all in one place
    Sign In / Create Account
    Welcome Back!
    Access your order, subscriptions, saved carts, rewards balance, and profile
    View My Account
    Orders
    View & track your orders
    Rewards
    Earn & redeem Rewards
    Profile
    Edit name, password, and account settings
    Wishlist
    Manage a wishlist of your favorite products
    Products
    Manage your devices, accessories
    Product Registration
    Register your product and/or update your warranty dates
    Lenovo Family Hub
    Manage your family's orders all in one place
    Sign Out
  • My Lenovo Rewards
  • Cart
  • Products
  • Solutions
  • Services
  • Support
  • About Lenovo
  • Deals
  • Business
  • Student
  • Gaming
  • AI
  • Hybrid Cloud
  • Digital Workplace
  • Edge
  • Sustainability
  • TruScale
  • Solutions by Industry
  • Alliance Partners
  • Other Solutions
  • Resources
TEMPORARILY UNAVAILABLE
DISCONTINUED
Temporary Unavailable
Cooming Soon!
. Additional units will be charged at the non-eCoupon price. Purchase additional now
We're sorry, the maximum quantity you are able to buy at this amazing eCoupon price is
Sign in or Create an Account to Save Your Cart!
Sign in or Create an Account to Join Rewards
View Cart
Remove
Your cart is empty! Don’t miss out on the latest products and savings — find your next favorite laptop, PC, or accessory today.
item(s) in cart
Some items in your cart are no longer available. Please visit cart for more details.
has been deleted
Please review your cart as items have changed.
of
Contains Add-ons
Subtotal
Proceed to Checkout
Yes
No
Popular Searches
What are you looking for today ?
Trending
Recent Searches
Items
All
Cancel
Top Suggestions
View All >
Starting at
  • Black Friday in July! Limited-time Doorbusters + Free shipping!  Shop Now >

  • My Lenovo Rewards! Earn 3%-9% in Rewards to use on future purchases at Lenovo.com Join for Free >

  • Business Financing Available. Split payments from 4 to 52 weeks, options as low as 0% interest. See Details >

  • Shopping for a business? New Lenovo Pro members get $100 off first order of $1,000+, exclusive savings & 1:1 tech support. Learn More >

  • Lenovo Live with Deepi: Black Friday in July + exclusive offer revealed on 7/16 @ 7pm ET! Register Today >

Home > Glossary > What is a program counter (PC)?
Glossary Hero    
Learn More    
StarStar

Annual Sale

Lenovo Laptop SaleLenovo Laptop Sale

Laptop Deals

Desktop DealsDesktop Deals

Desktop Deals

Workstation DealsWorkstation Deals

Workstation Deals

ControllerController

Gaming PC & Accessory Deals

MouseMouse

PC Accessories & Electronics Deals

MonitorMonitor

Monitor Deals

Tablet and phoneTablet and phone

Tablets Deals

ServerServer

Server & Storage Deals

Discount tagDiscount tag

Clearance Sale


What is a program counter (PC)?

The program counter, also known as the instruction pointer or simply PC, is a fundamental component of a computer's central processing unit (CPU). It is a special register that keeps track of the memory address of the next instruction to be executed in a program.

Why is the program counter important?

The program counter is crucial because it allows the central processing unit (CPU) to fetch instructions from memory in a sequential manner. By keeping track of the current instruction's address, the program counter ensures that the CPU knows which instruction to fetch next.

How does the program counter work?

The program counter is incremented each time an instruction is fetched, so it always points to the address of the next instruction in memory. After the fetch, the program counter is updated to the address of the subsequent instruction, allowing the central processing unit (CPU) to continue executing the program.

Can the program counter be modified?

Yes, the program counter can be modified by certain instructions or events during program execution. For example, branching instructions can change the program counter to redirect the flow of execution to a different part of the program.

What happens when the program counter is modified?

When the program counter is modified, the central processing unit (CPU) will fetch the instruction from the new address specified by the modified program counter. This allows for non-sequential execution and enables features like loops, conditionals, and function calls in programming languages.

Is the program counter the same as a memory address?

No, the program counter is different from a memory address. The program counter points to the next instruction to be executed, whereas a memory address refers to a specific location in memory where data or instructions are stored.

Can the program counter go backwards?

In most cases, the program counter moves forward in a sequential manner. However, there are certain instructions, such as loops or jumps, that can cause the program counter to move backward or to a different location in memory.

What happens if the program counter points to an invalid address?

If the program counter points to an invalid address, it can lead to a program crash or an error. The central processing unit (CPU) may attempt to fetch an instruction from an invalid memory location, resulting in undefined behavior or an exception.

Does the program counter always start from the beginning of a program?

The initial value of the program counter depends on the specific architecture and design of the computer system. In most cases, the program counter is set to the memory address where the program's execution begins, but there are exceptions, such as interrupt handlers or operating system routines.

Can you manually change the program counter while a program is running?

In general, it is not recommended to manually change the program counter while a program is running. Modifying the program counter arbitrarily can lead to unpredictable behavior and potentially crash the program. However, certain debugging tools and low-level programming techniques allow for manual manipulation of the program counter.

How does the program counter relate to multitasking or context switching?

In multitasking operating systems, the program counter plays a crucial role in context switching between different tasks or processes. When the operating system switches from one task to another, it saves the current program counter for the current task and restores the program counter of the next task to resume execution.

Can the program counter be used for other purposes apart from instruction sequencing?

While the program counter's main purpose is to keep track of instruction sequencing, it can also be used for other purposes in some architectures. For example, in some systems, the program counter can be used as a general-purpose register for temporary storage or calculations.

What happens if the program counter gets corrupted or lost?

If the program counter gets corrupted or lost, the central processing unit (CPU) would lose track of the next instruction to execute, leading to a program malfunction or crash. The system would need to be reset or restarted to recover from such a situation.

Is the program counter specific to a particular programming language?

No, the program counter is not specific to a particular programming language. It is a low-level concept that exists at the hardware level in the central processing unit (CPU). Regardless of the programming language used, the CPU relies on the program counter to execute instructions.

How does the program counter handle function calls and returns?

When a function is called, the program counter stores the address of the instruction following the function call. This allows the central processing unit (CPU) to resume execution at the correct point after the function call is completed. When a function returns, the program counter is set to the stored address, enabling the CPU to continue executing the program from where it left off.

What happens if an instruction modifies the program counter incorrectly?

If an instruction modifies the program counter incorrectly, it can lead to program errors or unexpected behavior. For example, if an instruction sets the program counter to an invalid address or an unintended location, the central processing unit (CPU) may attempt to execute instructions from an unintended part of the program or even access unauthorized memory regions.

Can multiple program counters exist in a single central processing unit (CPU)?

In most general-purpose CPUs, there is typically a single program counter that keeps track of the next instruction to execute. However, there are specialized architectures, such as parallel processors or processors with multiple cores, where each core may have its own program counter.

Is the program counter visible to the programmer in high-level languages?

In high-level languages, the program counter is not directly visible or accessible to the programmer. Programmers work with abstractions provided by the language, such as functions, loops, and conditionals, without needing to manipulate the program counter explicitly.

How does the program counter handle branching instructions?

Branching instructions modify the program counter to redirect the flow of execution to a different part of the program. For example, when encountering a conditional statement, the program counter may be updated to jump to a specific instruction if a certain condition is met, or it may continue to the next instruction if the condition is false.

What is the role of the program counter in loops?

The program counter is vital in implementing loops. At the end of each iteration, the program counter is updated to go back to the beginning of the loop, allowing the instructions within the loop to be executed repeatedly until the loop condition is no longer satisfied.

How does the program counter interact with interrupts?

Interrupts are events that occur asynchronously during program execution, often triggered by external devices. When an interrupt occurs, the program counter is temporarily saved, and the central processing unit (CPU) jumps to an interrupt handler routine. After handling the interrupt, the program counter is restored to its original value, allowing the interrupted program to continue execution.

Looking for a Great Deal?
Shop Lenovo.com for great deals on A+ Education PCs, Accessories, Bundles and more.
Shop Deals Now

  • ThinkPad X9 15 Aura Edition (15ʺ Intel) Laptop
    Starting at
    $1,720.40
    Learn More
  • Legion 5i Gen 9 (16″ Intel) Gaming Laptop
    Starting at
    $1,709.99
    Learn More
  • Yoga 9i 2-in-1 Aura Edition (14″ Intel) Laptop
    Starting at
    $1,736.99
    Learn More
  • IdeaPad Pro 5 (16” AMD) Laptop
    Starting at
    $1,099.99
    Learn More
  • ThinkPad P1 Gen 7 (16″ Intel) Mobile Workstation
    Starting at
    $2,862.67
    Learn More
  • Shop
    • Student Deals
    • K-12 Student Laptops
    • Student Accessories
    • Laptops by Major
    Education resource
    Explore
    • What is STEM?
    • Best Laptops for College
    • Student & Teacher Discounts
    • Lenovo Sustainability Programs
    Education carry case

    Stem Articles
    See All STEM Articles
    • Online STEM Education

    • STEM Career Tips & Resources

    • Women in STEM

    • STEM Educator Training

    • STEM Grants & Funding

    • STEM Education: Coding for Kids

    • STEM Education: Robotics

    • STEM Education: Biotechnology

    • STEM Education: Sustainability

    • STEM Education: AI & ML

    While every effort has been made to ensure accuracy, this glossary is provided for reference purposes only and may contain errors or inaccuracies. It serves as a general resource for understanding commonly used terms and concepts. For precise information or assistance regarding our products, we recommend visiting our dedicated support site, where our team is readily available to address any questions or concerns you may have.

    Why Lenovo?

    Go Greener with Leno...

    Lenovo is committed to Smarter Climate Action with lower energy laptops, use of sustainable materials and packaging, and available CO2 Offset Services.
    Learn More
    pastel background

    Get It Now, Pay For ...

    Lenovo has multiple financing option: the Lenovo Credit Card, installment plans, and lease-to-own financing op...
    Learn More
    pastel background

    Productivity & Peace of Mind

    Stay productive with Premium Care Plus - 24/7 priority support and coverage against accidental damage. Power through your day with our Smart Performance and extended battery solutions.
    Learn More
    pastel background

    My Lenovo Rewards

    Get up to 9% back in Rewards credit on all purchases! Join or Sign In to start earning today.
    Learn More
    pastel background

    Assistance and Suppo...

    Chat with a trained professional who can help you find the right products, place or check on an order, or setup your Education laptop.
    Contact Us
    pastel background
    Enter email to receive Lenovo marketing and promotional emails. Review our Privacy Statement for more details.
    Please enter the correct email address!
    Email address is required
    • Facebook
    • Twitter
    • Youtube
    • Pinterest
    • TikTok
    • instagram
    Select Country / Region:
    Country
    AndroidIOS

    About Lenovo

    • Our Company
    • News
    • Investors Relations
    • Compliance
    • ESG
    • Product Recycling
    • Product Security
    • Product Recalls
    • Executive Briefing Center
    • Lenovo Cares
    • Careers
    • Formula 1 Partnership

    Products & Services

    • Laptops & Ultrabooks
    • Smarter AI for You
    • Desktop Computers
    • Workstations
    • Gaming
    • Tablets & Smart Devices
    • Servers, Storage, & Networking
    • Accessories & Software
    • Services & Warranty
    • Product FAQs
    • Deals
    • Lenovo Coupons
    • Preconfigured Products

    Shop By Industry

    • Small Business Solutions
    • Large Enterprise Solutions
    • Healthcare Solutions
    • Higher Education Solutions
    • Education Discounts
    • Discount Programs

    Resources

    • Lenovo Pro for Business
    • My Lenovo Rewards
    • Lenovo Financing
    • Customer Discounts
    • Affiliate Program
    • Affinity Program
    • Employee Purchase Program
    • Lenovo Partner Hub
    • Laptop Buying Guide
    • Where to Buy
    • Glossary

    Customer Support

    • Contact Us
    • Shopping Help
    • Return Policy
    • Shipping Information
    • Track my Order
    • Register a Product
    • Replacement Parts
    • Technical Support
    • Forums
    • Provide Feedback
    © 2025 Lenovo. All rights reserved.
    PrivacySite MapTerms of UseExternal Submission PolicySales terms and conditionsAnti-Slavery and Human Trafficking Statement
    Compare  ()
    x
    Call

    Need Help? Call: 

    1-855-253-6686 Option #2
    Select Your Store
    Add items to your cart?
    We've noticed that you've entered a different store. Do you want to add these items to your cart in the new store?
    No Yes. Add in Lenovo Pro