element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Arduino
  • Products
  • More
Arduino
Arduino Forum what does this code do? trying to learn the basics
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Arduino to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Suggested Answer
  • Replies 19 replies
  • Answers 2 answers
  • Subscribers 396 subscribers
  • Views 1340 views
  • Users 0 members are here
  • help!!
  • help!
  • basic coding
  • novice
Related

what does this code do? trying to learn the basics

the_future
the_future over 9 years ago

i think i have a good idea of what this code does i was thinking it was better to hear it from the experts

 

;assex2b.asm

     .AREA  CODE1 (ABS);

     .RADIX H;

     .ORG 1000;

      LD   SP,#1100;

      LD   A,#98;

     OUT   (03), A;

 

again:       IN A,(00);

                 AND   A,(00);

                 JP Z,again;

                 LD   A,#00;

LOOP:      OUT  (01),A;

                 CALL DELAY;

                 INC  A;

                JP LOOP;

DELAY:    PUSH AF;

                LD    D,#0FF;

DECR:     DEC D;

               JP    NZ,DECR;

               POP AF;

               RET;

  • Sign in to reply
  • Cancel

Top Replies

  • Robert Peter Oakes
    Robert Peter Oakes over 9 years ago in reply to Robert Peter Oakes +3
    the scary thing is, I have not work with this assembly code in over 40 years but it still makes sense to me and seems easy to decode the functionality....
  • D_Hersey
    D_Hersey over 9 years ago +2
    What uP is this for? Squinting at this so early, seems to have a coupla infinite loops and a redundancy.
  • clem57
    clem57 over 9 years ago +2 suggested
    This is assembler for an unknown processor. Out of context, not much can be implied. Maybe if you gave the source where it was found?
  • D_Hersey
    0 D_Hersey over 9 years ago

    What uP is this for?  Squinting at this so early, seems to have a coupla infinite loops and a redundancy.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • bwelsby
    0 bwelsby over 9 years ago

    Future Orlando wrote:

     

    i think i have a good idea of what this code does i was thinking it was better to hear it from the experts

     

    ;assex2b.asm

    .AREA CODE1 (ABS);

    .RADIX H;

    .ORG 1000;

    LD SP,#1100;

    LD A,#98;

    OUT (03), A;

     

    again: IN A,(00);

    AND A,(00);

    JP Z,again;

    LD A,#00;

    LOOP: OUT (01),A;

    CALL DELAY;

    INC A;

    JP LOOP;

    DELAY: PUSH AF;

    LD D,#0FF;

    DECR: DEC D;

    JP NZ,DECR;

    POP AF;

    RET;

    Looks a lot  like Z80 code to me, what it will do depends on what is connected to it...

     

    It starts off setting stack pointer then it outputs #98 to I/O address 3

    then there's the "again" loop that is waiting for a trigger on I/O address 0

    Then the main "LOOP" that continually outputs 00 to FF on I/O address  01 with a delay between characters using the subroutine "DELAY"

     

    Brian

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • clem57
    0 clem57 over 9 years ago

    This is assembler for an unknown processor. Out of context, not much can be implied. Maybe if you gave the source where it was found?

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • bwelsby
    0 bwelsby over 9 years ago in reply to clem57

    This is assembler for an unknown processor. Out of context, not much can be implied. Maybe if you gave the source where it was found?

    I agree, this may just be from some homework exercise/test and may not even be for a real processor, I can think of a number of questions based around it image . If it is a real world program then I don't think it's well written but I have come across a lot of that over the years.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • nick123
    0 nick123 over 9 years ago

    is that Z80 Code?

    If so, it really just depends on what you connect to the address and data bus.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Robert Peter Oakes
    0 Robert Peter Oakes over 9 years ago

    pretty obvious what it does but as already stated, this could be homework and i'm not just going to give away the answer. I would like the poster to have a go first then I will help

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Robert Peter Oakes
    0 Robert Peter Oakes over 9 years ago in reply to nick123

    Hi Nick

    I dont think the address and data bus has any relevance here, It is all I/O based instructions

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Robert Peter Oakes
    0 Robert Peter Oakes over 9 years ago in reply to Robert Peter Oakes

    the scary thing is, I have not work with this assembly code in over 40 years but it still makes sense to me and seems easy to decode the functionality....

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Jan Cumps
    0 Jan Cumps over 9 years ago in reply to Robert Peter Oakes

    hehe image the same here. I haven't done any assembler since 1993 or so.

    (oh, Peter Norton's 'Assembler for the 8086', those were the days)

    I can read the program above. I don't know for what architecture it is though.

    But the mnemonix make sense - nothing outlandish.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • clem57
    0 clem57 over 9 years ago in reply to Jan Cumps

    I can even remember the . commands even though it was long ago. I can give a hint that .ORG is very important clue. PM if you know why.

    Clem

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube