[OSy] Zadani 1. semestralky

David Matousek david at matousec.com
Tue Oct 9 13:34:09 CEST 2007


Zdravim,

>   Zakladni vstupne/vystupni operace
>   ---------------------------------
> 
>     * unsigned int putc(const char chr)
> 
>       Funkce vypise znak na konzoli. Vraci pocet vypsanych znaku.

jakoze pokazde vrati jednicku ? (viz Kalisto implementace pomoci zkopirovani
znaku na nejake misto v pameti)



Mel bych dotaz:

kdyz mi v loader.S

#define x 0x8000
   lui   $ra, x

se todle ve skutecnosti prelozi na
   lui   $ra, 0
(hexdump -> 00000000:  00 00 1F 3C)
namisto na
   lui   $ra, 0x8000

(stejne tak se mi to stane s kalisto-like 	
lui	$ra, KERNEL_STARTUP_ADDRESS >> 16)

zatimco todle:
   lui   $ra, 0x8000
se mi prelozi skutecne na
00000000:  00 80 1F 3C


pak

1) nema nekdo nejake tuseni proc? (Makefile temer zcela copy&paste z Kalisto, ale Kalisto se prelozi OK)
2) ma smysl to resit? (viz poznamka nemejte hardcoded konstanty v kodu, ale namakrujte si)
nebo je pripustne mit osklive lec funkcni
   lui   $ra, 0x8000
   ori   $ra, 0x0300


Diky,

DM




More information about the NSWI004 mailing list