Как вывести последовательность цифр от Fh до 0h с пробегом строки справа налево

Не могу понять, как поменять код так, чтобы строка бежала не слева направо, а справа налево (Atmega128)

.include "m128def.inc"
.equ Sgm_A = 0b01111111
.equ Sgm_B = 0b10111111
.equ Sgm_D = 0b11011111
.equ Sgm_E = 0b11101111
.equ Sgm_F = 0b11110111
.equ Sgm_C = 0b11111011
.equ Sgm_H = 0b11111101
.equ Sgm_G = 0b11111110
.cseg
 .org 0
 jmp INIT
 .equ SymbolF =   (Sgm_A&Sgm_F&Sgm_G&Sgm_E) 
 .equ SymbolE =   (Sgm_A&Sgm_F&Sgm_G&Sgm_E&Sgm_D)
 .equ SymbolD =   (Sgm_A&Sgm_B&Sgm_C&Sgm_D&Sgm_E&Sgm_F)
 .equ SymbolC =   (Sgm_A&Sgm_F&Sgm_E&Sgm_D)
 .equ SymbolB =   (Sgm_A&Sgm_B&Sgm_C&Sgm_D&Sgm_E&Sgm_F&Sgm_G) 
 .equ SymbolA =   (Sgm_A&Sgm_B&Sgm_C&Sgm_F&Sgm_E&Sgm_G)
 .equ Symbol9 =   (Sgm_A&Sgm_B&Sgm_G&Sgm_F&Sgm_C&Sgm_D)
 .equ Symbol8 =   (Sgm_A&Sgm_B&Sgm_C&Sgm_D&Sgm_E&Sgm_F&Sgm_G)
 .equ Symbol7 =   (Sgm_A&Sgm_B&Sgm_C) 
 .equ Symbol6 =   (Sgm_A&Sgm_F&Sgm_E&Sgm_D&Sgm_C&Sgm_G)
 .equ Symbol5 =   (Sgm_A&Sgm_F&Sgm_G&Sgm_C&Sgm_D)
 .equ Symbol4 =   (Sgm_F&Sgm_G&Sgm_B&Sgm_C)
 .equ Symbol3 =   (Sgm_A&Sgm_B&Sgm_C&Sgm_D&Sgm_G)
 .equ Symbol2 =   (Sgm_A&Sgm_B&Sgm_G&Sgm_E&Sgm_D)
 .equ Symbol1 =   (Sgm_B&Sgm_C)
 .equ Symbol0 =  (Sgm_A&Sgm_B&Sgm_C&Sgm_D&Sgm_E&Sgm_F)

String: .DB   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, SymbolF, 0xff, SymbolE, 0xff, SymbolD, 0xff, SymbolC, 0xff, SymbolB, 0xff, SymbolA, 0xff, Symbol9, 0xff, Symbol8, 0xff, Symbol7, 0xff, Symbol6, 0xff, Symbol5, 0xff, Symbol4, 0xff, Symbol3, 0xff, Symbol2, 0xff, Symbol1, 0xff, Symbol0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
INIT:
  ldi R16,0xFF
  out ddrA,R16 
  ldi R16,0b00001111
  out ddrC,R16 ;
 clr R17
 clr R18
 clr r19
 clr r20
 clr r25
 clr r24
 clr r23
 clr r22
 clr r21
  ldi R28,low(String) 
 ldi R29,high(String)
 lsl R28 
 rol R29
Start:

 out portC,R17 
 mov R30,R28 
 mov R31,R29
 add R30,R17
 adc R31,R18

 lpm R2,Z 
 out portA,R2 
 cbi portC,3       
 sbi portC,3

 dec R19 
 brne PC-1

 ldi R16,0xFF 
 out portA,R16
 cbi portC,3
 sbi portC,3
 inc R17 
 andi R17,7 

 dec r25 
 brne pc-1
 dec r24
 brne pc-1
 dec r23
 brne pc-1
 dec r22
 brne pc-1
 dec r21
 brne start

 inc r28 
 inc r20 ;
 andi r20, 0x1f
 brne start 
 ldi R28,low(String) 
 ldi R29,high(String)
 lsl R28 
 rol R29
 jmp start 

Ответы (0 шт):