{"id":10,"date":"1982-03-12T11:25:17","date_gmt":"1982-03-12T08:25:17","guid":{"rendered":"http:\/\/z80.gr\/?page_id=10"},"modified":"2016-12-31T15:09:03","modified_gmt":"2016-12-31T12:09:03","slug":"z80","status":"publish","type":"page","link":"https:\/\/www.z80.gr\/","title":{"rendered":"z80"},"content":{"rendered":"<h1 id=\"firstHeading\" class=\"firstHeading\" lang=\"el\" style=\"text-align: center;\">Zilog Z80<\/h1>\n<div class=\"thumb tright\">\n<div class=\"thumbinner\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\"thumbimage aligncenter\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/1\/19\/Zilog_Z80.jpg\/280px-Zilog_Z80.jpg\" srcset=\"\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/1\/19\/Zilog_Z80.jpg\/420px-Zilog_Z80.jpg 1.5x, \/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/1\/19\/Zilog_Z80.jpg\/560px-Zilog_Z80.jpg 2x\" alt=\"\" width=\"280\" height=\"154\" data-file-width=\"588\" data-file-height=\"324\" \/><\/p>\n<div class=\"thumbcaption\"><\/div>\n<\/div>\n<\/div>\n<div class=\"thumb tright\">\n<div class=\"thumbinner\">\n<div class=\"thumbcaption\">\u0388\u03bd\u03b1\u03c2 \u03b1\u03c0\u03cc \u03c4\u03bf\u03c5\u03c2 \u03c0\u03c1\u03ce\u03c4\u03bf\u03c5\u03c2 \u03bc\u03b9\u03ba\u03c1\u03bf\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03c4\u03ad\u03c2 <b>Z80<\/b>, \u03c0\u03bf\u03c5 \u03ba\u03b1\u03c4\u03b1\u03c3\u03ba\u03b5\u03c5\u03ac\u03c3\u03c4\u03b7\u03ba\u03b5 \u03c4\u03bf\u03bd \u0399\u03bf\u03cd\u03bd\u03b9\u03bf \u03c4\u03bf\u03c5 1976<\/div>\n<\/div>\n<\/div>\n<p>\u039f <b>\u039680<\/b> \u03b5\u03af\u03bd\u03b1\u03b9 \u03bc\u03b9\u03ba\u03c1\u03bf\u03b5\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03c4\u03ae\u03c2 (<i>CPU<\/i>) 8-bit \u03c0\u03bf\u03c5 \u03c3\u03c7\u03b5\u03b4\u03b9\u03ac\u03c3\u03c4\u03b7\u03ba\u03b5 \u03b1\u03c0\u03cc \u03c4\u03b7\u03bd \u03b5\u03c4\u03b1\u03b9\u03c1\u03b5\u03af\u03b1 \u03b7\u03bc\u03b9\u03b1\u03b3\u03c9\u03b3\u03ce\u03bd Zilog \u03ba\u03b1\u03b9 \u03ba\u03c5\u03ba\u03bb\u03bf\u03c6\u03cc\u03c1\u03b7\u03c3\u03b5 \u03c4\u03bf\u03bd \u0399\u03bf\u03cd\u03bb\u03b9\u03bf \u03c4\u03bf\u03c5 1976. \u0395\u03af\u03c7\u03b5 \u03b5\u03c5\u03c1\u03b5\u03af\u03b1 \u03c7\u03c1\u03ae\u03c3\u03b7 \u03c3\u03b5 \u03b7\u03bb\u03b5\u03ba\u03c4\u03c1\u03bf\u03bd\u03b9\u03ba\u03bf\u03cd\u03c2 \u03c5\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03c4\u03ad\u03c2 \u03b3\u03b9\u03b1 \u03c3\u03c4\u03c1\u03b1\u03c4\u03b9\u03c9\u03c4\u03b9\u03ba\u03ad\u03c2 \u03c7\u03c1\u03ae\u03c3\u03b5\u03b9\u03c2. \u039f Z80 \u03ba\u03b1\u03b9 \u03bf\u03b9 \u03ba\u03bb\u03ce\u03bd\u03bf\u03b9 \u03c4\u03bf\u03c5 \u03bc\u03b1\u03b6\u03af \u03bc\u03b5 \u03c4\u03b7\u03bd \u03c4\u03b5\u03c7\u03bd\u03bf\u03bb\u03bf\u03b3\u03af\u03b1 \u03c4\u03b7\u03c2 \u03bf\u03b9\u03ba\u03bf\u03b3\u03ad\u03bd\u03b5\u03b9\u03b1\u03c2 \u03b5\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03c4\u03ce\u03bd 6502 \u03b5\u03af\u03c7\u03b1\u03bd \u03c4\u03b7\u03bd \u03c0\u03b9\u03bf \u03b5\u03bc\u03c6\u03b1\u03bd\u03ae \u03c0\u03b1\u03c1\u03bf\u03c5\u03c3\u03af\u03b1 \u03c3\u03c4\u03b7\u03bd \u03b1\u03b3\u03bf\u03c1\u03ac \u03c4\u03c9\u03bd 8-bit \u03bc\u03b9\u03ba\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03c4\u03ce\u03bd \u03b1\u03c0\u03cc \u03c4\u03b1 \u03c4\u03ad\u03bb\u03b7 \u03c4\u03b7\u03c2 \u03b4\u03b5\u03ba\u03b1\u03b5\u03c4\u03af\u03b1\u03c2 \u03c4\u03bf\u03c5 &#8217;70 \u03bc\u03ad\u03c7\u03c1\u03b9 \u03c4\u03b1 \u03bc\u03ad\u03c3\u03b1 \u03c4\u03b7\u03c2 \u03b4\u03b5\u03ba\u03b1\u03b5\u03c4\u03af\u03b1\u03c2 \u03c4\u03bf\u03c5 &#8217;80. \u039f \u03c7\u03c1\u03bf\u03bd\u03b9\u03c3\u03bc\u03cc\u03c2 \u03ad\u03c6\u03c4\u03b1\u03bd\u03b5 \u03c3\u03c4\u03b1 2,5 MHz \u03c3\u03c4\u03bf\u03bd \u03b1\u03c0\u03bb\u03cc \u03ba\u03b1\u03b9 4Mhz \u03c3\u03c4\u03bf\u03bd Z80A. \u039f Z80 \u03b1\u03bd\u03c4\u03b9\u03b3\u03c1\u03ac\u03c6\u03b7\u03ba\u03b5 \u03ba\u03b1\u03c4\u03ac \u03ba\u03cc\u03c1\u03bf\u03bd, \u03c7\u03c9\u03c1\u03af\u03c2 \u03ac\u03b4\u03b5\u03b9\u03b1 \u03b1\u03c0\u03cc \u03c4\u03b7 <i>Zilog<\/i>, \u03b1\u03c0\u03cc \u03c0\u03bf\u03bb\u03bb\u03bf\u03cd\u03c2 \u03ba\u03b1\u03c4\u03b1\u03c3\u03ba\u03b5\u03c5\u03b1\u03c3\u03c4\u03ad\u03c2 \u03b1\u03c0\u03cc \u03c4\u03b7\u03bd \u03b1\u03bd\u03b1\u03c4\u03bf\u03bb\u03b9\u03ba\u03ae \u0395\u03c5\u03c1\u03ce\u03c0\u03b7 \u03ba\u03b1\u03b9 \u03c4\u03b7 \u03a1\u03c9\u03c3\u03af\u03b1.<\/p>\n<h2><span id=\".CE.99.CF.83.CF.84.CE.BF.CF.81.CE.AF.CE.B1\" class=\"mw-headline\">\u0399\u03c3\u03c4\u03bf\u03c1\u03af\u03b1<\/span><\/h2>\n<p>\u039f\u03b9 <i>Federico Faggin<\/i> \u03ba\u03b1\u03b9 \u03bf <i>Ralph Ungermann<\/i> \u03ae\u03c4\u03b1\u03bd \u03bf\u03b9 \u03b9\u03b4\u03c1\u03c5\u03c4\u03ad\u03c2 \u03c4\u03b7\u03c2 Zilog \u03ba\u03b1\u03b9 \u03c3\u03c4\u03c5\u03bb\u03bf\u03b2\u03ac\u03c4\u03b5\u03c2 \u03c4\u03bf\u03c5 \u03c0\u03bb\u03ac\u03bd\u03bf\u03c5 \u03b3\u03b9\u03b1 \u03c4\u03b7\u03bd \u03ba\u03b1\u03c4\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae \u03c4\u03bf\u03c5 Z80 \u03ba\u03b1\u03b9 \u03c4\u03b7\u03bd \u03b5\u03bc\u03c6\u03ac\u03bd\u03b9\u03c3\u03b7 \u03c4\u03bf\u03c5 \u03c3\u03c4\u03b7\u03bd \u03b1\u03b3\u03bf\u03c1\u03ac \u03c4\u03bf\u03bd \u0399\u03bf\u03cd\u03bb\u03b9\u03bf \u03c4\u03bf\u03c5 1976. It was designed to be binary compatible with the Intel 8080 \u039f \u03c0\u03c1\u03ce\u03c4\u03bf\u03c2 \u03b5\u03ba \u03c4\u03c9\u03bd \u03b4\u03cd\u03bf \u03ae\u03c4\u03b1\u03bd \u03c0\u03c1\u03ce\u03b7\u03bd \u03c3\u03c4\u03ad\u03bb\u03b5\u03c7\u03bf\u03c2 \u03c4\u03b7\u03c2 Intel \u03ba\u03b1\u03b9 \u03c3\u03c5\u03bc\u03bc\u03b5\u03c4\u03b5\u03af\u03c7\u03b5 \u03c3\u03c4\u03bf \u03c3\u03c7\u03b5\u03b4\u03b9\u03b1\u03c3\u03bc\u03cc \u03c4\u03b7\u03c2 \u039a\u03b5\u03bd\u03c4\u03c1\u03b9\u03ba\u03ae\u03c2 \u039c\u03bf\u03bd\u03ac\u03b4\u03b1\u03c2 \u0395\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b1\u03c2 8080 \u03c4\u03b7\u03c2 \u03b5\u03bd \u03bb\u03cc\u03b3\u03c9 \u03b5\u03c4\u03b1\u03b9\u03c1\u03b5\u03af\u03b1\u03c2. \u039f Z80 \u03ae\u03c4\u03b1\u03bd \u03c3\u03c7\u03b5\u03b4\u03b9\u03b1\u03c3\u03bc\u03ad\u03bd\u03bf\u03c2 \u03bd\u03b1 \u03b5\u03af\u03bd\u03b1\u03b9 \u03c8\u03b7\u03c6\u03b9\u03b1\u03ba\u03ac \u03c3\u03c5\u03bc\u03b2\u03b1\u03c4\u03cc\u03c2 \u03bc\u03b5 \u03c4\u03bf\u03bd Intel <i>8080<\/i>, \u03ba\u03c5\u03c1\u03af\u03c9\u03c2 \u03b5\u03c0\u03b5\u03b9\u03b4\u03ae \u03ad\u03c4\u03c3\u03b9 \u03b8\u03b1 \u03b5\u03be\u03b1\u03c3\u03c6\u03ac\u03bb\u03b9\u03b6\u03b5 \u03c3\u03c5\u03bc\u03b2\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1 \u03bc\u03b5 \u03c4\u03bf \u03b4\u03b7\u03bc\u03bf\u03c6\u03b9\u03bb\u03ad\u03c3\u03c4\u03b1\u03c4\u03bf \u03b5\u03ba\u03b5\u03af\u03bd\u03b7 \u03c4\u03b7\u03bd \u03b5\u03c0\u03bf\u03c7\u03ae \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03b9\u03ba\u03cc \u03c3\u03cd\u03c3\u03c4\u03b7\u03bc\u03b1 CP\/M. \u0395\u03c0\u03af\u03c3\u03b7\u03c2 \u03bf Masatoshi Shima \u03c0\u03c1\u03ce\u03b7\u03bd \u03c3\u03c5\u03bd\u03c3\u03c7\u03b5\u03b4\u03b9\u03b1\u03c3\u03c4\u03ae\u03c2 \u03c4\u03c9\u03bd \u03b5\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03c4\u03ce\u03bd \u03c4\u03b7\u03c2 Intel 4004 \u03ba\u03b1\u03b9 8080 \u03b2\u03bf\u03ae\u03b8\u03b7\u03c3\u03b5 \u03c3\u03b7\u03bc\u03b1\u03bd\u03c4\u03b9\u03ba\u03ac \u03c3\u03c4\u03b7\u03bd \u03b1\u03bd\u03ac\u03c0\u03c4\u03c5\u03be\u03b7 \u03c4\u03bf\u03c5 Z80. \u039f\u03b9 \u03b4\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b5\u03c2 \u03c4\u03bf\u03c5 \u03b5\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03c4\u03ae \u03c4\u03b7\u03c2 Zilog \u03ae\u03c4\u03b1\u03bd \u03c5\u03c0\u03b5\u03c1\u03c3\u03cd\u03bd\u03bf\u03bb\u03bf \u03c4\u03c9\u03bd \u03b4\u03c5\u03bd\u03b1\u03c4\u03bf\u03c4\u03ae\u03c4\u03c9\u03bd \u03c4\u03bf\u03c5 <i>8080<\/i>.<\/p>\n<h2><span id=\".CE.A4.CE.B5.CF.87.CE.BD.CE.B9.CE.BA.CE.AC_.CF.87.CE.B1.CF.81.CE.B1.CE.BA.CF.84.CE.B7.CF.81.CE.B9.CF.83.CF.84.CE.B9.CE.BA.CE.AC\" class=\"mw-headline\">\u03a4\u03b5\u03c7\u03bd\u03b9\u03ba\u03ac \u03c7\u03b1\u03c1\u03b1\u03ba\u03c4\u03b7\u03c1\u03b9\u03c3\u03c4\u03b9\u03ba\u03ac<\/span><\/h2>\n<p>\u0397 \u03b1\u03c1\u03c4\u03b7\u03c1\u03af\u03b1 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd (<i>data bus<\/i>) \u03c4\u03bf\u03c5 Z80 \u03b5\u03af\u03bd\u03b1\u03b9 \u03c4\u03c9\u03bd <i>8-bits<\/i> \u03ba\u03b1\u03b9 \u03bf \u03b4\u03af\u03b1\u03c5\u03bb\u03bf\u03c2 \u03b4\u03b9\u03b5\u03c5\u03b8\u03cd\u03bd\u03c3\u03b5\u03c9\u03bd (<i>address bus<\/i>) \u03b5\u03af\u03bd\u03b1\u03b9 \u03c4\u03c9\u03bd 16-bits, \u03b7 \u03c4\u03b5\u03bb\u03b5\u03c5\u03c4\u03b1\u03af\u03b1 \u03b4\u03b7\u03bb\u03b1\u03b4\u03ae \u03bc\u03c0\u03bf\u03c1\u03b5\u03af \u03bd\u03b1 \u03b4\u03b9\u03b5\u03c5\u03b8\u03c5\u03bd\u03c3\u03b9\u03bf\u03b4\u03bf\u03c4\u03ae\u03c3\u03b5\u03b9 2^16 bits (64Kb). \u039f\u03b9 \u03ba\u03b1\u03c4\u03b1\u03c7\u03c9\u03c1\u03b7\u03c4\u03ad\u03c2 \u03b5\u03af\u03bd\u03b1\u03b9 \u03bf\u03b9 <b>B<\/b>, <b>C<\/b>, <b>D<\/b>, <b>E<\/b>, <b>H<\/b> \u03ba\u03b1\u03b9 <b>L<\/b> \u03ba\u03b1\u03b9 \u03bf\u03b9 \u03c3\u03c5\u03bc\u03bc\u03b5\u03c4\u03c1\u03b9\u03ba\u03bf\u03af <b>B&#8217;<\/b>, <b>C&#8217;<\/b>, <b>D&#8217;<\/b>, <b>E&#8217;<\/b>, <b>H&#8217;<\/b> \u03ba\u03b1\u03b9 <b>L&#8217;<\/b>. \u0388\u03c7\u03b5\u03b9 \u03b5\u03c0\u03af\u03c3\u03b7\u03c2 \u03b4\u03cd\u03bf \u03c3\u03c5\u03c3\u03c3\u03c9\u03c1\u03b5\u03c5\u03c4\u03ad\u03c2 (<i>accumulators<\/i>) \u03c0\u03bf\u03c5 \u03bf\u03bd\u03bf\u03bc\u03ac\u03b6\u03bf\u03bd\u03c4\u03b1\u03b9 <b>A<\/b> \u03ba\u03b1\u03b9 <b>A&#8217;<\/b> \u03ba\u03b1\u03b9 \u03b4\u03cd\u03bf \u03ba\u03b1\u03c4\u03b1\u03c7\u03c9\u03c1\u03b7\u03c4\u03ad\u03c2 \u03b4\u03b5\u03b9\u03ba\u03c4\u03ce\u03bd \u03ba\u03b1\u03c4\u03b1\u03c3\u03c4\u03ac\u03c3\u03b5\u03c9\u03c2 (<i>status flags<\/i>), \u03c4\u03bf\u03c5\u03c2 <b>F<\/b> \u03ba\u03b1\u03b9 <b>F&#8217;<\/b>. \u03a3\u03b5 \u03bc\u03b9\u03b1 \u03c4\u03c5\u03c0\u03b9\u03ba\u03ae \u03b5\u03c6\u03b1\u03c1\u03bc\u03bf\u03b3\u03ae, \u03bf\u03b9 \u03ba\u03b1\u03bd\u03bf\u03bd\u03b9\u03ba\u03bf\u03af \u03ba\u03b1\u03c4\u03b1\u03c7\u03c9\u03c1\u03b7\u03c4\u03ad\u03c2 \u03c7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03bf\u03cd\u03bd\u03c4\u03b1\u03b9 \u03b3\u03b9\u03b1 \u03c4\u03b9\u03c2 \u03b4\u03b9\u03b1\u03b4\u03b9\u03ba\u03b1\u03c3\u03af\u03b5\u03c2 \u03c4\u03bf\u03c5 \u03ba\u03cd\u03c1\u03b9\u03bf\u03c5 \u03c0\u03c1\u03bf\u03b3\u03c1\u03ac\u03bc\u03bc\u03b1\u03c4\u03bf\u03c2, \u03b5\u03bd\u03ce \u03bf\u03b9 \u03c4\u03bf\u03bd\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf\u03b9 \u03ba\u03b1\u03c4\u03b1\u03c7\u03c9\u03c1\u03b7\u03c4\u03ad\u03c2 \u03c7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03bf\u03cd\u03bd\u03c4\u03b1\u03b9 \u03b3\u03b9\u03b1 \u03c4\u03bf \u03c7\u03b5\u03b9\u03c1\u03b9\u03c3\u03bc\u03cc \u03b4\u03b9\u03b1\u03ba\u03bf\u03c0\u03ce\u03bd (<i>interrupts<\/i>). \u039f\u03b9 \u03c4\u03bf\u03bd\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf\u03b9 \u03ba\u03b1\u03c4\u03b1\u03c7\u03c9\u03c1\u03b7\u03c4\u03ad\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bd \u03bd\u03b1 \u03b3\u03af\u03bd\u03bf\u03c5\u03bd \u03c0\u03c1\u03bf\u03c3\u03b9\u03c4\u03bf\u03af \u03bc\u03b5 \u03bc\u03b9\u03b1 \u03c3\u03b5\u03b9\u03c1\u03ac \u03b5\u03bd\u03c4\u03bf\u03bb\u03ce\u03bd \u03b1\u03bd\u03c4\u03b1\u03bb\u03bb\u03b1\u03b3\u03ae\u03c2 (<i>exchange<\/i>) \u03c0\u03bf\u03c5 \u03b1\u03bd\u03c4\u03b1\u03bb\u03bb\u03ac\u03c3\u03c3\u03bf\u03c5\u03bd \u03c4\u03b1 \u03c0\u03b5\u03c1\u03b9\u03b5\u03c7\u03cc\u03bc\u03b5\u03bd\u03b1 \u03b5\u03bd\u03cc\u03c2 \u03b6\u03b5\u03cd\u03b3\u03bf\u03c5\u03c2 \u03ba\u03b1\u03c4\u03b1\u03c7\u03c9\u03c1\u03b7\u03c4\u03ce\u03bd \u03bc\u03b5 \u03c4\u03bf \u03b1\u03bd\u03c4\u03af\u03c3\u03c4\u03bf\u03b9\u03c7\u03bf \u03c4\u03bf\u03bd\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf \u03b6\u03b5\u03cd\u03b3\u03bf\u03c2. \u0395\u03c0\u03af\u03c3\u03b7\u03c2 \u03c5\u03c0\u03ac\u03c1\u03c7\u03bf\u03c5\u03bd \u03bf\u03b9 \u03ba\u03b1\u03c4\u03b1\u03c7\u03c9\u03c1\u03b7\u03c4\u03ad\u03c2 \u03b1\u03c0\u03b1\u03c1\u03b9\u03b8\u03bc\u03b7\u03c4\u03ae \u03c0\u03c1\u03bf\u03b3\u03c1\u03ac\u03bc\u03bc\u03b1\u03c4\u03bf\u03c2 <b>CP<\/b> (<i>counter program<\/i>) \u03ba\u03b1\u03b9 \u03b4\u03b5\u03af\u03ba\u03c4\u03b7\u03c2 \u03c3\u03c9\u03c1\u03bf\u03cd <b>SP<\/b> (<i>stack pointer<\/i>). \u0397 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1 \u03c4\u03bf\u03c5 stack \u03b5\u03af\u03bd\u03b1\u03b9 \u03c4\u03cd\u03c0\u03bf\u03c5 LIFO (<i>Last Input First Output<\/i>) \u03b4\u03b7\u03bb\u03b1\u03b4\u03ae \u03b7 \u03c4\u03b5\u03bb\u03b5\u03c5\u03c4\u03b1\u03af\u03b1 \u03b5\u03bd\u03c4\u03bf\u03bb\u03ae \u03b5\u03af\u03bd\u03b1\u03b9 \u03b1\u03c5\u03c4\u03ae \u03c0\u03bf\u03c5 \u03b5\u03be\u03ad\u03c1\u03c7\u03b5\u03c4\u03b1\u03b9 \u03c0\u03c1\u03ce\u03c4\u03b7. \u0394\u03cd\u03bf \u03ba\u03b1\u03c4\u03b1\u03c7\u03c9\u03c1\u03b7\u03c4\u03ad\u03c2 \u03b5\u03b9\u03b4\u03b9\u03ba\u03ae\u03c2 \u03c7\u03c1\u03ae\u03c3\u03b5\u03c9\u03c2 \u03b5\u03af\u03bd\u03b1\u03b9 \u03bf\u03b9 \u03ba\u03b1\u03c4\u03b1\u03c7\u03c9\u03c1\u03b7\u03c4\u03ad\u03c2 \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\u03c5 (Index registers) <b>IX<\/b> \u03ba\u03b1\u03b9 <b>IY<\/b>. \u039f \u03ba\u03b1\u03b8\u03ad\u03bd\u03b1\u03c2 \u03b1\u03c0\u03cc \u03b1\u03c5\u03c4\u03bf\u03cd\u03c2 \u03b5\u03af\u03bd\u03b1\u03b9 \u03c4\u03c9\u03bd 16bits \u03ba\u03b1\u03b9 \u03b4\u03af\u03bd\u03b5\u03b9 \u03c4\u03b7\u03bd \u03b5\u03c0\u03b9\u03c0\u03bb\u03ad\u03bf\u03bd \u03b4\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1 \u03bd\u03b1 \u03b1\u03c0\u03b5\u03c5\u03b8\u03cd\u03bd\u03b5\u03c4\u03b1\u03b9 \u03ba\u03b1\u03bd\u03b5\u03af\u03c2 \u03c3\u03b5 \u03b1\u03c1\u03c7\u03b5\u03af\u03bf. \u0394\u03cd\u03bf \u03b1\u03ba\u03cc\u03bc\u03b7 \u03b5\u03b9\u03b4\u03b9\u03ba\u03bf\u03af \u03ba\u03b1\u03c4\u03b1\u03c7\u03c9\u03c1\u03b7\u03c4\u03ad\u03c2 \u03b5\u03af\u03bd\u03b1\u03b9 \u03bf <b>I<\/b> (<i>interrupt vector register<\/i>) \u03c4\u03c9\u03bd 8bits \u03c0\u03bf\u03c5 \u03c3\u03c5\u03b3\u03ba\u03c1\u03b1\u03c4\u03b5\u03af \u03c4\u03bf byte \u03c5\u03c8\u03b7\u03bb\u03ae\u03c2 \u03c4\u03ac\u03be\u03b5\u03c9\u03c2 \u03bc\u03b9\u03b1\u03c2 \u03b4\u03b9\u03b1\u03bd\u03c5\u03c3\u03bc\u03b1\u03c4\u03b9\u03ba\u03ae\u03c2 \u03b4\u03b9\u03b5\u03c5\u03b8\u03cd\u03bd\u03c3\u03b5\u03c9\u03c2 \u03ba\u03b1\u03b9 \u03c7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03b5\u03af\u03c4\u03b1\u03b9 \u03c3\u03b5 \u03bc\u03b9\u03b1 \u03b4\u03b9\u03b1\u03bd\u03c5\u03c3\u03bc\u03b1\u03c4\u03b9\u03ba\u03ae \u03b4\u03b9\u03b1\u03ba\u03bf\u03c0\u03ae \u03ba\u03b1\u03b9 \u03bf \u03ba\u03b1\u03c4\u03b1\u03c7\u03c9\u03c1\u03b7\u03c4\u03ae\u03c2 \u03b1\u03bd\u03b1\u03bd\u03b5\u03ce\u03c3\u03b5\u03c9\u03c2 \u03c4\u03b7\u03c2 \u03bc\u03bd\u03ae\u03bc\u03b7\u03c2 <b>R<\/b>.<\/p>\n<h3><span id=\".CE.9F.CE.B9_.CE.BB.CE.B5.CE.B9.CF.84.CE.BF.CF.85.CF.81.CE.B3.CE.AF.CE.B5.CF.82_.CF.84.CE.BF.CF.85_Z80\" class=\"mw-headline\">\u039f\u03b9 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b5\u03c2 \u03c4\u03bf\u03c5 Z80<\/span><\/h3>\n<p>\u039f\u03b9 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b5\u03c2 \u03c4\u03bf\u03c5 Z80 \u03bc\u03b1\u03b6\u03af \u03bc\u03b5 \u03c4\u03bf \u03b5\u03cd\u03c1\u03bf\u03c2 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1\u03c2 \u03c4\u03bf\u03c5\u03c2, \u03cc\u03c0\u03bf\u03c5 \u03b1\u03c5\u03c4\u03cc \u03c7\u03c1\u03b5\u03b9\u03ac\u03b6\u03b5\u03c4\u03b1\u03b9, \u03c3\u03c5\u03bd\u03bf\u03c8\u03af\u03b6\u03bf\u03bd\u03c4\u03b1\u03b9 \u03c0\u03b1\u03c1\u03b1\u03ba\u03ac\u03c4\u03c9\u00a0:<\/p>\n<ul>\n<li>\u0391\u03c1\u03b9\u03b8\u03bc\u03b7\u03c4\u03b9\u03ba\u03ad\u03c2 \u03ba\u03b1\u03b9 \u03bb\u03bf\u03b3\u03b9\u03ba\u03ad\u03c2 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b5\u03c2 8-bit<\/li>\n<li>\u0391\u03c1\u03b9\u03b8\u03bc\u03b7\u03c4\u03b9\u03ba\u03ad\u03c2 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b5\u03c2 16-bit<\/li>\n<li>\u03a6\u03cc\u03c1\u03c4\u03c9\u03c3\u03b7 8-bit<\/li>\n<li>\u03a6\u03cc\u03c1\u03c4\u03c9\u03c3\u03b7 16-bit<\/li>\n<li>\u0388\u03bb\u03b5\u03b3\u03c7\u03bf\u03c2 \u03ba\u03b1\u03b9 \u03bc\u03b7\u03b4\u03b5\u03bd\u03b9\u03c3\u03bc\u03cc\u03c2 bit<\/li>\n<li>\u039a\u03bb\u03ae\u03c3\u03b7, \u03b5\u03c0\u03b9\u03c3\u03c4\u03c1\u03bf\u03c6\u03ae \u03ba\u03b1\u03b9 \u03b5\u03c0\u03b1\u03bd\u03b5\u03ba\u03ba\u03af\u03bd\u03b7\u03c3\u03b7<\/li>\n<li>\u0391\u03bb\u03bb\u03b1\u03b3\u03ae, \u03bc\u03b5\u03c4\u03b1\u03c6\u03bf\u03c1\u03ac \u03ba\u03b1\u03b9 \u03b5\u03cd\u03c1\u03b5\u03c3\u03b7<\/li>\n<li>\u0393\u03b5\u03bd\u03b9\u03ba\u03ae\u03c2 \u03c7\u03c1\u03ae\u03c3\u03b7\u03c2 \u03b1\u03c1\u03b9\u03b8\u03bc\u03b7\u03c4\u03b9\u03ba\u03ae \u03ba\u03b1\u03b9 \u03ad\u03bb\u03b5\u03b3\u03c7\u03bf\u03c2 \u03c4\u03b7\u03c2 \u039a\u03b5\u03bd\u03c4\u03c1\u03b9\u03ba\u03ae\u03c2 \u039c\u03bf\u03bd\u03ac\u03b4\u03b1\u03c2 \u0395\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b1\u03c2 (CPU)<\/li>\n<li>\u0395\u03af\u03c3\u03bf\u03b4\u03bf\u03c2 \u03ba\u03b1\u03b9 \u03ad\u03be\u03bf\u03b4\u03bf\u03c2<\/li>\n<li>\u0386\u03bb\u03bc\u03b1 (<i>Jump<\/i>)<\/li>\n<li>\u03a0\u03b5\u03c1\u03b9\u03c3\u03c4\u03c1\u03bf\u03c6\u03ae \u03ba\u03b1\u03b9 \u0391\u03bb\u03bb\u03b1\u03b3\u03ae<\/li>\n<\/ul>\n<h2><span id=\".CE.A7.CF.81.CE.AE.CF.83.CE.B7_.CF.83.CE.B5_.CF.85.CF.80.CE.BF.CE.BB.CE.BF.CE.B3.CE.B9.CF.83.CF.84.CE.AD.CF.82_.CE.BA.CE.B1.CE.B9_.CE.B5.CE.BE.CE.BF.CE.BC.CE.BF.CE.B9.CF.89.CF.84.CE.AD.CF.82\" class=\"mw-headline\">\u03a7\u03c1\u03ae\u03c3\u03b7 \u03c3\u03b5 \u03c5\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03c4\u03ad\u03c2 \u03ba\u03b1\u03b9 \u03b5\u03be\u03bf\u03bc\u03bf\u03b9\u03c9\u03c4\u03ad\u03c2<\/span><\/h2>\n<p>\u0391\u03c0\u03cc \u03c4\u03bf 1976 \u03ce\u03c2 \u03c4\u03bf 1990 \u03bf \u039680 \u03c7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03b8\u03b7\u03ba\u03b5 \u03c3\u03b5 \u03c0\u03b5\u03c1\u03af\u03c0\u03bf\u03c5 200 \u03b7\u03bb\u03b5\u03ba\u03c4\u03c1\u03bf\u03bd\u03b9\u03ba\u03bf\u03cd\u03c2 \u03c5\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03c4\u03ad\u03c2, \u03cc\u03bb\u03c9\u03bd \u03c4\u03c9\u03bd \u03c4\u03cd\u03c0\u03c9\u03bd \u03ba\u03b1\u03b9 \u03b5\u03b9\u03b4\u03ce\u03bd. \u0395\u03bd\u03b4\u03b5\u03b9\u03ba\u03c4\u03b9\u03ba\u03ae \u03bb\u03af\u03c3\u03c4\u03b1 \u03c0\u03b1\u03c1\u03b1\u03ba\u03ac\u03c4\u03c9:<\/p>\n<ul>\n<li>Osborne \u03c3\u03c4\u03b1 \u03bc\u03bf\u03bd\u03c4\u03ad\u03bb\u03b1 <i>Vixen<\/i>, <i>Osborne 1<\/i> \u03ba\u03b1\u03b9 <i>Executive<\/i>.<\/li>\n<li>Kaypro \u03c3\u03c4\u03b1 \u03bc\u03bf\u03bd\u03c4\u03ad\u03bb\u03b1 <i>Robie<\/i>, <i>Kaypro 1<\/i>, II, 2X, 4, 10.<\/li>\n<li>Radio Shack \u03c3\u03c4\u03b1 \u03bc\u03bf\u03bd\u03c4\u03ad\u03bb\u03b1 TRS-80, Model II \u03ba\u03b1\u03b9 Model III.<\/li>\n<li>Commodore \u03c3\u03c4\u03bf \u03bc\u03bf\u03bd\u03c4\u03ad\u03bb\u03bf Commodore 128.<\/li>\n<li>Sinclair Research \u03c3\u03c4\u03b1 \u03bc\u03bf\u03bd\u03c4\u03ad\u03bb\u03b1 ZX80, ZX81, ZX Spectrum, ZX Spectrum +<\/li>\n<li>Amstrad \u03c3\u03b5 \u03cc\u03bb\u03b7 \u03c4\u03b7 \u03c3\u03b5\u03b9\u03c1\u03ac Amstrad CPC, \u03c3\u03c4\u03b1 \u03bc\u03bf\u03bd\u03c4\u03ad\u03bb\u03b1 Spectrum +2, Spectrum +3 \u03ba\u03b1\u03b9 \u03c3\u03b5 \u03cc\u03bb\u03b7 \u03c4\u03b7 \u03c3\u03b5\u03b9\u03c1\u03ac PCW<\/li>\n<\/ul>\n<h2><span id=\".CE.A0.CE.B7.CE.B3.CE.AD.CF.82\" class=\"mw-headline\">\u03a0\u03b7\u03b3\u03ad\u03c2<\/span><\/h2>\n<ul>\n<li>\u0395\u03b9\u03c3\u03b1\u03b3\u03c9\u03b3\u03ae \u03c3\u03c4\u03bf\u03c5\u03c2 \u03bc\u03b9\u03ba\u03c1\u03bf\u03b5\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03c4\u03ad\u03c2 \u03ba\u03b1\u03b9 \u03c3\u03c4\u03bf\u03bd \u03c0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03b9\u03c3\u03bc\u03cc \u03c4\u03bf\u03c5\u03c2, \u03a4\u039f\u03a5 \u039d\u0399\u039a\u039f\u039b\u0391\u039f\u03a5 \u0392\u039f\u03a5\u039b\u0393\u0391\u03a1\u0397 (\u039e\u0391\u039d\u0398\u0397 1985) &#8211; \u0395\u03ba\u03b4\u03cc\u03c3\u03b5\u03b9\u03c2: N.\u0391\u0399\u0392\u0391\u0396\u0397\u03a3-\u03a3. \u0396\u039f\u03a5\u039c\u03a0\u039f\u03a5\u039b\u0397\u03a3.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2><span id=\".CE.A0.CE.B7.CE.B3.CE.AD.CF.82\" class=\"mw-headline\">\u03a0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03b1 \u03968O (asm)<br \/>\n<\/span><\/h2>\n<div class=\"entry-meta\"><span class=\"meta-prep meta-prep-author\">Posted <\/span> <span class=\"by-author\"><span class=\"sep\">by<\/span> <span class=\"author vcard\">Matt Cook<\/span><\/span><\/div>\n<div class=\"entry-meta\"><span class=\"by-author\">(<a href=\"https:\/\/z80project.wordpress.com\/2015\/05\/21\/z80-monitor-part-1\/#more-271\">https:\/\/z80project.wordpress.com\/2015\/05\/21\/z80-monitor-part-1\/#more-271<\/a>)<\/span><\/div>\n<div class=\"entry-meta\"><\/div>\n<div class=\"entry-content\">\n<p><a href=\"https:\/\/z80project.files.wordpress.com\/2015\/05\/rommonitorpic1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-thumbnail wp-image-272\" src=\"https:\/\/z80project.files.wordpress.com\/2015\/05\/rommonitorpic1.png?w=150&amp;h=88\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" srcset=\"https:\/\/z80project.files.wordpress.com\/2015\/05\/rommonitorpic1.png?w=150&amp;h=88 150w, https:\/\/z80project.files.wordpress.com\/2015\/05\/rommonitorpic1.png?w=300&amp;h=176 300w\" alt=\"ROMMonitorPIC1\" width=\"150\" height=\"88\" data-attachment-id=\"272\" data-permalink=\"https:\/\/z80project.wordpress.com\/2015\/05\/21\/z80-monitor-part-1\/rommonitorpic1\/\" data-orig-file=\"https:\/\/z80project.files.wordpress.com\/2015\/05\/rommonitorpic1.png\" data-orig-size=\"665,392\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"ROMMonitorPIC1\" data-image-description=\"\" data-medium-file=\"https:\/\/z80project.files.wordpress.com\/2015\/05\/rommonitorpic1.png?w=300\" data-large-file=\"https:\/\/z80project.files.wordpress.com\/2015\/05\/rommonitorpic1.png?w=640\" \/><\/a><\/p>\n<p>Our system is just a heap of silicon unless it has some code to run. I don\u2019t think the hardware is quite at the point of running an operating system like CP\/M yet, but that doesn\u2019t mean we can\u2019t do anything. We can hit the assembly and build up some code in our ROM chip. We can make a ROM monitor.<\/p>\n<p>A ROM monitor\u00a0is just\u00a0the code in a ROM chip which runs as soon as the system is turned on. The monitor provides essential functions such as to load RAM or check the hardware before running the operating system. In our case I have not quite ironed out what those will be. For this very preliminary monitor code I wanted to have some basic functions that will be useful later (as I learn more assembly). They are as follows,<\/p>\n<blockquote>\n<pre>ZMC80 Monitor Command List\r\n? - view command list\r\nR - monitor reset\r\nC - clear screen\r\nD - print $50 bytes from specified location<\/pre>\n<\/blockquote>\n<p>The first three commands are rather simple just printing messages to the screen or going back to the beginning of the ROM with a \u201creset\u201d. The memory dump command is a bit more complex however. This command\u00a0prints $80 bytes from a user specified location. This in itself is a very complex operation since you have to convert characters to hex and back to characters. This was a bit of a challenge which started to produce a very cumbersome file. \u00a0So the monitor is broken up into four files,<\/p>\n<blockquote>\n<pre>Z80Monitor.asm\r\nUARTDriver.asm\r\nMONCommands.asm\r\nCONIO.asm<\/pre>\n<\/blockquote>\n<p>The routines in these four files are specific to\u00a0certain tasks. Such as \u2018UARTDriver.asm\u2019, which contains routines for the 16550 UART chip. These functions are abstracted later as in the PRINT_STRING routine which just calls the\u00a0UART_PRNT_STR routine. This level of abstraction is meant for instances such as if I switch later from using the UART to print to the terminal and instead print to a another medium\u00a0I can implement a\u00a0driver file for that medium without having to overhaul a lot of other routines that reference\u00a0PRINT_STRING and not\u00a0UART_PRNT_STR. This technique is implemented in a few places in the code, but I am sure it could be a lot more efficient. As I develop the monitor I may shuffle some routines around.<\/p>\n<p>I hope to optimize the code as I write the routines for the monitor. I am not great at assembly, but I am learning. I have a bit of style\/structure to the code that makes it more readable than most of the Z80 assembly code I \u00a0have seen online. I will maintain this style for all of the code \u2026 hopefully.<\/p>\n<p>None of the hardware has changed so only code this time around.<\/p>\n<p><a href=\"https:\/\/github.com\/MatthewWCook\/Z80Project\" target=\"_blank\" >https:\/\/github.com\/MatthewWCook\/Z80Project<\/a><\/p>\n<\/div>\n<p><a href=\"http:\/\/www.z80.gr\/downloads\/master.zip\" target=\"_blank\" >http:\/\/www.z80.gr\/downloads\/master.zip<\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Zilog Z80 \u0388\u03bd\u03b1\u03c2 \u03b1\u03c0\u03cc \u03c4\u03bf\u03c5\u03c2 \u03c0\u03c1\u03ce\u03c4\u03bf\u03c5\u03c2 \u03bc\u03b9\u03ba\u03c1\u03bf\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03c4\u03ad\u03c2 Z80, \u03c0\u03bf\u03c5 \u03ba\u03b1\u03c4\u03b1\u03c3\u03ba\u03b5\u03c5\u03ac\u03c3\u03c4\u03b7\u03ba\u03b5 \u03c4\u03bf\u03bd \u0399\u03bf\u03cd\u03bd\u03b9\u03bf \u03c4\u03bf\u03c5 1976 \u039f \u039680 \u03b5\u03af\u03bd\u03b1\u03b9 \u03bc\u03b9\u03ba\u03c1\u03bf\u03b5\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03c4\u03ae\u03c2 (CPU) 8-bit \u03c0\u03bf\u03c5 \u03c3\u03c7\u03b5\u03b4\u03b9\u03ac\u03c3\u03c4\u03b7\u03ba\u03b5 \u03b1\u03c0\u03cc \u03c4\u03b7\u03bd \u03b5\u03c4\u03b1\u03b9\u03c1\u03b5\u03af\u03b1 \u03b7\u03bc\u03b9\u03b1\u03b3\u03c9\u03b3\u03ce\u03bd Zilog \u03ba\u03b1\u03b9 \u03ba\u03c5\u03ba\u03bb\u03bf\u03c6\u03cc\u03c1\u03b7\u03c3\u03b5 \u03c4\u03bf\u03bd \u0399\u03bf\u03cd\u03bb\u03b9\u03bf \u03c4\u03bf\u03c5 1976. \u0395\u03af\u03c7\u03b5 \u03b5\u03c5\u03c1\u03b5\u03af\u03b1 \u03c7\u03c1\u03ae\u03c3\u03b7 \u03c3\u03b5 \u03b7\u03bb\u03b5\u03ba\u03c4\u03c1\u03bf\u03bd\u03b9\u03ba\u03bf\u03cd\u03c2 \u03c5\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03c4\u03ad\u03c2 \u03b3\u03b9\u03b1 \u03c3\u03c4\u03c1\u03b1\u03c4\u03b9\u03c9\u03c4\u03b9\u03ba\u03ad\u03c2 \u03c7\u03c1\u03ae\u03c3\u03b5\u03b9\u03c2. \u039f Z80 \u03ba\u03b1\u03b9 \u03bf\u03b9 \u03ba\u03bb\u03ce\u03bd\u03bf\u03b9 \u03c4\u03bf\u03c5 \u03bc\u03b1\u03b6\u03af \u03bc\u03b5 \u03c4\u03b7\u03bd \u03c4\u03b5\u03c7\u03bd\u03bf\u03bb\u03bf\u03b3\u03af\u03b1 \u03c4\u03b7\u03c2 \u03bf\u03b9\u03ba\u03bf\u03b3\u03ad\u03bd\u03b5\u03b9\u03b1\u03c2 \u03b5\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03c4\u03ce\u03bd [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-10","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.z80.gr\/index.php\/wp-json\/wp\/v2\/pages\/10","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.z80.gr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.z80.gr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.z80.gr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.z80.gr\/index.php\/wp-json\/wp\/v2\/comments?post=10"}],"version-history":[{"count":8,"href":"https:\/\/www.z80.gr\/index.php\/wp-json\/wp\/v2\/pages\/10\/revisions"}],"predecessor-version":[{"id":20,"href":"https:\/\/www.z80.gr\/index.php\/wp-json\/wp\/v2\/pages\/10\/revisions\/20"}],"wp:attachment":[{"href":"https:\/\/www.z80.gr\/index.php\/wp-json\/wp\/v2\/media?parent=10"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}