Rozdíl mezi ASM a strojovým kódem

jjrsk

  • *****
  • 910
    • Zobrazit profil
Re:Rozdíl mezi ASM a strojovým kódem
« Odpověď #15 kdy: Dnes v 12:14:38 »
...Assembler a strojový kod vnímám jako jedno a to samé. ...
Nj, to jsou ty zaklady ...

Mile deti, zatimco asm lze prelozit pro ruzna CPU, tak strojak je proste omezen na jedno konkretni (nejen)* cpu. Ta cisla co z toho vypadnou proste muzou byt ruzna.

*Soucasti muze byt samozrejme kod i pro dalsi chipy.



smoofy

  • *****
  • 1 061
    • Zobrazit profil
    • E-mail
Re:Rozdíl mezi ASM a strojovým kódem
« Odpověď #16 kdy: Dnes v 18:43:45 »
Mile deti, zatimco asm lze prelozit pro ruzna CPU, tak strojak je proste omezen na jedno konkretni (nejen)* cpu. Ta cisla co z toho vypadnou proste muzou byt ruzna.
ASM nelze prelozit pro ruzna CPU. Kazda CPU architektura ma vlastni asm ve kterem je psany ten kod. No a ta cisla co z toho vypadnou budou z principu pro danou architekturu vzdycky stejna.
Kdyz se podivas na zdrojove kody nejakeho open source OS co podporuje vice platforem tak tam presne uvidis, ze to ma nejakou low level vrstvu v asm ktera je platform specific a nad ni teprve je ta spolecna univerzalni pro vsechny platformy v nejakem vyssim programovacim jazyku. Presne takhle funguje crosscompilace. Ty doslova rikas compilatoru, pro jakou architekturu ma prekladat ten vyssi jazyk. Sice to tam nebude fungovat, prave kvuli tomu ze ty instrukce nedavaji tomu tvemu CPU smysl, ale zkompilovat to v pohode pujde.

Re:Rozdíl mezi ASM a strojovým kódem
« Odpověď #17 kdy: Dnes v 19:00:27 »
Assembler a strojový kód je defakto to samé, s jedním docela zásadním rozdílem. Strojovým kódem se myslí to, co vyleze z assembler editoru. Programovat ve strojovém kódu znamená psát rovnou v číslech které daný procesor vykonává jako instrukce a přepočítávat i relativní skoky, absolutní skoky apod.
Strojový kód je je prostě jen hromada čísel.
Assembler je editor, který programátora odstíní od strojového kódu tím, že to pěkně píše v IDE a to pak vygeneruje ta čísla kterým CPU rozumí.
„Řemeslo se naučí každý. Umění nikdo.“
„Jednoduchost je nejvyšší úroveň sofistikovanosti.“
- Leonardo Da Vinci