{"id":756,"date":"2011-08-01T18:11:07","date_gmt":"2011-08-01T16:11:07","guid":{"rendered":"http:\/\/www.iprog.it\/blog\/?p=756"},"modified":"2012-04-30T18:33:35","modified_gmt":"2012-04-30T17:33:35","slug":"assembly-lezione-1-uno-sguardo-al-linguaggio","status":"publish","type":"post","link":"https:\/\/www.iprog.it\/blog\/assembly\/assembly-lezione-1-uno-sguardo-al-linguaggio\/","title":{"rendered":"Assembly &#8211; lezione 1: uno sguardo al linguaggio."},"content":{"rendered":"<p><a href=\"http:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2011\/08\/assembly.gif\" rel=\"lightbox[756]\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-768\" title=\"assembly\" src=\"http:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2011\/08\/assembly-300x171.gif\" alt=\"\" width=\"300\" height=\"171\" srcset=\"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2011\/08\/assembly-300x171.gif 300w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2011\/08\/assembly.gif 436w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>L&#8217;Assembly \u00e8 un linguaggio di programmazione a basso livello per eccellenza. Ad ogni stringa di codice corrisponde al movimento di una sola stringa di bit, per questo si dice che l&#8217;Assembly<!--more--> \u00e8 associato uno-ad-uno. Questo tipo di linguaggio richiede una cerca conoscenza nel campo della programmazione, in quanto \u00e8 un tipo linguaggio datato e molto complesso. Allora per quale motivo lo si studia ancora? La risposta \u00e8 semplice: grazie all&#8217;Assembly noi programmatori possiamo capire i vari passaggi dei bit all&#8217;interno della macchina e come comunicano i vari componenti della stessa, ed \u00e8 utilizzato anche al giorno d&#8217;oggi dato che un algoritmo scritto in Assembly, se scritto bene, pu\u00f2 essere ottimizzato, aumentando cos\u00ec le prestazioni dell&#8217;algoritmo stesso, rispetto ad un linguaggio di programmazione ad alto livello.<\/p>\n<p>Innanzi tutto, l&#8217;Assembly \u00e8 differente per ogni macchina: per poter programmare in Assembly bisogna conoscere<img decoding=\"async\" title=\"Continua...\" src=\"http:\/\/www.iprog.it\/blog\/wp-includes\/js\/tinymce\/plugins\/wordpress\/img\/trans.gif\" alt=\"\" \/>il tipo di CPU, come \u00e8 costruita architetturalmente la macchina che si vuole programmare e il sistema operativo che si sta utilizzando.<img decoding=\"async\" title=\"Continua...\" src=\"http:\/\/www.iprog.it\/blog\/wp-includes\/js\/tinymce\/plugins\/wordpress\/img\/trans.gif\" alt=\"\" \/>Io programmer\u00f2 in Assembly utilizzando il simulatore del processore Intel 8086, su sistema operativo Windows.<\/p>\n<p>L&#8217;emulatore che utilizzeremo si chiama EMU8086 ed \u00e8 compreso di tutto:\u00a0editor, assemblatore, emulatore e un debugger.<\/p>\n<p>Nella prossima lezione impareremo un p\u00f2 la sintassi, giusto quello che serve per poter iniziare a programmare, anche programmi semplici come il sempre amato &#8220;Ciao, mondo!&#8221;.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&#8217;Assembly \u00e8 un linguaggio di programmazione a basso livello per eccellenza. Ad ogni stringa di codice corrisponde al movimento di una sola stringa di bit, per questo si dice che l&#8217;Assembly<\/p>\n","protected":false},"author":5,"featured_media":768,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[1459,1164,1469,392,1375,1468,394,393,400,1046],"class_list":["post-756","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-assembly","tag-assembly-","tag-codice","tag-eccellenza","tag-intel-8086","tag-lezione","tag-linguaggio-di-programmazione-a-basso-livello","tag-processore-intel","tag-programmare-in-assembly","tag-simulatore","tag-stringa"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Assembly - lezione 1: uno sguardo al linguaggio. - iProg<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.iprog.it\/blog\/assembly\/assembly-lezione-1-uno-sguardo-al-linguaggio\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Assembly - lezione 1: uno sguardo al linguaggio. - iProg\" \/>\n<meta name=\"twitter:description\" content=\"L&#8217;Assembly \u00e8 un linguaggio di programmazione a basso livello per eccellenza. Ad ogni stringa di codice corrisponde al movimento di una sola stringa di bit, per questo si dice che l&#8217;Assembly\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2011\/08\/assembly.gif\" \/>\n<meta name=\"twitter:creator\" content=\"@iprogblog\" \/>\n<meta name=\"twitter:site\" content=\"@iprogblog\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fabio\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/assembly\\\/assembly-lezione-1-uno-sguardo-al-linguaggio\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/assembly\\\/assembly-lezione-1-uno-sguardo-al-linguaggio\\\/\"},\"author\":{\"name\":\"Fabio\",\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/#\\\/schema\\\/person\\\/5f7d1474b2b5e8fe635f84906efc8c51\"},\"headline\":\"Assembly &#8211; lezione 1: uno sguardo al linguaggio.\",\"datePublished\":\"2011-08-01T16:11:07+00:00\",\"dateModified\":\"2012-04-30T17:33:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/assembly\\\/assembly-lezione-1-uno-sguardo-al-linguaggio\\\/\"},\"wordCount\":225,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/assembly\\\/assembly-lezione-1-uno-sguardo-al-linguaggio\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/wp-content\\\/uploads\\\/2011\\\/08\\\/assembly.gif\",\"keywords\":[\"Assembly \ufffd\",\"codice\",\"eccellenza\",\"intel 8086\",\"Lezione\",\"linguaggio di programmazione a basso livello\",\"processore intel\",\"programmare in assembly\",\"simulatore\",\"stringa\"],\"articleSection\":[\"Assembly\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.iprog.it\\\/blog\\\/assembly\\\/assembly-lezione-1-uno-sguardo-al-linguaggio\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/assembly\\\/assembly-lezione-1-uno-sguardo-al-linguaggio\\\/\",\"url\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/assembly\\\/assembly-lezione-1-uno-sguardo-al-linguaggio\\\/\",\"name\":\"Assembly - lezione 1: uno sguardo al linguaggio. - iProg\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/assembly\\\/assembly-lezione-1-uno-sguardo-al-linguaggio\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/assembly\\\/assembly-lezione-1-uno-sguardo-al-linguaggio\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/wp-content\\\/uploads\\\/2011\\\/08\\\/assembly.gif\",\"datePublished\":\"2011-08-01T16:11:07+00:00\",\"dateModified\":\"2012-04-30T17:33:35+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/#\\\/schema\\\/person\\\/5f7d1474b2b5e8fe635f84906efc8c51\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.iprog.it\\\/blog\\\/assembly\\\/assembly-lezione-1-uno-sguardo-al-linguaggio\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/assembly\\\/assembly-lezione-1-uno-sguardo-al-linguaggio\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/wp-content\\\/uploads\\\/2011\\\/08\\\/assembly.gif\",\"contentUrl\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/wp-content\\\/uploads\\\/2011\\\/08\\\/assembly.gif\",\"width\":\"436\",\"height\":\"249\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/\",\"name\":\"iProg\",\"description\":\"perch\u00e9 reinventare la ruota?\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/#\\\/schema\\\/person\\\/5f7d1474b2b5e8fe635f84906efc8c51\",\"name\":\"Fabio\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/03f928dca7330002301d292e5dc1b2fca35722d24a0628eaf129fd52acfc0a99?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/03f928dca7330002301d292e5dc1b2fca35722d24a0628eaf129fd52acfc0a99?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/03f928dca7330002301d292e5dc1b2fca35722d24a0628eaf129fd52acfc0a99?s=96&r=g\",\"caption\":\"Fabio\"},\"description\":\"Esperienza nella progettazione e sviluppo di Applicazioni mobili. Integro le conoscenze acquisite in ambito accademico con un continuo studio di nuove tecnologie che mi permettano di creare applicazioni sempre pi\u00f9 affidabili sicure ed efficienti. Venite a trovarmi sul blog Fabiosoft Google+\",\"sameAs\":[\"http:\\\/\\\/www.fabiosoft.com\",\"https:\\\/\\\/www.facebook.com\\\/devfabionisci\\\/\",\"http:\\\/\\\/it.linkedin.com\\\/in\\\/fabionisci\"],\"url\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/author\\\/fabiosoft\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Assembly - lezione 1: uno sguardo al linguaggio. - iProg","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.iprog.it\/blog\/assembly\/assembly-lezione-1-uno-sguardo-al-linguaggio\/","twitter_card":"summary_large_image","twitter_title":"Assembly - lezione 1: uno sguardo al linguaggio. - iProg","twitter_description":"L&#8217;Assembly \u00e8 un linguaggio di programmazione a basso livello per eccellenza. Ad ogni stringa di codice corrisponde al movimento di una sola stringa di bit, per questo si dice che l&#8217;Assembly","twitter_image":"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2011\/08\/assembly.gif","twitter_creator":"@iprogblog","twitter_site":"@iprogblog","twitter_misc":{"Scritto da":"Fabio","Tempo di lettura stimato":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.iprog.it\/blog\/assembly\/assembly-lezione-1-uno-sguardo-al-linguaggio\/#article","isPartOf":{"@id":"https:\/\/www.iprog.it\/blog\/assembly\/assembly-lezione-1-uno-sguardo-al-linguaggio\/"},"author":{"name":"Fabio","@id":"https:\/\/www.iprog.it\/blog\/#\/schema\/person\/5f7d1474b2b5e8fe635f84906efc8c51"},"headline":"Assembly &#8211; lezione 1: uno sguardo al linguaggio.","datePublished":"2011-08-01T16:11:07+00:00","dateModified":"2012-04-30T17:33:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.iprog.it\/blog\/assembly\/assembly-lezione-1-uno-sguardo-al-linguaggio\/"},"wordCount":225,"commentCount":0,"image":{"@id":"https:\/\/www.iprog.it\/blog\/assembly\/assembly-lezione-1-uno-sguardo-al-linguaggio\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2011\/08\/assembly.gif","keywords":["Assembly \ufffd","codice","eccellenza","intel 8086","Lezione","linguaggio di programmazione a basso livello","processore intel","programmare in assembly","simulatore","stringa"],"articleSection":["Assembly"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.iprog.it\/blog\/assembly\/assembly-lezione-1-uno-sguardo-al-linguaggio\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.iprog.it\/blog\/assembly\/assembly-lezione-1-uno-sguardo-al-linguaggio\/","url":"https:\/\/www.iprog.it\/blog\/assembly\/assembly-lezione-1-uno-sguardo-al-linguaggio\/","name":"Assembly - lezione 1: uno sguardo al linguaggio. - iProg","isPartOf":{"@id":"https:\/\/www.iprog.it\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.iprog.it\/blog\/assembly\/assembly-lezione-1-uno-sguardo-al-linguaggio\/#primaryimage"},"image":{"@id":"https:\/\/www.iprog.it\/blog\/assembly\/assembly-lezione-1-uno-sguardo-al-linguaggio\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2011\/08\/assembly.gif","datePublished":"2011-08-01T16:11:07+00:00","dateModified":"2012-04-30T17:33:35+00:00","author":{"@id":"https:\/\/www.iprog.it\/blog\/#\/schema\/person\/5f7d1474b2b5e8fe635f84906efc8c51"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.iprog.it\/blog\/assembly\/assembly-lezione-1-uno-sguardo-al-linguaggio\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.iprog.it\/blog\/assembly\/assembly-lezione-1-uno-sguardo-al-linguaggio\/#primaryimage","url":"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2011\/08\/assembly.gif","contentUrl":"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2011\/08\/assembly.gif","width":"436","height":"249"},{"@type":"WebSite","@id":"https:\/\/www.iprog.it\/blog\/#website","url":"https:\/\/www.iprog.it\/blog\/","name":"iProg","description":"perch\u00e9 reinventare la ruota?","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.iprog.it\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/www.iprog.it\/blog\/#\/schema\/person\/5f7d1474b2b5e8fe635f84906efc8c51","name":"Fabio","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/03f928dca7330002301d292e5dc1b2fca35722d24a0628eaf129fd52acfc0a99?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/03f928dca7330002301d292e5dc1b2fca35722d24a0628eaf129fd52acfc0a99?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/03f928dca7330002301d292e5dc1b2fca35722d24a0628eaf129fd52acfc0a99?s=96&r=g","caption":"Fabio"},"description":"Esperienza nella progettazione e sviluppo di Applicazioni mobili. Integro le conoscenze acquisite in ambito accademico con un continuo studio di nuove tecnologie che mi permettano di creare applicazioni sempre pi\u00f9 affidabili sicure ed efficienti. Venite a trovarmi sul blog Fabiosoft Google+","sameAs":["http:\/\/www.fabiosoft.com","https:\/\/www.facebook.com\/devfabionisci\/","http:\/\/it.linkedin.com\/in\/fabionisci"],"url":"https:\/\/www.iprog.it\/blog\/author\/fabiosoft\/"}]}},"views":5151,"_links":{"self":[{"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/posts\/756","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/comments?post=756"}],"version-history":[{"count":0,"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/posts\/756\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/media\/768"}],"wp:attachment":[{"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/media?parent=756"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/categories?post=756"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/tags?post=756"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}