1

AVR MCU 用の C/asm プログラムを書いています。私はまだ学んでいるので、コードで何らかの間違いを犯したことを願っています。

volatile unsigned char suart_0_rx_buffer[SUART_0_BUF_SIZE+1];以下のように、asm コードでアクセスしている C コードにバッファがあります。私がしたいのは、バッファにバイトを格納し、毎回s0_Rxbyteポインタをインクリメントすることだけです。s0_index's0_Rxbyte` は常にゼロ以外の値です。


suart_0_wr_buf_2:  ldi     s0_z_low, lo8(suart_0_rx_buffer)
                   ldi     s0_temp1, hi8(suart_0_rx_buffer)
                   add     s0_z_low, s0_index
                   adc     s0_z_high,s0_temp1
suart_0_wr_buf_3:  st      Z+, s0_Rxbyte
                   inc     s0_index
                   clr     s0_temp1
                   st      Z, s0_temp1

Cコードのループでコンテンツを印刷しようとすると、まったく何も得られません。

雑然とするので、ここにすべてを添付したくありませんでした。

では、上記の asm コードに問題がある人はいますか?

4

1 に答える 1