{"id":14717,"date":"2022-12-19T23:15:40","date_gmt":"2022-12-19T23:15:40","guid":{"rendered":"https:\/\/bryceautomation.com\/?p=14717"},"modified":"2022-12-19T23:17:43","modified_gmt":"2022-12-19T23:17:43","slug":"converting-8080-to-z80-assembly","status":"publish","type":"post","link":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/19\/converting-8080-to-z80-assembly\/","title":{"rendered":"Converting 8080 to Z80 Assembly"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introduction to Converting 8080 to Z80 Assembly<\/h2>\n\n\n\n<p>In this section, we&#8217;ll discuss Converting 8080 to Z80 Assembly.  In most cases,  you should be able to run an 8080 assembler on 8080 assembly code.  The binary should run on the Z80 processor.  If you need to convert small portions of 8080 assembly to use in a Z80 project though, this is fairly easy to do.  There are even programs and libraries to help with this conversion.  You will find a discussion on this topic at <a href=\"https:\/\/comp.os.cpm.narkive.com\/iqgZODaK\/looking-for-an-8080-to-z80-op-code-converter\">this link.<\/a><\/p><div id=\"bryce-3062900687\" class=\"bryce-afterfirst bryce-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8316758073402323\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-8316758073402323\" \ndata-ad-slot=\"7728240895\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>\n\n\n\n<p>Basically, I prefer the manual conversion method, though for small pieces of code.  This helps me to better understand the differences between the two sets of mnemonics.<\/p>\n\n\n\n<p>In this case, we&#8217;ll simply convert a program to ring the console bell.  This program is from page 52 of the book <a href=\"https:\/\/oldcomputers.dyndns.org\/public\/pub\/manuals\/mastering_cpm.pdf\">&#8220;Mastering CP\/M&#8221; by Alan Miller.<\/a>  I&#8217;ve modified the 8080 code slightly.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>; RING A BELL (8080 Code)\n\nBEL:        EQU     7\nBDOS:       EQU     0005H\nTYPEF:      EQU     2\n\n            ORG     0100H\nSTART:      LXI     SP,0100H\n            MVI     C,TYPEF\n            MVI     E,BEL\n            CALL    BDOS\n            JMP     0\n            END\n            \n<\/code><\/pre>\n\n\n\n<p>To convert this small program, we&#8217;ll open two links.  We&#8217;ll use the <a href=\"http:\/\/www.emulator101.com\/reference\/8080-by-opcode.html\">8080 Opcode table<\/a>, and the <a href=\"https:\/\/clrhome.org\/table\/\">Z80 Opcode table.<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">My Procedure for Converting 8080 to Z80 Assembly<\/h2>\n\n\n\n<p>For the most part, our EQU statements are fine.  You might have to modify them slightly depending on the compiler that you are using.  For example, the z80asm compiler for linux needs a &#8220;:&#8221; after each label.  This even applies to the labels for the EQU statements.<\/p>\n\n\n\n<p>As you can see, the first command that we need to convert to Z80 is &#8220;LXI SP,0100H&#8221;.  Let&#8217;s look this up on the 8080 Table from the link above.  What we want to get is the hex code for this command.    For the most part, you can simply perform a FIND in your web browser.  Search for the mnemonic, and it&#8217;s first operand.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"216\" height=\"96\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-21.png\" alt=\"\" class=\"wp-image-14719 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 216px; --smush-placeholder-aspect-ratio: 216\/96;\" \/><\/figure>\n\n\n\n<p>The hex code is 31h.  Now, let&#8217;s look up this code on the Z80 opcode page from the link above.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"364\" height=\"308\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-22.png\" alt=\"\" class=\"wp-image-14720 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-22.png 364w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-22-300x254.png 300w\" data-sizes=\"(max-width: 364px) 100vw, 364px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 364px; --smush-placeholder-aspect-ratio: 364\/308;\" \/><\/figure>\n\n\n\n<p>As you can see, the command will be &#8220;LD SP,nn&#8221;, which in this case will be &#8220;LD SP,0100H&#8221;.<\/p>\n\n\n\n<p>After doing this for each opcode, we start to get the hang of how to convert the instructions.  They are not all quite that straight-forward.  This simple program gives us some good practice of how to look up the mnemonics though.<\/p>\n\n\n\n<p>We will end up with a program that looks similar to this.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>; RING A BELL (Z80 Code)\n\nBEL:        EQU     7\nBDOS:       EQU     0005H\nTYPEF:      EQU     2\n\n            ORG     0100H\nSTART:      LD      SP,0100H\n            LD      C,TYPEF\n            LD      E,BEL\n            CALL    BDOS\n            JP      0\n            END\n            <\/code><\/pre>\n\n\n\n<p>Finally, we&#8217;ll save this file as &#8220;BELL.Z80&#8221;.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Compiling the Z80 Code<\/h2>\n\n\n\n<p>At this point, you can compile (assemble) the code.  I already have z80asm on my z80 machine that I <a href=\"http:\/\/www.retroarchive.org\/cpm\/lang\/lang.htm\">downloaded from retroarchive.<\/a>  I&#8217;m going to send this file to the Z80 machine so I can run the assembler.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"575\" height=\"313\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-23.png\" alt=\"\" class=\"wp-image-14721 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-23.png 575w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-23-300x163.png 300w\" data-sizes=\"(max-width: 575px) 100vw, 575px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 575px; --smush-placeholder-aspect-ratio: 575\/313;\" \/><\/figure>\n\n\n\n<p>The assembler creates an executable COM file.  To run this file, we&#8217;ll simply type &#8220;BELL&#8221; at the command prompt.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"122\" height=\"103\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-24.png\" alt=\"\" class=\"wp-image-14722 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 122px; --smush-placeholder-aspect-ratio: 122\/103;\" \/><\/figure>\n\n\n\n<p>You should hear the bell ring on your console (assuming the volume is turned up, and your terminal program supports the bell)!  <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Summary for Converting 8080 to Z80 Assembly<\/h2>\n\n\n\n<p>In short,  you can assemble most 8080 programs with an 8080 assembler, and they will run fine on a z80 machine.  The opcodes are the same.  If you wish to use parts of 8080 code in a z80 project, though, you probably need to convert the commands.  For legal reasons, they had to have different mnemonics even though the opcodes are the same.  You can&#8217;t always go from Z80 to 8080 as easily though.  This is because the Z80 has additional commands that are not directly backward compatible to the 8080 processor.<\/p>\n\n\n\n<p>For more information, visit the <a href=\"https:\/\/bryceautomation.com\/index.php\/category\/vintage-computers\/\">Vintage Computer Category Page!<\/a><\/p>\n\n\n\n<p>&#8212; Ricky Bryce<\/p>\n<div id=\"bryce-1186779035\" class=\"bryce-after-content bryce-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8316758073402323\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-8316758073402323\" \ndata-ad-slot=\"4667596182\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Introduction to Converting 8080 to Z80 Assembly In this section, we&#8217;ll discuss Converting 8080 to Z80 Assembly. In most cases, you should be able to run an 8080 assembler on 8080 assembly code. The binary should run on the Z80 processor. If you need to convert small portions of 8080 assembly to use in a <a class=\"moretag btn btn-primary\" href=\"https:\/\/bryceautomation.com\/index.php\/2022\/12\/19\/converting-8080-to-z80-assembly\/\">Read More \u00bb<\/a><\/p>\n","protected":false},"author":1,"featured_media":14721,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[727],"tags":[879,880,423,878,420],"class_list":{"0":"post-14717","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-vintage-computers","8":"tag-879","9":"tag-bell","10":"tag-cp-m","11":"tag-cpm","12":"tag-z80","13":"czr-hentry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Converting 8080 to Z80 Assembly - Bryce Automation<\/title>\n<meta name=\"description\" content=\"Converting 8080 to Z80 Assembly manually by cross-referencing the Opcodes. We&#039;ll convert and assemble a simple bell program.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bryceautomation.com\/index.php\/2022\/12\/19\/converting-8080-to-z80-assembly\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Converting 8080 to Z80 Assembly - Bryce Automation\" \/>\n<meta property=\"og:description\" content=\"Converting 8080 to Z80 Assembly manually by cross-referencing the Opcodes. We&#039;ll convert and assemble a simple bell program.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bryceautomation.com\/index.php\/2022\/12\/19\/converting-8080-to-z80-assembly\/\" \/>\n<meta property=\"og:site_name\" content=\"Bryce Automation\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/ricky.bryce.7\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-19T23:15:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-19T23:17:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-23.png\" \/>\n\t<meta property=\"og:image:width\" content=\"575\" \/>\n\t<meta property=\"og:image:height\" content=\"313\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ricky\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/19\\\/converting-8080-to-z80-assembly\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/19\\\/converting-8080-to-z80-assembly\\\/\"},\"author\":{\"name\":\"Ricky\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"headline\":\"Converting 8080 to Z80 Assembly\",\"datePublished\":\"2022-12-19T23:15:40+00:00\",\"dateModified\":\"2022-12-19T23:17:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/19\\\/converting-8080-to-z80-assembly\\\/\"},\"wordCount\":582,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/19\\\/converting-8080-to-z80-assembly\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/image-23.png\",\"keywords\":[\"8080\",\"bell\",\"cp\\\/m\",\"cpm\",\"z80\"],\"articleSection\":[\"Vintage Computers\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/19\\\/converting-8080-to-z80-assembly\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/19\\\/converting-8080-to-z80-assembly\\\/\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/19\\\/converting-8080-to-z80-assembly\\\/\",\"name\":\"Converting 8080 to Z80 Assembly - Bryce Automation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/19\\\/converting-8080-to-z80-assembly\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/19\\\/converting-8080-to-z80-assembly\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/image-23.png\",\"datePublished\":\"2022-12-19T23:15:40+00:00\",\"dateModified\":\"2022-12-19T23:17:43+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"description\":\"Converting 8080 to Z80 Assembly manually by cross-referencing the Opcodes. We'll convert and assemble a simple bell program.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/19\\\/converting-8080-to-z80-assembly\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/19\\\/converting-8080-to-z80-assembly\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/19\\\/converting-8080-to-z80-assembly\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/image-23.png\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/image-23.png\",\"width\":575,\"height\":313,\"caption\":\"Converting 8080 to Z80 Assembly\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/19\\\/converting-8080-to-z80-assembly\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bryceautomation.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Converting 8080 to Z80 Assembly\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/\",\"name\":\"Bryce Automation\",\"description\":\"Automating Home and Industry...\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bryceautomation.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\",\"name\":\"Ricky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/a8f\\\/a8fe6bf79d292b388ffee281ccb12488x96.jpg\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/a8f\\\/a8fe6bf79d292b388ffee281ccb12488x96.jpg\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/a8f\\\/a8fe6bf79d292b388ffee281ccb12488x96.jpg\",\"caption\":\"Ricky\"},\"sameAs\":[\"http:\\\/\\\/bryceautomation.com\",\"https:\\\/\\\/www.facebook.com\\\/ricky.bryce.7\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/ricky-bryce-4367a416\\\/\"],\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/author\\\/ricky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Converting 8080 to Z80 Assembly - Bryce Automation","description":"Converting 8080 to Z80 Assembly manually by cross-referencing the Opcodes. We'll convert and assemble a simple bell program.","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:\/\/bryceautomation.com\/index.php\/2022\/12\/19\/converting-8080-to-z80-assembly\/","og_locale":"en_US","og_type":"article","og_title":"Converting 8080 to Z80 Assembly - Bryce Automation","og_description":"Converting 8080 to Z80 Assembly manually by cross-referencing the Opcodes. We'll convert and assemble a simple bell program.","og_url":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/19\/converting-8080-to-z80-assembly\/","og_site_name":"Bryce Automation","article_author":"https:\/\/www.facebook.com\/ricky.bryce.7","article_published_time":"2022-12-19T23:15:40+00:00","article_modified_time":"2022-12-19T23:17:43+00:00","og_image":[{"width":575,"height":313,"url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-23.png","type":"image\/png"}],"author":"Ricky","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/19\/converting-8080-to-z80-assembly\/#article","isPartOf":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/19\/converting-8080-to-z80-assembly\/"},"author":{"name":"Ricky","@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"headline":"Converting 8080 to Z80 Assembly","datePublished":"2022-12-19T23:15:40+00:00","dateModified":"2022-12-19T23:17:43+00:00","mainEntityOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/19\/converting-8080-to-z80-assembly\/"},"wordCount":582,"commentCount":0,"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/19\/converting-8080-to-z80-assembly\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-23.png","keywords":["8080","bell","cp\/m","cpm","z80"],"articleSection":["Vintage Computers"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bryceautomation.com\/index.php\/2022\/12\/19\/converting-8080-to-z80-assembly\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/19\/converting-8080-to-z80-assembly\/","url":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/19\/converting-8080-to-z80-assembly\/","name":"Converting 8080 to Z80 Assembly - Bryce Automation","isPartOf":{"@id":"https:\/\/bryceautomation.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/19\/converting-8080-to-z80-assembly\/#primaryimage"},"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/19\/converting-8080-to-z80-assembly\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-23.png","datePublished":"2022-12-19T23:15:40+00:00","dateModified":"2022-12-19T23:17:43+00:00","author":{"@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"description":"Converting 8080 to Z80 Assembly manually by cross-referencing the Opcodes. We'll convert and assemble a simple bell program.","breadcrumb":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/19\/converting-8080-to-z80-assembly\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bryceautomation.com\/index.php\/2022\/12\/19\/converting-8080-to-z80-assembly\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/19\/converting-8080-to-z80-assembly\/#primaryimage","url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-23.png","contentUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-23.png","width":575,"height":313,"caption":"Converting 8080 to Z80 Assembly"},{"@type":"BreadcrumbList","@id":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/19\/converting-8080-to-z80-assembly\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bryceautomation.com\/"},{"@type":"ListItem","position":2,"name":"Converting 8080 to Z80 Assembly"}]},{"@type":"WebSite","@id":"https:\/\/bryceautomation.com\/#website","url":"https:\/\/bryceautomation.com\/","name":"Bryce Automation","description":"Automating Home and Industry...","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bryceautomation.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7","name":"Ricky","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bryceautomation.com\/wp-content\/wphb-cache\/gravatar\/a8f\/a8fe6bf79d292b388ffee281ccb12488x96.jpg","url":"https:\/\/bryceautomation.com\/wp-content\/wphb-cache\/gravatar\/a8f\/a8fe6bf79d292b388ffee281ccb12488x96.jpg","contentUrl":"https:\/\/bryceautomation.com\/wp-content\/wphb-cache\/gravatar\/a8f\/a8fe6bf79d292b388ffee281ccb12488x96.jpg","caption":"Ricky"},"sameAs":["http:\/\/bryceautomation.com","https:\/\/www.facebook.com\/ricky.bryce.7","https:\/\/www.linkedin.com\/in\/ricky-bryce-4367a416\/"],"url":"https:\/\/bryceautomation.com\/index.php\/author\/ricky\/"}]}},"_links":{"self":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts\/14717","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/comments?post=14717"}],"version-history":[{"count":0,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts\/14717\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media\/14721"}],"wp:attachment":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media?parent=14717"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/categories?post=14717"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/tags?post=14717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}