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
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
Zjistit počet nových příspěvků
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































Uživatelé prohlížející si toto vlákno
Podobná vlákna
TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Newbie

Nahlásit jako SPAM
IP: 212.80.78.–

