Co to je za programovaci jazyk?
Moderátor: Moderátoři
Co to je za programovaci jazyk?
;--------------------
BEGIN { Prim }
p := LAST;
v := p + (2 * (n + 1));
printInt(2);
printSpace;
printInt(3);
printSpace;
x := 1;
lim := 2;
i := 6;
inc := 4;
squ := 9;
WHILE i <<= 2 * n DO
REPEAT
x := x + inc;
inc := 6 - inc;
IF squ <<= x
THEN lim := lim + 2;
v^[lim] := squ;
k := p^[lim + 2];
squ := k * k
ENDIF;
k := 4;
isPrime := true;
WHILE (isPrime <> false) AND (k << lim) DO
k := k + 2;
IF v^[k] << x
THEN v^[k] := v^[k] + 2 * p^[k]
ENDIF;
isPrime := x <> v^[k]
ENDWHILE
UNTIL isPrime <> false;
IF i <<= 2 * nl
THEN p^[i] := x
ENDIF;
printInt(x);
printSpace;
i := i + 2
ENDWHILE;
printChar(cr);
printChar(lf)
END Prim.
;----------------------------------------
Diky za pomoc.
Jirka
edit: bohuzel se rozhodil format
- Panda38
- Příspěvky: 725
- Registrován: 21 lis 2012, 00:00
- Bydliště: Most, Praha, Lanžhot
- Kontaktovat uživatele:
#include <p18f458.h> /* Register and bit declarations */
#include <delays.h>
#include <string.h>
#include "lcd1100.h"
#pragma config OSC = HS, OSCS = OFF
#pragma config PWRT= OFF , BOR=ON, BORV = 27
#pragma config WDT = OFF
#pragma config DEBUG = OFF ,LVP =OFF , STVR =OFF
void long_to_string_lz (unsigned int input, char *str, char numdigits);
void long_to_string (unsigned int input, char *str, char numdigits);
void main (void) {
TRISD=0;
Lcd_Init();
Gotoxy(5,2);
print_message("Nokia 1100 LCD ");
Gotoxy(5,5);
print_message("CircuitValley");
while(1) {
}
}
/*
*********************************************************************************************************
* long_to_string()
*
* Description : Convert a "long" to a null-terminated string
* (base = decimal)
* Arguments : input = number to be converted
* str = pointer to string (i.e. display buffer)
* numdigits = number of digits to display
* Returns : none
*********************************************************************************************************
*/
void long_to_string (unsigned int input, char *str, char numdigits)
{
char digit;
int blank = 1;
long_to_string_lz(input, str, numdigits);
for (digit=0; digit < numdigits-1; digit++) {
if (str[digit] == '0') {
if (blank == 1) str[digit] = ' ';
}
else {
blank = 0;
}
}
}
/*
*********************************************************************************************************
* long_to_string_lz()
*
* Description : Convert a "long" to a null-terminated string, with leading zeros
* (base = decimal)
* Arguments : input = number to be converted
* str = pointer to string (i.e. display buffer)
* numdigits = number of digits to display
* Returns : none
*********************************************************************************************************
*/
void long_to_string_lz (unsigned int input, char *str, char numdigits)
{
char digit;
for (digit=numdigits; digit > 0; digit--) {
str[digit-1] = (input % 10) + '0';
input = input / 10;
}
str[numdigits] = 0; // null-terminate the string
}
- Přílohy
-
Nokia 1100 LCD interfaceing.zip- (9.29 KiB) Staženo 86 x
- Panda38
- Příspěvky: 725
- Registrován: 21 lis 2012, 00:00
- Bydliště: Most, Praha, Lanžhot
- Kontaktovat uživatele:
Na popisy registrů a instrukcí PIC18f458 jsou datasheety: http://ww1.microchip.com/downloads/en/d ... 41159d.pdf , http://ww1.microchip.com/downloads/en/D ... 39500a.pdf
- monterjirka
- Příspěvky: 2855
- Registrován: 14 čer 2003, 00:00
- Bydliště: Blížejov
Panda38 píše:Když je to na 8 bitů, to je pro jaký procesor, počítač, systém? CP/M ?
Je to Z80 s CP/M. Prave ze jsem zkousel CP/M Pascaly. V tom zdrojaku je ale datum z roku 2004, takze by to mohlo byt neco novejsiho od nejakyho retro priznivce. CP/M byla hodne psana v PL/1 a nebo ve PL/M "sloucenine" PL/1 a Algolu. Takze monterjirka ma asi pravdu. Tak to asi nema reseni, nevim o tom vubec nic...
Jirka
- Panda38
- Příspěvky: 725
- Registrován: 21 lis 2012, 00:00
- Bydliště: Most, Praha, Lanžhot
- Kontaktovat uživatele:
Ale připadá mi to přepsatelné do novějšího Pascalu. Nějaký který má kvalitnější chybová hlášení, pak by se snadno vyhledaly všechny potřebné změny. Např. hromadně nahradit všechna "THEN" slovy "THEN BEGIN" a všechna "ENDIF" nahradit "END", "ELSE" -> "END ELSE BEGIN". Podobně " DO" nahradit " DO BEGIN" a "ENDWHILE" nahradit "END", "REPEAT" -> "REPEAT BEGIN", "UNTIL" -> "END UNTIL". atd. Dal by se vytvořit skript na automatickou konverzi (např. pomocí sed popř. grep). Hlavičky funkcí BEGIN {} asi upravit ručně.
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]