{"id":14995,"date":"2022-12-29T09:45:32","date_gmt":"2022-12-29T09:45:32","guid":{"rendered":"https:\/\/bryceautomation.com\/?p=14995"},"modified":"2022-12-29T09:45:35","modified_gmt":"2022-12-29T09:45:35","slug":"cosmac-1802-i-o-operations","status":"publish","type":"post","link":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/29\/cosmac-1802-i-o-operations\/","title":{"rendered":"COSMAC 1802 I\/O Operations"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introduction to COSMAC 1802 I\/O Operations<\/h2>\n\n\n\n<p>COSMAC 1802 I\/O Operations allow us to get data from an input port, and write data to an output port.  In this case, I&#8217;m using the 1802 membership card.  On the 1802 Membership Card, we use Port 4 for both the switches and the lights.  In this section, we&#8217;ll cover how to read these switches and write them to the outputs (LED&#8217;s).<\/p><div id=\"bryce-1218284211\" 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>There are several ways that we can do this.  First, we&#8217;ll take a look at how to do this in Assembly Language using the actual processor instructions.  After that, we&#8217;ll explore how to do this in BASIC3 that comes with the most popular ROM for the Elf Membership Card.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"340\" height=\"193\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-78.png\" alt=\"\" class=\"wp-image-15007 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-78.png 340w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-78-300x170.png 300w\" data-sizes=\"(max-width: 340px) 100vw, 340px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 340px; --smush-placeholder-aspect-ratio: 340\/193;\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">I\/O Operations in Assembly<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Write the Code<\/h3>\n\n\n\n<p>Let&#8217;s take a look at how we would read the switches, and write these switches to the output.  In this case, we&#8217;ll do this in Assembly.  I have the ELF Membership Card with the ROM at 8000H.  My RAM begins at 0000H.   You can simply change the ORG statement in the code if your RAM is set to HIGH.  I&#8217;m using the <a href=\"https:\/\/bryceautomation.com\/index.php\/2022\/10\/22\/a18-assembler-for-cosmac\/\">A18 Assembler<\/a> to produce the Intel Hex file that we&#8217;ll upload.  Another way to enter the code is through the front panel switches.<\/p>\n\n\n\n<p>Let&#8217;s take a look at the code:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>R4:     EQU     4       ; Register 4\n\n        ORG     0100H   ;Program Starts at 0100H  \nSTART:\n        LDI     03      ; These four lines set up \n        PHI     R4      ; The storage Location\n        LDI     00      ; to 0300H.  We must do this\n        PLO     R4      ; Each scan, or R4 will Increment\n        SEX     R4      ; Set X to Register 4\n        INP     4       ; Get Switches, store to R4\n        OUT     4       ; Get Output from R4\n        BR      START   ; Restart\n        END<\/code><\/pre>\n\n\n\n<p>I like to start off by setting R4 Equal to 4.  That way, I can use R4 to clarify when I&#8217;m using a register in the code.  After that, we&#8217;ll set the ORG to 0100H.  I&#8217;m doing this for two reasons.  First, my RAM is in LOW memory.  Secondly, I&#8217;m not overwriting my jump statement at 0000H that allows me to get back into the ROM.<\/p>\n\n\n\n<p>At the start of the logic, we set up our storage location for Register 4.  We simply load 03 into the high address, and 00 into the low address.  Our storage location will be 0300 in memory.<\/p>\n\n\n\n<p>Next, we set X to point to Register 4.  Keep in mind, this in turn, points to memory cell 0300.  With the INPut statement, we get our switches from port 4, and store them to the memory cell pointed to by the register that X points to.  Likewise, our OUTput instruction will get data from the memory cell pointed to by the register pointed to by X (0300), and send this data to our lights.  The output register is also on Port 4.<\/p>\n\n\n\n<p>After that, we start our program over in a continuous loop.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Assemble the Code<\/h3>\n\n\n\n<p>Assemble the code (be sure you have output in Intel Hex format)  Boot to our ROM Monitor on the COSMAC.   Press &#8220;L&#8221; to Load your code. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"849\" height=\"483\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-73.png\" alt=\"\" class=\"wp-image-14999 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-73.png 849w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-73-300x171.png 300w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-73-768x437.png 768w\" data-sizes=\"(max-width: 849px) 100vw, 849px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 849px; --smush-placeholder-aspect-ratio: 849\/483;\" \/><\/figure>\n\n\n\n<p>Paste the Intel Hex file into your terminal.  Be sure you have character, and linefeed delays set up.  Mine are at 250 each, which is slow, but reliable.<\/p>\n\n\n\n<p>Here is my output from the Intel Hex file for ORG 0100H:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>:0B010000F803B4F800A4E46C643000C5\n:00010B01F3<\/code><\/pre>\n\n\n\n<p>After that, we&#8217;ll type &#8220;R0100&#8221; to run the program at 0100H.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"801\" height=\"140\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-75.png\" alt=\"\" class=\"wp-image-15003 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-75.png 801w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-75-300x52.png 300w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-75-768x134.png 768w\" data-sizes=\"(max-width: 801px) 100vw, 801px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 801px; --smush-placeholder-aspect-ratio: 801\/140;\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">COSMAC 1802 I\/O Operations in BASIC<\/h2>\n\n\n\n<p>The ROM Chip I purchased also has BASIC3 on it.  To get into BASIC, I simply boot to the monitor at 8000H.  Next, press B to get into BASIC, and we&#8217;ll do a Cold boot.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"322\" height=\"79\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-76.png\" alt=\"\" class=\"wp-image-15004 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-76.png 322w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-76-300x74.png 300w\" data-sizes=\"(max-width: 322px) 100vw, 322px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 322px; --smush-placeholder-aspect-ratio: 322\/79;\" \/><\/figure>\n\n\n\n<p>Let&#8217;s type in the program as follows:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"298\" height=\"223\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-77.png\" alt=\"\" class=\"wp-image-15005 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 298px; --smush-placeholder-aspect-ratio: 298\/223;\" \/><\/figure>\n\n\n\n<p>In Line #10, we set A equal to the value of our switches, which is on port 4.  The first operand is 0, and the second operand is the port number.  If the first operand is a value other than zero, then it will send that value to port 1.  Since we are not using port 1, we&#8217;ll leave this first value at zero.<\/p>\n\n\n\n<p>In line 20, we send the value of A to port 4.  Again the first operand sends a value to port 1, and since we are not using that, we&#8217;ll leave this at zero.  The second operand is the port number, which is 4 for the MC.  The third operand is the value that we are sending to port 4.  Remember that A is equal to the value of our switches.  So basically, we are just sending the value of the switches to our LED&#8217;s.  <\/p>\n\n\n\n<p>Line 30 gives us a way to exit the program.  If all switches are on at the same time, then the decimal value is 255.  The program ends.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Summary of COSMAC 1802 I\/O Operations<\/h2>\n\n\n\n<p>In short, the IN and OUT commands give us a way to interface with the real world.  We can load the switches into memory for user input, and our logic can take action based on this user input.  The OUT instruction allows us to inform the operator of what is going on in the processor&#8217;s memory.  Additionally, we can use the OUT instruction to control things in the real world such as a pump or motor.<\/p>\n\n\n\n<p>For more information, visit the <a href=\"https:\/\/bryceautomation.com\/index.php\/category\/vintage-computers\/cosmac\/\">COSMAC Category Page!<\/a><\/p>\n\n\n\n<p>&#8212; Ricky Bryce<\/p>\n<div id=\"bryce-3562541994\" 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 COSMAC 1802 I\/O Operations COSMAC 1802 I\/O Operations allow us to get data from an input port, and write data to an output port. In this case, I&#8217;m using the 1802 membership card. On the 1802 Membership Card, we use Port 4 for both the switches and the lights. In this section, we&#8217;ll <a class=\"moretag btn btn-primary\" href=\"https:\/\/bryceautomation.com\/index.php\/2022\/12\/29\/cosmac-1802-i-o-operations\/\">Read More \u00bb<\/a><\/p>\n","protected":false},"author":1,"featured_media":15007,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[821,727],"tags":[784,723,132,134],"class_list":{"0":"post-14995","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-cosmac","8":"category-vintage-computers","9":"tag-assembly","10":"tag-basic","11":"tag-input","12":"tag-output","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>COSMAC 1802 I\/O Operations - Bryce Automation<\/title>\n<meta name=\"description\" content=\"COSMAC 1802 I\/O Operations using Port 4 to read the switches and control the lights in Assembly, and BASIC Programming languages.\" \/>\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\/29\/cosmac-1802-i-o-operations\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"COSMAC 1802 I\/O Operations - Bryce Automation\" \/>\n<meta property=\"og:description\" content=\"COSMAC 1802 I\/O Operations using Port 4 to read the switches and control the lights in Assembly, and BASIC Programming languages.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bryceautomation.com\/index.php\/2022\/12\/29\/cosmac-1802-i-o-operations\/\" \/>\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-29T09:45:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-29T09:45:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-78.png\" \/>\n\t<meta property=\"og:image:width\" content=\"340\" \/>\n\t<meta property=\"og:image:height\" content=\"193\" \/>\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\\\/29\\\/cosmac-1802-i-o-operations\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/29\\\/cosmac-1802-i-o-operations\\\/\"},\"author\":{\"name\":\"Ricky\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"headline\":\"COSMAC 1802 I\\\/O Operations\",\"datePublished\":\"2022-12-29T09:45:32+00:00\",\"dateModified\":\"2022-12-29T09:45:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/29\\\/cosmac-1802-i-o-operations\\\/\"},\"wordCount\":811,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/29\\\/cosmac-1802-i-o-operations\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/image-78.png\",\"keywords\":[\"Assembly\",\"BASIC\",\"Input\",\"Output\"],\"articleSection\":[\"COSMAC\",\"Vintage Computers\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/29\\\/cosmac-1802-i-o-operations\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/29\\\/cosmac-1802-i-o-operations\\\/\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/29\\\/cosmac-1802-i-o-operations\\\/\",\"name\":\"COSMAC 1802 I\\\/O Operations - Bryce Automation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/29\\\/cosmac-1802-i-o-operations\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/29\\\/cosmac-1802-i-o-operations\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/image-78.png\",\"datePublished\":\"2022-12-29T09:45:32+00:00\",\"dateModified\":\"2022-12-29T09:45:35+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"description\":\"COSMAC 1802 I\\\/O Operations using Port 4 to read the switches and control the lights in Assembly, and BASIC Programming languages.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/29\\\/cosmac-1802-i-o-operations\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/29\\\/cosmac-1802-i-o-operations\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/29\\\/cosmac-1802-i-o-operations\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/image-78.png\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/image-78.png\",\"width\":340,\"height\":193,\"caption\":\"COSMAC 1802 I\\\/O Operations\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/12\\\/29\\\/cosmac-1802-i-o-operations\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bryceautomation.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"COSMAC 1802 I\\\/O Operations\"}]},{\"@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":"COSMAC 1802 I\/O Operations - Bryce Automation","description":"COSMAC 1802 I\/O Operations using Port 4 to read the switches and control the lights in Assembly, and BASIC Programming languages.","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\/29\/cosmac-1802-i-o-operations\/","og_locale":"en_US","og_type":"article","og_title":"COSMAC 1802 I\/O Operations - Bryce Automation","og_description":"COSMAC 1802 I\/O Operations using Port 4 to read the switches and control the lights in Assembly, and BASIC Programming languages.","og_url":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/29\/cosmac-1802-i-o-operations\/","og_site_name":"Bryce Automation","article_author":"https:\/\/www.facebook.com\/ricky.bryce.7","article_published_time":"2022-12-29T09:45:32+00:00","article_modified_time":"2022-12-29T09:45:35+00:00","og_image":[{"width":340,"height":193,"url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-78.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\/29\/cosmac-1802-i-o-operations\/#article","isPartOf":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/29\/cosmac-1802-i-o-operations\/"},"author":{"name":"Ricky","@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"headline":"COSMAC 1802 I\/O Operations","datePublished":"2022-12-29T09:45:32+00:00","dateModified":"2022-12-29T09:45:35+00:00","mainEntityOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/29\/cosmac-1802-i-o-operations\/"},"wordCount":811,"commentCount":0,"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/29\/cosmac-1802-i-o-operations\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-78.png","keywords":["Assembly","BASIC","Input","Output"],"articleSection":["COSMAC","Vintage Computers"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bryceautomation.com\/index.php\/2022\/12\/29\/cosmac-1802-i-o-operations\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/29\/cosmac-1802-i-o-operations\/","url":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/29\/cosmac-1802-i-o-operations\/","name":"COSMAC 1802 I\/O Operations - Bryce Automation","isPartOf":{"@id":"https:\/\/bryceautomation.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/29\/cosmac-1802-i-o-operations\/#primaryimage"},"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/29\/cosmac-1802-i-o-operations\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-78.png","datePublished":"2022-12-29T09:45:32+00:00","dateModified":"2022-12-29T09:45:35+00:00","author":{"@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"description":"COSMAC 1802 I\/O Operations using Port 4 to read the switches and control the lights in Assembly, and BASIC Programming languages.","breadcrumb":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/29\/cosmac-1802-i-o-operations\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bryceautomation.com\/index.php\/2022\/12\/29\/cosmac-1802-i-o-operations\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/29\/cosmac-1802-i-o-operations\/#primaryimage","url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-78.png","contentUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/12\/image-78.png","width":340,"height":193,"caption":"COSMAC 1802 I\/O Operations"},{"@type":"BreadcrumbList","@id":"https:\/\/bryceautomation.com\/index.php\/2022\/12\/29\/cosmac-1802-i-o-operations\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bryceautomation.com\/"},{"@type":"ListItem","position":2,"name":"COSMAC 1802 I\/O Operations"}]},{"@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\/14995","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=14995"}],"version-history":[{"count":0,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts\/14995\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media\/15007"}],"wp:attachment":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media?parent=14995"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/categories?post=14995"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/tags?post=14995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}