Size: a a a

Ассемблер

2020 May 02

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
Khamai Lab
Попробуй после .cseg добавить .org 0x100
и код начнет выполнятся с массива, точнее с  того что кодирует
источник

KL

Khamai Lab in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮
и код начнет выполнятся с массива, точнее с  того что кодирует
Да, точно, туплю
источник

AA

Almir Almir in Ассемблер
AVR Simulator: Invalid opcode 0x0001 at address 0x000001
источник

AA

Almir Almir in Ассемблер
нет прога крашнулся
источник

KL

Khamai Lab in Ассемблер
Просто нужно задать массив по требуему адресу, а до этого организовать точку входа в требуемый цикл
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
   jmp lbl
   org 100h
   array db ...
lbl:

мож типа такого?
источник

KL

Khamai Lab in Ассемблер
.include "m16def.inc"

.CSEG
Jmp func
.org 0x100
Array: .db 7,2,1,0,6,4,3,8,5,9

func:
ldi r16,0        
ReadArray:
        ldi ZH,High(Array*2)  
        ldi ZL,Low(Array*2)

        ldi r16,0            
        add ZL,r17
        adc ZH,r16

        lpm                  

        mov r16,R0          
        inc r17            

        rjmp Output          
     
      ldi r17,0        
        rjmp ReadArray

Output:  mov r18,r16      

       rjmp ReadArray
источник

KL

Khamai Lab in Ассемблер
Как-то так похоже?
источник

AA

Almir Almir in Ассемблер
у меня прога если 0х100 сразу крашется, а при адресе org 0x60 норм работает
источник

KL

Khamai Lab in Ассемблер
Что за микроконтроллер?
источник

AA

Almir Almir in Ассемблер
Atmega 16
источник

KL

Khamai Lab in Ассемблер
Может jmp не вытягивает такого прыжка? Я не помню на сколько он может прыгать..
источник

KL

Khamai Lab in Ассемблер
Хотя должен
источник

AA

Almir Almir in Ассемблер
ого все с адресоm  .org 0х000100 заработало
источник

AA

Almir Almir in Ассемблер
хм конечно все это круто, но тут важно чтоб было сегмент данных
источник

AA

Almir Almir in Ассемблер
.data  как я понял avr не понимает
источник

KL

Khamai Lab in Ассемблер
.dseg
источник

AA

Almir Almir in Ассемблер
.dseg  в этом и проблема, мне нужно именно там определить массив
источник

KL

Khamai Lab in Ассемблер
Книг же много, не проще ли вникнуть по ним? Там же всё расписано, тем более если раньше изучал ассемблео
источник

AA

Almir Almir in Ассемблер
Раньше семейство С изучал в универе, сейчас вот AVR Studio Assemler
источник