- posted
18 years ago
Prosty kod dla 8051
- Vote on answer
- posted
18 years ago
Zbych napisal(a):
Hmm, dlaczego nie rzuciles mnemonikow? Kto by jeszcze pamietal kody hexa rozkazow??
P.S. Sa oczywiscie rzeczy, ktore w C zajma znacznie wiecej rozkazow. Na przyklad Swap.
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
Będzie ciężko, bo C trudno przekonać do obliczeń BCD i nie ma chyba sensownego sposobu na zmuszenie kompilatora do wygenerowania rozkazu poprawki po dodawaniu BCD (DAA). Zrób sobie funkcję inline napisaną w asemblerze nazwaną np. increment_bcd i używaj kiedy trzeba.
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
Zbych przemówił ludzkim głosem:
[ciach]A co ze starszym niblem w bajcie ? (rozumiem, że chcesz operować na spakowanym BCD). Np. 0x99, po inkrementacji 0x9A, po twojej korekcji
0xA0. Przydałoby się dodać jeszcze 0x60 w przypadku przeniesienia na CY.- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
Zbych napisal(a):
Nie chcesz zrobic inline asm?
- Vote on answer
- posted
18 years ago
Zbych snipped-for-privacy@wp.pl napisał(a):
To jakieś zawody ?-)
(*adres)=(*adres)+1; if(((*adres) & 0x0F)==0x0A ) (*adres)+=6;
Piotrek
- Vote on answer
- posted
18 years ago