{"id":96925,"date":"2017-09-01T07:00:00","date_gmt":"2017-09-01T21:00:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/oldnewthing\/?p=96925"},"modified":"2019-03-13T01:16:18","modified_gmt":"2019-03-13T08:16:18","slug":"20170901-00","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/oldnewthing\/20170901-00\/?p=96925","title":{"rendered":"I guess I may as well confess that I wrote the Itanium information in the Debugging Tools for Windows package"},"content":{"rendered":"<p>A long time ago in a processor architecture far, far away, <a HREF=\"https:\/\/devblogs.microsoft.com\/oldnewthing\/#comment-1222171\">mikeb<\/a> commented, &#8220;the help file for the Debugging Tools for Windows package has (or maybe &#8220;had&#8221;) really, really good Itanium information in the Debugging Techniques\/Processor Architecture section.&#8221; <\/p>\n<p>I&#8217;ll take that as a compliment, because I&#8217;m the author of that part of the documentation. <\/p>\n<p>The story begins with a &#8220;Bluffer&#8217;s Guide to the Alpha AXP Processor&#8221; document that I wrote as a way to capture the information I learned from reading the processor manual. That document led to a little side gig doing <a HREF=\"https:\/\/blogs.msdn.microsoft.com\/oldnewthing\/20140610-00\/?p=773\">brownbags<\/a> for teams interested in bringing their developers up to speed on this Alpha AXP processor thing. The recently-completed Alpha AXP series was an expansion of that original document. <\/p>\n<p>When the Itanium project started up, <a HREF=\"https:\/\/blogs.msdn.microsoft.com\/oldnewthing\/20130401-00\/?p=4793#comment-1048433\">Richard Bond<\/a> taught me the rudimentary elements of Itanium assembly language. As I recall, it happened only by chance: The two of us happened to be in the same meeting room at the same time, and there was some time to spare. <\/p>\n<p>Armed with a very basic understanding of the Itanium, I dove into the official documentation from Intel and emerged with a corresponding &#8220;Bluffer&#8217;s Guide to the Itanium Processor&#8221; document. That document served as the basis for the Itanium section in the Debugging Tools for Windows package, and the Itanium series from 2015 was an expansion upon that document. <\/p>\n<p>With two new processor architectures under my belt, I developed a reputation for being &#8220;the guy who knows all about these exotic processors.&#8221; (Where &#8220;exotic&#8221; has the rather parochial definition of &#8220;anything that isn&#8217;t x86 or x86-64&#8221;.) When Windows 8 was ported to ARM, people just assumed that I knew ARM assembly language too. <\/p>\n<p>I didn&#8217;t, but I found the documentation and taught myself. Once you know a few processors, adding another one to your repertoire isn&#8217;t that hard, assuming it&#8217;s similar to one you already know.&sup1; <\/p>\n<p>So at this point, I may as well try to live up to my reputation. I have written up series for the other two defunct processors that were at one point officially supported by Windows NT: The MIPS and the PowerPC. They&#8217;ll show up someday. <\/p>\n<p>&sup1; This is also why I stick to Germanic languages: Once you know English, German, and Swedish, adding Norwegian to the collection isn&#8217;t so hard. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>The story of how I ended up being the guy who understands all these processors.<\/p>\n","protected":false},"author":1069,"featured_media":111744,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[2],"class_list":["post-96925","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oldnewthing","tag-history"],"acf":[],"blog_post_summary":"<p>The story of how I ended up being the guy who understands all these processors.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/96925","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/users\/1069"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/comments?post=96925"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/96925\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media\/111744"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media?parent=96925"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/categories?post=96925"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/tags?post=96925"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}