[ Príspevkov: 5 ] 
AutorSpráva
Offline

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

Registrovaný: 21.05.09
Prihlásený: 30.09.24
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.


Online

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

Registrovaný: 11.01.09
Prihlásený: 28.12.24
Príspevky: 1395
Témy: 10 | 10
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ý: 30.09.24
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.


Online

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

Registrovaný: 11.01.09
Prihlásený: 28.12.24
Príspevky: 1395
Témy: 10 | 10
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ý: 30.09.24
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

863

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

296

04.04.2013 21:19

majky358

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

piskanie externej baterie

v Ostatné

2

429

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

425

13.08.2010 19:04

takken

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

Prepinanie externej a zdielanej grafiky

v ATI/AMD grafické karty

5

524

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

579

04.04.2018 14:09

neopagan

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

Vyber lacnejsej externej zvukovej karty

v Rozširujúce karty

0

701

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

537

01.03.2010 14:58

Ďuri

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

nacitanie externej stranky - file get content

v PHP, ASP

3

356

19.12.2014 16:34

chrono

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

Pomoc pri vybere externej TV karty

v Rozširujúce karty

2

1191

09.10.2008 15:26

M@Xo

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

704

22.05.2011 14:21

celesko

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

Použitie notebokovej DVD RW ako externej mechaniky

v Optické zariadenia

0

813

23.09.2009 12:43

pepe55

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

486

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

746

01.04.2009 21:02

bbeni

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

Assembler

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

0

828

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

1787

13.03.2007 20:39

My-reC



© 2005 - 2024 PCforum, edited by JanoF