|
|
Subject:
Convert c into 6502
Category: Computers > Programming Asked by: mott85-ga List Price: $10.00 |
Posted:
14 May 2005 17:25 PDT
Expires: 18 May 2005 08:55 PDT Question ID: 521703 |
Can anyone convert this c function to 6502 asm int main(void) { int i ; inx=0; for(i=0;i<10; I++) { x++ } return (0); } |
|
There is no answer at this time. |
|
Subject:
Re: Convert c into 6502
From: bozo99-ga on 14 May 2005 19:31 PDT |
It is faulty C. Your variables "inx", "I" and "x" are undeclared. Your "X++" line does not end in a semicolon. Even if it worked it would loop but save no files and write no output so the only effect would be to consume CPU time. Using the X register as the loop variable you would want something like this. LDX #0 # load 0 into X register LOOP # label # space for loop content if desired INX # add 1 to X (where 255+1=0) CPX #11 BNE LOOP |
Subject:
Re: Convert c into 6502
From: bozo99-ga on 14 May 2005 19:34 PDT |
CPX #11 # compare X register to 11 BNE LOOP # Branch if Not Equal (using result of compare operation) # to the LOOP variable which must be sufficiently close # in the code because long jumps are specified differently |
Subject:
Re: Convert c into 6502
From: mott85-ga on 14 May 2005 19:53 PDT |
so that converst the entire thing into 6502? i wouf of thought it would of needed to be longer |
Subject:
Re: Convert c into 6502
From: anonoboy-ga on 15 May 2005 20:27 PDT |
Writing English like that, how could you have expected to write good code? |
Subject:
Re: Convert c into 6502
From: pgmer6809-ga on 16 May 2005 21:30 PDT |
THe assembly code has a bug in it. The original C "for" statement was: for (i=0; i< 10; i++) { .... } I.e. 10 times through the loop, with zero being the first time. Note that i (not I) should never equal 10 (and neither should x). So the BNE #11 statement should be instead BNE #10. |
Subject:
Re: Convert c into 6502
From: pgmer6809-ga on 16 May 2005 21:32 PDT |
Oh Oh. I mean CPX #11 should be CPX #10. Then BNE. |
If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you. |
Search Google Answers for |
Google Home - Answers FAQ - Terms of Service - Privacy Policy |