Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Matěj Andrle

Stran: [1]
1
Hledám práci / Re:Dlouholetý samouk maturuje
« kdy: 15. 02. 2014, 14:17:42 »
Pak by bylo dle mého vhodné se udělat zajímavým nějakým kurzem... Což by ale chtělo nějaké zaměření, jelikož na vše si kurz vskutku neudělám... :D Největší problém s hledáním práce mám právě v tom, že nemám sám jasno - zaměřit se na jednu věc - ale jakou...

2
Hledám práci / Re:Dlouholetý samouk maturuje
« kdy: 15. 02. 2014, 14:01:58 »
Nepoužívám mobil (pouze v rámci toho, že ostatní ano a tak kvůli nim občas musím - vždy jim říkám, že mi musí říci, kdy mám sledovat mobil, jinak se mi nedovolají), ale jak píšeš - elektronickou komunikaci. Avšak nemyslím si, že by mi vadilo pracovat mimo domov. Respektive já nepotřebuji více, než-li spát (pod střechou), jíst atp. - nic jiného nemám potřebu chtít... Právě proto chci žít prací - tím co mě baví... Rád vypomůži - poněvadž se v CPU zkrátka rád hrabu. Hodnota CPU programátorů dle mého bude už jen klesat, jelikož se vše přesouvá na web. Pročež jsem založil toto téma, abych se dozvěděl zda-li existuje ještě oblast, kde bych se mohl uplatnit... (Kupříkladu zmíněné CNC, dále pak mne napadá robotika,...) A jak píši, stále budu raději za Desktop, než-li za kódování markovým jazykem...

3
Hledám práci / Re:Dlouholetý samouk maturuje
« kdy: 14. 02. 2014, 22:38:06 »
*kruh

