We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi all! I need to read out the actuall value of the program counter (PC). How can I do that? I use the Keil uVision environment with an 8051 based controller! Thanks for your help!
You may not wanna calla subroutine but you're gonna hafta calla subroutine to finda outa the value of the program counta. Stefan
I am not allowed to use a "call" function because I am not allowed to alter the stack pointer (SP). Instead of using the "call" command I want to use a "jmp". Before I perform the jump command I need to have the return address from the program counter, so that I can return back to the source of the jump command. That is like I would use a call function, but without altering the SP!
Are you out of stack space, or did someone give you some arbitrary "don't change the SP" directive ? You could recova a few bytes from the stack by popping into unused registers.
I am not allowed to use a "call" function because I am not allowed to alter the stack pointer (SP). Huh, "not allowed"? Pray tell: who or what is stopping you? That restriction seems outright ridiculous. Does "making an omelett without breaking an egg" ring any bell to you?
hi, I want to use a "jmp". ...so that I can return back to the source of the jump command. That is like I would use a call function, but without altering the SP! Sorry? Why not simple:
; main stream ; .... JMP MY_TASK ; go to your "subroutine" L_CONTINUE: ; contunue main stream MY_TASK: ; your piece of code JMP L_CONTINUE ; return to main stream