4. cvičení
Cílem následujících úkolů je procvičit použití skoků k implementaci podmínek a cyklů.
Úkoly
- Napište funkci
int sgn(int i)
, která vrací hodnoty -1, 0, 1 v závislosti na tom, zda-li je hodnotai
záporná, nulová nebo kladná. - Napište funkci
char max2c(char a, char b)
, která vrací největší hodnotu. Vyzkoušejte, že funkce funguje správně pro kladné i záporné argumenty, i jejich kombinaci. - Napište funkci
unsigned short min3us(unsigned short a, unsigned short b, unsigned short c)
, která vrací nejmenší hodnotu ze zadaných parametrů. Vyzkoušejte, že funkce funguje správně i pro hodnoty větší než 32768. - Napište funkci
int kladne(int a, int b, int c)
, která vrací 1, pokud jsou všechny argumenty kladné, jinak 0. - Napište funkci
int mocnina(int n, unsigned int m)
vracející mocninu nm. - Do registrů al, bl vložte vhodné hodnoty, proveďte s nimi operace add a sub a pomocí instrukcí jz, js, jc, jo ověřte, zda byl nastavený příznak, nebo ne.