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, [email protected] 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
>>
>> [email protected]编写:
>>
>>>
>>>
>>> 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"<[email protected]>写道:
>>>>
>>>>> 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
>>>> [email protected]
>>>> 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
>>> [email protected]
>>> 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
>> [email protected]
>> 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
> [email protected]
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/sdcc-user