4
Hledám práci / Re:Dlouholetý samouk maturuje
« kdy: 14. 02. 2014, 22:35:52 »
A není lepší ten kurz CNC? Co píšeš dle mého nemá smysl - spíše se snažím maximálně využít svých kontatků, aby mě právě někam protlačili - jak píšeš - FirmWare, mikroprocesory,... (Přijít někam úplně s holou stránkou a dostat místo v dnešní době - to by byl zázrak... :D ) Mimo nízké strojové struktury přeci mohu dělat pro Desktop... (C#, LISP,...) Jde mi jen o to, že nemám školu s vhodným zaměřením a je málo nabídek v pro mě vhodných oblastech... (I když požadavky splňuji, je těžké někoho o tom přesvědčit - respektive se mi to mnohokrát podařilo, ale navíc teď studuji - což je pěkný kruch, až dostuduji, už potřebuji práci.) Zkrátka jsem se chtěl jen informovat o svých možnsotech - CNC, využití známých, vysoká - ale to mi přijde málo. Copak toho více není? (V takovéto obrovské oblasti...)

5
Hledám práci / Re:Dlouholetý samouk maturuje
« kdy: 12. 02. 2014, 05:56:07 »
To vskutku není. Pošli link - protože tento kód fakt nemůžeš jinde najít. (Vesu ano, ale ono vykreslení ne.) Opakuji - mám problém s tím najít práci. K čemu je posílat do .NET nabídky ASM OS? Tak se musím znova opakovat - většina nabídek je pro web... Uvažuji nad tím, udělat si CNC kurz, ale to je opravdu vše co můžu?

Najdi mi toto:

Kód: [Vybrat]
mov eax, [FileTableData.Offset]
mov [.startSector], eax
mov eax, [FileTableData.Length]
mov [.sectorsToLoad], eax
mov dword [.outAddress], FileTable
mov esi, .fileStruct
call ATA.Read

mov edi, .fileName
mov ebx, 2
call SearchFile

mov dword [.startSector], eax
mov dword [.sectorsToLoad], ebx
mov dword [.outAddress], BMP
mov esi, .fileStruct
call ATA.Read

Můj souborový systém - tak jestli ho někde jinde najdeš... :D Pak mi najdi toto:

Kód: [Vybrat]
SearchFile:

push esi
push ecx

mov esi, FileTable
mov eax, [edi]

.searchLoop:

cmp eax, [esi]
je short .test

add esi, 4
jmp short .searchLoop

.test:

mov [.esi], esi
mov [.edi], edi

mov ecx, 1
add esi, 4
add edi, 4

.testLoop:

mov eax, [esi]
cmp eax, [edi]
jne short .testDone

add esi, 4
add edi, 4
inc ecx
jmp short .testLoop

.testDone:

mov esi, [.esi]
mov edi, [.edi]

cmp ebx, ecx
jge short .done

mov eax, [edi]
jmp short .searchLoop

.done:

sub esi, 4
mov ebx, [esi]
sub esi, 4
mov eax, [esi]

pop esi
pop ecx
ret

.esi dd 0
.edi dd 0

Ne, opravdu nedělám OS typu Ctrl + C -> 90% z něj nikde jinde nenajdeš a ten zbytek hold jinak pořešit nejde - VBR kupříkladu.

6
Hledám práci / Re:Dlouholetý samouk maturuje
« kdy: 11. 02. 2014, 22:46:45 »
Nemám holku - mám Aspergerův syndrom. Pročež mě toto vskutku nezajímá. Vztah pro mě má být dlohodobá záležitost - nikdy jsem nepotřeboval pubertu - abych očuchával jak to funguje a tyhle blbosti. Takže to jsem nepleť - zde se řeší zcela něco jiného...

Jinak sorry chyba - pletu si to s int3 - CD pracuje s IVT 1023 (1KiB) - http://wiki.osdev.org/Memory_Map_(x86)
Pak ty opcode x86:
http://ref.x86asm.net/coder32.html

Momentálně pracuji na svém OS, takže jestli chceš nějakou ukázku, napiš jazyk pak jaký program a nemám problém... Ale neoznačuj mě za lháře - to vskutku ne.

7
Hledám práci / Re:Dlouholetý samouk maturuje
« kdy: 11. 02. 2014, 22:35:36 »
Kde jsem lhal? Nechápu kde jsi to vzal - co ten link jako dokazuje? Ano používám GDC (GNU D Compiler) - a? Kde jsi vzal proboha Linux? Nesnáším Linux. Když už, mám Unix - UnixWare. Ale stejně raději pracuji s DOSem...
Tak třeba takto vykresluji v ASM:
Kód: [Vybrat]
DrawPixel:

mov edi, [Screen.PhysBasePointer]
movzx eax, word [Screen.Width]
mov ebx, [esi + 8]

xor edx, edx
mul ebx
add eax, [esi + 4]

movzx ebx, byte [Screen.Depth]
shr ebx, 3
mul ebx

mov ebx, [esi]
mov [edi + eax], ebx

ret

ClearScreen:

mov [.y], ebx
mov [.color], edx
xor edx, edx
mov [.x], edx
mov [.y], edx
mov esi, .params

.clearLine:

call DrawPixel
inc dword [.x]

mov ebx, [Screen.Width]
cmp [.x], ebx
jne .clearLine

inc dword [.y]
mov ebx, [.y]
cmp ebx, [Screen.Height]
jne .clearLine

ret

.params:

.color dd 0
.x dd 0
.y dd 0

DrawImage:

cmp word [BMP.ID], "BM"
je DrawBMP

ret

DrawBMP:

cmp word [BMP.Depth], 24
je DrawBMP24

cmp word [BMP.Depth], 32
je DrawBMP32

ret

DrawBMP24:

pushad
mov [.X], eax
mov [.Y], ebx
mov [.x], eax
mov [.y], ebx

xor edx, edx
mov ebx, 4
mov eax, [BMP.Width]
div ebx
mov [.align], edx

mov esi, BMP
add esi, [BMP.Offset]
mov [.pointer], esi
mov ebx, [BMP.Height]
add [.y], ebx

.drawLine:

mov esi, [.pointer]
mov al, [esi]
mov [.color], al
mov al, [esi + 1]
mov [.color + 1], al
mov al, [esi + 2]
mov [.color + 2], al
add dword [.pointer], 3

mov esi, .params
call DrawPixel

inc dword [.x]
mov ebx, [BMP.Width]
add ebx, [.X]
cmp [.x], ebx
jne .drawLine

mov ebx, [.X]
mov [.x], ebx
dec dword [.y]

mov ebx, [.pointer]
add ebx, [.align]
mov [.pointer], ebx

mov ebx, [.Y]
cmp [.y], ebx
jne .drawLine

popad
ret

.X dd 0
.Y dd 0
.align dd 0
.pointer dd 0

.params:

.color dd 0
.x dd 0
.y dd 0

DrawBMP32:

pushad
mov [.X], eax
mov [.Y], ebx
mov [.x], eax
mov [.y], ebx
mov esi, BMP
add esi, [BMP.Offset]
mov [.pointer], esi
mov ebx, [BMP.Height]
add [.y], ebx

.drawLine:

mov esi, [.pointer]
mov eax, [esi]
mov [.color], eax
add dword [.pointer], 4

mov esi, .params
call DrawPixel

inc dword [.x]
mov ebx, [BMP.Width]
add ebx, [.X]
cmp [.x], ebx
jne .drawLine

mov ebx, [.X]
mov [.x], ebx
dec dword [.y]

mov ebx, [.Y]
cmp [.y], ebx
jne .drawLine

popad
ret

.X dd 0
.Y dd 0
.pointer dd 0

.params:

.color dd 0
.x dd 0
.y dd 0

DrawPartOfImage:

cmp word [BMP.ID], "BM"
je DrawPartOfBMP

ret

DrawPartOfBMP:

cmp word [BMP.Depth], 24
je DrawPartOfBMP24

cmp word [BMP.Depth], 32
je DrawPartOfBMP32

ret

DrawPartOfBMP24:

pushad

mov eax, [esi]
mov ebx, [esi + 4]
mov ecx, [esi + 8]
mov edx, [esi + 12]

mov [.X], eax
mov [.Y], ebx
mov [.x], eax
mov [.y], ebx
add [.y], edx
mov [.width], ecx

xor edx, edx
mov ebx, 4
mov eax, [BMP.Width]
div ebx
mov [.align], edx

mov eax, [BMP.Width]
sub eax, ecx
add [.align], eax
add [.align], eax
add [.align], eax

mov ebx, [esi + 16] ; X clip position
add ebx, [esi + 16]
add ebx, [esi + 16]

mov eax, [.width] ; Y clip position
add eax, [.width]
add eax, [.width]
add eax, [.align]
mov ecx, [esi + 20]
mul ecx

mov esi, BMP
add esi, [BMP.Offset]
add esi, eax
add esi, ebx
mov [.pointer], esi

.drawLine:

mov esi, [.pointer]
mov al, [esi]
mov [.color], al
mov al, [esi + 1]
mov [.color + 1], al
mov al, [esi + 2]
mov [.color + 2], al
add dword [.pointer], 3

mov esi, .params
call DrawPixel

inc dword [.x]
mov ebx, [.width]
add ebx, [.X]
cmp [.x], ebx
jne .drawLine

mov ebx, [.X]
mov [.x], ebx
dec dword [.y]

mov ebx, [.pointer]
add ebx, [.align]
mov [.pointer], ebx

mov ebx, [.Y]
cmp [.y], ebx
jne .drawLine

popad
ret

.X dd 0
.Y dd 0
.align dd 0
.pointer dd 0
.width dd 0

.params:

.color dd 0
.x dd 0
.y dd 0

DrawPartOfBMP32:

pushad

mov eax, [esi]
mov ebx, [esi + 4]
mov ecx, [esi + 8]
mov edx, [esi + 12]

mov [.X], eax
mov [.Y], ebx
mov [.x], eax
mov [.y], ebx
add [.y], edx
mov [.width], ecx

mov eax, [BMP.Width]
sub eax, ecx
add [.align], eax
add [.align], eax
add [.align], eax
add [.align], eax

mov ebx, [esi + 16] ; X clip position
add ebx, [esi + 16]
add ebx, [esi + 16]
add ebx, [esi + 16]

mov eax, [BMP.Width] ; Y clip position
add eax, [BMP.Width]
add eax, [BMP.Width]
add eax, [BMP.Width]
mov ecx, [esi + 20]
mul ecx

mov esi, BMP
add esi, [BMP.Offset]
add esi, eax
add esi, ebx
mov [.pointer], esi

.drawLine:

mov esi, [.pointer]
mov eax, [esi]
mov [.color], eax
add dword [.pointer], 4

mov esi, .params
call DrawPixel

inc dword [.x]
mov ebx, [.width]
add ebx, [.X]
cmp [.x], ebx
jne .drawLine

mov ebx, [.X]
mov [.x], ebx
dec dword [.y]

mov ebx, [.pointer]
add ebx, [.align]
mov [.pointer], ebx

mov ebx, [.Y]
cmp [.y], ebx
jne .drawLine

popad
ret

.X dd 0
.Y dd 0
.align dd 0
.pointer dd 0
.width dd 0

.params:

.color dd 0
.x dd 0
.y dd 0

Zde initializuji Vesu:
Kód: [Vybrat]
InitializeVESA:

in al, 0x92
or al, 2
out 0x92, al

mov bx, 0x4118
mov ax, 0x4F01
mov di, Screen
mov cx, bx
int 0x10

mov ax, 0x4F02
int 0x10

cli
lgdt [.GDTR]

mov eax, cr0
or al, 1
mov cr0, eax

; CR0: PG|----RESERVED----|NE|ET|TS|EM|MP|PE
; PE Bit 0. The Protected Environment flag. This flag puts the system into protected mode when set.
; MP Bit 1. The Monitor Coprocessor flag. This flag controls the operation of the "WAIT" instruction.
; EM Bit 2. The Emulate flag. When this flag is set, coprocessor instructions will generate an exception.
; TS Bit 3. The Task Switched flag. This flag is set automatically when the processor switches to a new task.
; ET Bit 4. The Extension Type flag. ET (also called "R") tells us which type of coprocessor is installed. If ET = 0, an 80287 is installed. if ET = 1, an 80387 is installed.
; NE Bit 5. New exceptions. If this flag is clear, FPU exceptions arrive as interrupts. If set, as exceptions.
; PG Bit 31. The Paging flag. When this flag is set, memory paging is enabled. We will talk more about that in a second.

mov ax, 0x8
mov ds, ax
mov es, ax
mov ss, ax

jmp 0x10:Kernel

.GDT dq 0, 0xCF92000000FFFF, 0xCF98000000FFFF

; Selector 0x00 cannot be used | 0x10 will be our code | 0x08 will be our data

.GDTR:

dw 0x1F
dd .GDT

Onu komerční praxi jsem měl v Lusorion Creatives. Dále pak mám certifikát za účast na projektu Net BSD. Chceš abych ti napsal program v Lispu, Ruby,...? Nemám problém - v ničem jsem nelhal - naopak raději jsem napsal jen výtah - aby to nevypadalo moc neuvěřitelně. Programuji každý den 90% volného času. Jestli chceš rozeberu ti všechny opcode instrukce instrukční sady Intel (Pentium), AMD a několika mikroprocesorů. Popíši ti detailně CIL, cokoliv. Popíši ti všechny IO porty ve sběrnici všechny specifické adresy RAM - cokoliv... (Prvních 256 byte je IVT 16 bits real-time režimu, pak tam je CMOS baterie - pointery na karty nastavení a pak tam je výstup kontroly všech zařízení. Co dál - mám popsat vyšší paměť, řádek A20, IQR,...? Nemám problém - udělám ti OS ve strojovém kódu v Bless a to pro zmíněná CPU v real-time i chráněném režimu.) Chceš stroják? CD máš int 16 - do vektoru v IVT. ED - máš skok do vektoru 32 - od offsetu v IBP... (Popsané v prvním quad wordu GDC - Global Descriptor Table.) Tak kde jsem kruci lhal? Vysolím ti tu BIOS jako nic - musím snad?


8
Hledám práci / Re:Dlouholetý samouk maturuje
« kdy: 11. 02. 2014, 20:18:17 »
Kdybych za těch 6 let našel práci (ne brigádu), asi sem nepíši... (dull)

9
Hledám práci / Dlouholetý samouk maturuje
« kdy: 11. 02. 2014, 19:54:31 »
Dobrý den,
s praxí šesti let (3 komerční mohu prokázat pracovní smlouvou) se již pomalu přestávám považovat za toho, který by měl jen tiše přihlížet. Nejraději pracuji ve strojovém kódu, či v jazyku Assembly. Bohužel se nezdá, že bych nalezl uplatnění v této oblasti a navíc vývoj trvá příliš dlouho - což s rychlostí dnešní doby moc nekoresponduje. Ovšem zmiňuji toť pro své nemalé znalosti kolem strojového prostředí. Můj počítač obsahuje mnou psaný BIOS, mnou psaný operační systém a mnou psaný Desktop. (Vše ve strojovém kódu, či ASM/D.) Dále pak ovládám jazyky ze kterých vzešlo C - Bison & Flex. Samotné C/C++ znám spíše teoreticky - prakticky jsem v tom vytvořil jen pár aplikací. Neboť mnohem raději totiž pracuji v jazyce naprosto obstojně C++ nahrazujícím, přičemž pracujícím na mnohem vyšší úrovni - a sice jazyce D. Krom těhto nižších vyšších jazyků pak s obrovským nadčením pracuji v Lispových projektech. (Bohužel takových moc není.) Jeho závorkový systém mi naprosto vyhovuje, avšak o jeho využití začínám pochybovat. Načež zmíním mrtvý Perl, kterýžto v současnosti svým významem ovlivňuje asi jen školská prostředí. Z dalších jazyků běžících na virtuálním stroji nesmím opomenout uvést Luu, rodinu .NET (Iron Python, C#, F#, J#, C++,... => OOP samozřejmostí, funkcionální paradigma na přijatelné úrovni), Javu a K. V těchto jazycích jsem vypracoval většinu vydaných aplikací. Pro mě však stále plápolá krása strojové architektury, kterou si jimi nenechám vzít. V neposlední řadě uvedu scriptovací velikány - Ruby, Python,... Databáze, webové jazyky (HTML, SHTML, XHTML (s nadšením pracuji v SVG), PHP, Ruby on Rails, Java Script, CSS, SASS, LESS,...), dotazovací jazyky atd. mě zase živí především obrovskou škálou brigád. Jenže web vyloženě nesnáším - z něj se mi líbí akoráte grafický výstup. Leč jak píši - zde jsem nalezl vpodstatě jediné uplatnění. Opravdu bych byl nejšťastnější při práci na Desktopu - ideálně v nižším vyšším jazyku (D/C++/...), či nízkém jazyku - ASM/strojový kód. O brigády nestojím, dokud studuji (tento rok maturuji), stejně pracovat nemohu, avšak narozdíl od svých vrstevníků netrpím iluzemi, pročež vezmu cokoliv, jen abych měl stálý, pravidelný plat... Problém tkví nejspíše v tom, že jsem si vybral špatnou školu, čily nemohu referovat maturitou ze střední školy technického směru. (zubní technik) A o vysoké škole se mnozí vyjadřují přespříliš rozporuplně. Nejhorší jest pak má životní situace - bez peněz a brzy zcela sám. A proto bych rád znal váš názor, jak se současnou situací naložit tak, abych nemusel vybírat popelnice.
Děkuji.

Stran: [1]