I do not find anything wrong with the sdasstm8,

      000008 72 C6 00 00      [ 4]   53         ld      a, [_p]
      00000C 72 CE 00 00      [ 5]   54         ldw     x, [_p]
      000010 91 CE 00         [ 5]   55         ldw     y, [_p]

it seems all right.

Maybe the only way remains is make a piece of c code work, and make a contract.















在2014年09月29 17时47分,"remi"<r...@remi.lu>写道:

Hello

I will try to code it in C today ,

In the mean while, someone answered this:

https://my.st.com/public/STe2ecommunities/mcu/Lists/stm81/Flat.aspx?RootFolder=%2fpublic%2fSTe2ecommunities%2fmcu%2fLists%2fstm81%2fpointer%20problem%20%28sdcc%20assembler%29&FolderCTID=0x01200200770978C69A1141439FE559EB459D7580001E3853D9DB932A46A3FE4CD15CAB46FB&TopicsView=https%3A%2F%2Fmy%2Est%2Ecom%2Fpublic%2FSTe2ecommunities%2Fmcu%2FLists%2Fstm81%2FAllItems%2Easpx&currentviews=38

and I had changed my code to this:


      00813C 72 CE 00 03      [ 5]  214     ldw    X,[_charptr]
      008140 CF 00 02         [ 2]  215     ldw    _lcdchar,X
      008143 CD 81 D5         [ 4]  216     call    _lcdwritechar
      008146 CE 00 03         [ 2]  217     ldw    X, _charptr
      008149 5C               [ 2]  218     incw    X
      00814A CF 00 03         [ 2]  219     ldw    _charptr, X
                                    220
      00814D CC 81 2A         [ 2]  221     JP    main_loop


regards

