[ Príspevkov: 5 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.05.09
Prihlásený: 24.01.17
Príspevky: 12
Témy: 3 | 3

Dobrý deň.

Potreboval by som príkaz MOVC A,@A+DPTR nejako upraviť tak, aby namiesto z dátovej kopíroval z externej pamäte. Akumulator v každom cykle znižujem.
Prosím, vedel by mi niekto pomôcť?


Ďakujem.


Offline

Skúsený užívateľ
Skúsený užívateľ
Assembler - kopírovanie z externej pamäte

Registrovaný: 11.01.09
Prihlásený: 05.05.24
Príspevky: 1385
Témy: 9 | 9
Bydlisko: Hrinova

MOVX:
http://www.keil.com/support/man/docs/is51/is51_movx.htm

// kedze si nenapisal architekturu procesora, predpokladam 8051...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.05.09
Prihlásený: 24.01.17
Príspevky: 12
Témy: 3 | 3
Napísal autor témyOffline : 27.10.2012 8:24 | Assembler - kopírovanie z externej pamäte

Ďakujem za odpoveď, no skúsim definovať môj problém.
Tu je môj kód:
Kód:
XCPY:
MOV DPTR,#ADR1   ; adresa v externej pamäti, kde je ulozený retazec
DEC R2      ; R2 je pocet znakov v retazci
MOV A,R2      
MOVC A,@A+DPTR   
MOV @R0,A   ; hodnotu zapise na cielove miesto
INC R0      
CJNE R2,#00H,XCPY


Toto neviem upraviť, aby kopírovalo z externej a nie z dátovej. Neviem akým spôsobom obísť @A+DPTR. Prosím, pomôžeš mi?

Ďakujem.

P.S: Áno, 8051.


Offline

Skúsený užívateľ
Skúsený užívateľ
Assembler - kopírovanie z externej pamäte

Registrovaný: 11.01.09
Prihlásený: 05.05.24
Príspevky: 1385
Témy: 9 | 9
Bydlisko: Hrinova

V mojom poste som ti spomenul, ze musis pouzit instrukciu MOVX, ktora sa na to pouziva:
wikipedia píše:
External memory - what makes it "external" is that it must be accessed using the MOVX (Move eXternal) instruction


Ak pouzivas nepriame adresovanie, tak sa zrejme nevyhnes pouzitiu registra DPTR, kde bude uchovana 16-bitova adresa zdrojoveho retazca. Inak by si mohol pouzit registre R0, R1, ale tie su iba 8-bitove. Moja otazka znie, preco sa chces vyhnut pouzitiu registra DPTR? Ak ho potrebujes pouzivat viac krat, mozes jeho hodnotu napr ulozit do zasobnika, zmenit hodnotu a potom spatne obnovit povodnu hodnotu zo zasobnika. V kazdom pripade, nepouzivaj instrukciu MOVC, ta totiz kopiruje data z internej pamatovej oblasti, nie z externej ( mozno to je prave ten problem, ktory mas a uz vyssie som ti spominal, ze pouzi MOVX ). Zrejme si si nepozrel ten link, tak tu ti vlozim priamo obsah textu, co som tym mal na mysli ( hrubym textom zvyraznim dolezite casti ):

MOVC:
www.keil.com píše:
The MOVC instruction moves a byte from the code or program memory to the accumulator


MOVX:
www.keil.com píše:
The MOVX instruction transfers data between the accumulator and external data memory. External memory may be addressed via 16-bits in the DPTR register or via 8-bits in the R0 or R1 registers.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.05.09
Prihlásený: 24.01.17
Príspevky: 12
Témy: 3 | 3
Napísal autor témyOffline : 27.10.2012 14:14 | Assembler - kopírovanie z externej pamäte

Asi sme sa nepochopili. Potreboval som zvýšiť adresu, kam ukazuje DPTR, o @A.

No už som to vyriešil tak, že som DPTR nechal na adrese, kde bol a v cykle som ho dekrementoval.
Potom som už mohol použiť MOVX A,@DPTR.

Funguje to, síce je to krkolomné, no aspoň že to robí to, čo má.

Ďakujem za pomoc.


 [ Príspevkov: 5 ] 


Assembler - kopírovanie z externej pamäte



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

"príprava na kopírovanie" - pomalé kopírovanie

v Operačné systémy Microsoft

5

810

26.08.2013 17:44

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

Použivanie externej IP

v Poskytovatelia internetu

1

271

04.04.2013 21:19

majky358

V tomto fóre nie sú ďalšie neprečítané témy.

piskanie externej baterie

v Ostatné

2

374

08.04.2015 22:39

04Miro84

V tomto fóre nie sú ďalšie neprečítané témy.

kupa externej dvd mechaniky

v Ostatné

2

395

13.08.2010 19:04

takken

V tomto fóre nie sú ďalšie neprečítané témy.

Vyber lacnejsej externej zvukovej karty

v Rozširujúce karty

0

677

21.03.2011 19:02

ac.milan

V tomto fóre nie sú ďalšie neprečítané témy.

nezobrazenie image v externej CSS

v HTML, XHTML, XML, CSS

10

496

01.03.2010 14:58

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

Prepinanie externej a zdielanej grafiky

v ATI/AMD grafické karty

5

498

01.10.2011 20:17

Milan_Von_Kukucka

V tomto fóre nie sú ďalšie neprečítané témy.

ako zistit response externej URL

v PHP, ASP

4

515

04.04.2018 14:09

neopagan

V tomto fóre nie sú ďalšie neprečítané témy.

Pomoc pri vybere externej TV karty

v Rozširujúce karty

2

1149

09.10.2008 15:26

M@Xo

V tomto fóre nie sú ďalšie neprečítané témy.

nacitanie externej stranky - file get content

v PHP, ASP

3

322

19.12.2014 16:34

chrono

V tomto fóre nie sú ďalšie neprečítané témy.

Použitie notebokovej DVD RW ako externej mechaniky

v Optické zariadenia

0

782

23.09.2009 12:43

pepe55

V tomto fóre nie sú ďalšie neprečítané témy.

kúpa externej zvukovej karty k notebook-u

v Rozširujúce karty

0

667

22.05.2011 14:21

celesko

V tomto fóre nie sú ďalšie neprečítané témy.

Pripojenie FIREWIRE externej zvukovej karty do Windows 7 64-bit (POMOC)

v Zvuk

3

448

28.06.2015 17:13

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

Assembler

v Assembler, C, C++, Pascal, Java

0

792

31.03.2009 20:10

bbeni

V tomto fóre nie sú ďalšie neprečítané témy.

ASSEMBLER

v Assembler, C, C++, Pascal, Java

8

1725

13.03.2007 20:39

My-reC

V tomto fóre nie sú ďalšie neprečítané témy.

assembler

v Assembler, C, C++, Pascal, Java

1

1493

10.11.2006 18:14

Marco



© 2005 - 2024 PCforum, edited by JanoF