Dobrý den,prosím Vás mohl by mi někdo pomoct s jednou úlohou:
Cílem
je vytvořit v externím assembleru jednoduchou napodobeninu funkce printf. Vaše funkce se bude jmenovat myprintf a bude se chovat stejně jako klasické printf, s těmito vlastnostmi a omezeními/zjednodušeními:
- přijímá libovolný počet parametrů, kde prvním je formátovací řetězec a další jsou hodnoty pro dosazení
- ve formátovacím řetězci rozlišuje pouze tři základní značky: %i vloží číslo int, %c vloží znak, %s vloží řetězec
- čísla (%i) se vypisují vždy obyčejně v desítkové soustavě, záporná se znaménkem mínus (-) na začátku
- pro výpis jednotlivých naformátovaných znaků použijte některou vhodnou funkci CRT, např. _fputchar či putchar (skutečná funkce printf se taky takto chová)
- funkce nic nevrací. céčková deklarace tedy vypadá tkato: void myprintf(const char *format, ...);
- funkce musí být umístěna samostatně v externím souboru s příponou asm a vše musí sedět, aby se to dalo vzít a přenést bez úprav do testovacího projektu
Byla bych moc vděčná jestli tomu někdo rozumí a pomohl by mi s tím,děkuji
Fórum › Assembler
úloha
![](img/forum_vlakno_help_vyreseno.png)
mám takový problém potřebuju udělat program pro atmega 32.
zadání:
vytvořte program, který zvušuje stav registru R17 o 1 a při stisknutí se připojí na port PA0. R17 R17 zobrazujte na port PC0.
moje část řešení:
main:
ini: ldi R16,LOW(RAMEND) ;definice zazsobniku
out SPL,R16
ldi R16,HIGH(RAMEND)
out SPH,R16
sbi DDRC,0
sbi PORTC,0 ;pocatecni nastaveni....PC.0 vzstup
ldi R16,0B00000000 ; pocatecni nastaveni ...PA 0.1 vstup
out DDRA,R16
ldi R16,0b00000011
out PortA,R16 ;pull up zapnuty
inic:
ldi R16,LOW(RAMEND) ; definice zasobniku
out SPL,R16
ldi R16,High(RAMEND)
out SPH,R16
ldi R18,0xff
out DDRC,R18
clc
ale nevím jak napsat start předem děkuji za odpověd
![](img/forum_nove_psp_new.png)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
![](/img/smile/1.gif)
![](/img/smile/2.gif)
![](/img/smile/3.gif)
![](/img/smile/4.gif)
![](/img/smile/5.gif)
![](/img/smile/6.gif)
![](/img/smile/7.gif)
![](/img/smile/8.gif)
![](/img/smile/9.gif)
![](/img/smile/10.gif)
![](/img/smile/11.gif)
![](/img/smile/12.gif)
![](/img/smile/13.gif)
![](/img/smile/14.gif)
![](/img/smile/15.gif)
![](/img/smile/16.gif)
![](/img/smile/17.gif)
![](/img/smile/18.gif)
![](/img/smile/19.gif)
![](/img/smile/20.gif)
![](/img/smile/21.gif)
![](/img/smile/22.gif)
![](/img/smile/23.gif)
![](/img/smile/24.gif)
![](/img/smile/25.gif)
![](/img/smile/26.gif)
![](/img/smile/27.gif)
![](/img/smile/28.gif)
![](/img/smile/29.gif)
![](/img/smile/30.gif)
![](/img/smile/31.gif)
![](/img/smile/32.gif)
Uživatelé prohlížející si toto vlákno
Podobná vlákna