From: <re...@re...> - 2014-10-01 08:42:55
|
Yes It finally worked, I admit i confused with direct and indirect addressing too Thank you again for the great work :) Le 2014-09-30 07:36, Ben Shi a écrit : > 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"<re...@re...>写道: > >> 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¤tviews=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 ? >>> >>> re...@re...编写: >>> >>>> 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, re...@re... 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 >>>>>> >>>>>> re...@re...编写: >>>>>> >>>>>>> >>>>>>> >>>>>>> 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"<re...@re...>写道: >>>>>>>> >>>>>>>>> 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 >>>>>>>> Sdc...@li... >>>>>>>> https://lists.sourceforge.net/lists/listinfo/sdcc-user [2] >>>>>>> >>>>>>> >>>>>>> >>>>>>> Links: >>>>>>> ------ >>>>>>> [1] >>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&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 >>>>>>> Sdc...@li... >>>>>>> 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 >>>>>> Sdc...@li... >>>>>> 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 >>>>> Sdc...@li... >>>>> 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 >>>> Sdc...@li... >>>> 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 >>> Sdc...@li... >>> 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 >> Sdc...@li... >> 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 [1] > > _______________________________________________ > Sdcc-user mailing list > Sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-user [2] Links: ------ [1] http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk [2] https://lists.sourceforge.net/lists/listinfo/sdcc-user |