Le 2014-09-29 01:44, Bin Shi a écrit :
> Does your c code work? If so, what are the differences between the
> generated asm and your own asm ?
>
> r...@remi.lu编写:
>
>> hi,
>>
>> I tried following a c/asm generated code by sdcc , but now it only
>> prints the T , like the INCrementing doesnt do it:
>>
>>
>> any help ?, and as I said , when I use thing.w , the "thing"
>> register/variable is not recognised, it takes is as a new reference
>> ...
>> the .w to make show as a word, is not handeled i think
>>
>> ....
>> ;--------------------------------------------------------
>>     .area INITIALIZED
>>
>> _charptr::
>>     .ds    2
>> ;--------------------------------------------------------
>> ; Stack segment in internal ram
>> ;--------------------------------------------------------
>> .....
>> ;--------------------------------------------------------
>>     .area INITIALIZED
>>
>> _charptr::
>>     .ds    2
>> ;--------------------------------------------------------
>> ; Stack segment in internal ram
>>
>>     mov    _varOne, #'a'
>>
>>     ldw    X,__xinit__charptr   ;#__string_0
>>     ldw    _charptr, X
>>
>>
>> main_loop:
>>
>>
>>     LDW    X, #0d50
>>     CALL    delay_m
>>     CALL    ledon
>>
>>
>>     LDW    X, #0d50
>>     CALL    delay_m
>>     CALL    ledoff
>>
>>
>>     ld    a,[__xinit__charptr]        ; <---- not returning what is at that
>> address
>>     ld    _lcdchar,a
>>     call    _lcdwritechar
>>     inc    __xinit__charptr
>>
>>     JP    main_loop
>>
>> ....
>>
>>
>>     .area CODE
>> __string_0:
>>         .ascii "toto"
>>         .db 0x00
>>
>>     .area INITIALIZER
>> __xinit__charptr:
>>     .dw    __string_0
>>
>>     .area CABS (ABS)
>>
>> ....
>>
>>
>>
>>
>>
>>
>> Le 26.09.2014 13:33, r...@remi.lu a écrit :
>>> Hello
>>>
>>> I tested your suggestion, then replaced the ADDW with INCW ... still
>>> not
>>> working
>>>
>>> this time, the carracter it self is incremented
>>> as if the syntax
>>>
>>>     ldw    X,[_charptr] doesnt return a pointer ...
>>>
>>>
>>> If you guys think this is not a bug, I can try forum@st and try to
>>> port
>>> their answers
>>> i am aware this mailing list is not dedicated to the STM8 assembly...
>>>
>>>
>>>
>>>
>>>     ldw    X,#string_0
>>>     ldw    _charptr, X
>>>
>>> main_loop:
>>>
>>>     LDW    X, #0d50
>>>     CALL    delay_m
>>>     CALL    ledon
>>>
>>>     LDW    X, #0d50
>>>     CALL    delay_m
>>>     CALL    ledoff
>>>
>>>     ldw    Y,[_charptr]
>>>     ldw    _lcdchar, Y
>>>     call    _lcdwritechar
>>>     ldw    Y, _charptr
>>>     incw    Y
>>>     ldw    _charptr, Y
>>>
>>>     JP    main_loop
>>>
>>>
>>>
>>>
>>> Le 26.09.2014 11:39, Bin Shi a écrit :
>>>> the _pointer is a 16-bit variable, and stm8 is big endian. you might
>>>> need
>>>>
>>>>  ld y, _pointer
>>>> addw y, #1
>>>> ld _pointer, y
>>>>
>>>> to replace inc _pointer
>>>>
>>>> r...@remi.lu编写:
>>>>
>>>>>
>>>>>
>>>>> hello
>>>>>
>>>>> with this code i get printed : "t3333333...."
>>>>>
>>>>> you think the X register gets polluted by the delay fonction ?
>>>>>
>>>>> Regards
>>>>>
>>>>> Le 26.09.2014 04:11, Ben Shi a écrit :
>>>>>
>>>>>> I am not sure how your function _lcdwritechar works, but I guess
>>>>>> you
>>>>>> might need such kind of code,
>>>>>>
>>>>>> .area DATA
>>>>>>
>>>>>> _varOne:
>>>>>>
>>>>>> .ds 1
>>>>>>
>>>>>> _lcdchar:
>>>>>>
>>>>>> .ds 1
>>>>>>
>>>>>> _pointer:
>>>>>>
>>>>>> .ds 1
>>>>>>
>>>>>> .....
>>>>>>
>>>>>> ldw x, #_string_0
>>>>>>
>>>>>> ldw _pointer, x
>>>>>>
>>>>>> main_loop:
>>>>>>
>>>>>> LDW X, #0d50
>>>>>>
>>>>>> CALL delay_m
>>>>>>
>>>>>> CALL ledon
>>>>>>
>>>>>> LDW X, #0d50
>>>>>>
>>>>>> CALL delay_m
>>>>>>
>>>>>> CALL ledoff
>>>>>>
>>>>>> ldw x, [_pointer.w]
>>>>>>
>>>>>> ldw _lcdchar, x
>>>>>>
>>>>>> call _lcdwritechar
>>>>>>
>>>>>> inc _pointer
>>>>>>
>>>>>> JP main_loop
>>>>>>
>>>>>> ....
>>>>>>
>>>>>> .area CODE
>>>>>>
>>>>>> _string_0:
>>>>>>
>>>>>> .ascii "toto"
>>>>>>
>>>>>> .db 0x00
>>>>>>
>>>>>> First, the variable _pointer is initialized to point to _string_0;
>>>>>> second, in each iteration of the main loop, the content pointed by
>>>>>> _pointer is moved to _lcdchar; third, _pointer increases each
>>>>>> time.
>>>>>>
>>>>>> 在2014年09月25 23时32分,"remi"<r...@remi.lu>写道:
>>>>>>
>>>>>>> Hello
>>>>>>>
>>>>>>> I have spent a few years with MChip, I switched to stm8 recently.
>>>>>>>
>>>>>>> One of the reasons is pointer handeling (pic16 and 18) very
>>>>>>> limited
>>>>>>> ...
>>>>>>>
>>>>>>> and now, I am almost learning two things in the same time, STM8
>>>>>>> and
>>>>>>> sdasm .
>>>>>>>
>>>>>>> Can some one direct me a little on how pointers are beeing
>>>>>>>
>>>>>>> used in sdasstm8 ?
>>>>>>>
>>>>>>> in this snipet, i am trying to go trhu a string and print it ...
>>>>>>>
>>>>>>> no luck so far, only the "t" is printed .
>>>>>>>
>>>>>>> I have already went thru sdccman.pdf ... but it mostly talk about
>>>>>>> its C and inline assembly ,
>>>>>>>
>>>>>>> and stm8 axemples elsewhere are for other assemblers ... :)
>>>>>>>
>>>>>>> my goal , is to write 100% assembly code .
>>>>>>>
>>>>>>> Best regards
>>>>>>>
>>>>>>> .area DATA
>>>>>>> _varOne:
>>>>>>> .ds 1
>>>>>>> _lcdchar:
>>>>>>> .ds 1
>>>>>>>
>>>>>>> .....
>>>>>>>
>>>>>>> main_loop:
>>>>>>>
>>>>>>> LDW X, #0d50
>>>>>>> CALL delay_m
>>>>>>> CALL ledon
>>>>>>>
>>>>>>> LDW X, #0d50
>>>>>>> CALL delay_m
>>>>>>> CALL ledoff
>>>>>>>
>>>>>>> mov _lcdchar,string_0
>>>>>>> call _lcdwritechar
>>>>>>> inc [string_0]
>>>>>>>
>>>>>>> JP main_loop
>>>>>>>
>>>>>>> ....
>>>>>>>
>>>>>>> .area CODE
>>>>>>> string_0:
>>>>>>> .ascii "toto"
>>>>>>> .db 0x00
>>>>>>>
>>>>>>> .area INITIALIZER
>>>>>>> .area CABS (ABS)
>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
>>>>>> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS
>>>>>> Reports
>>>>>> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White
>>>>>> paper
>>>>>> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog
>>>>>> Analyzer
>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
>>>>>> [1]
>>>>>>
>>>>>> _______________________________________________
>>>>>> Sdcc-user mailing list
>>>>>> Sdcc-user@lists.sourceforge.net
>>>>>> https://lists.sourceforge.net/lists/listinfo/sdcc-user [2]
>>>>>
>>>>>
>>>>>
>>>>> Links:
>>>>> ------
>>>>> [1]
>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&amp;iu=/4140/ostg.clktrk
>>>>> [2] https://lists.sourceforge.net/lists/listinfo/sdcc-user
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
>>>>> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS
>>>>> Reports
>>>>> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White
>>>>> paper
>>>>> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog
>>>>> Analyzer
>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
>>>>> _______________________________________________
>>>>> Sdcc-user mailing list
>>>>> Sdcc-user@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/sdcc-user
>>>> ------------------------------------------------------------------------------
>>>> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
>>>> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS
>>>> Reports
>>>> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
>>>> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
>>>> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
>>>> _______________________________________________
>>>> Sdcc-user mailing list
>>>> Sdcc-user@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/sdcc-user
>>>
>>> ------------------------------------------------------------------------------
>>> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
>>> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS
>>> Reports
>>> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
>>> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
>>> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
>>> _______________________________________________
>>> Sdcc-user mailing list
>>> Sdcc-user@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/sdcc-user
>>
>> ------------------------------------------------------------------------------
>> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
>> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS
>> Reports
>> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
>> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
>> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
>> _______________________________________________
>> Sdcc-user mailing list
>> Sdcc-user@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/sdcc-user
> ------------------------------------------------------------------------------
> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS
> Reports
> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
> _______________________________________________
> Sdcc-user mailing list
> Sdcc-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/sdcc-user

------------------------------------------------------------------------------
Slashdot TV.  Videos for Nerds.  Stuff that Matters.
http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user
------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to