Materials for reading various assembly languages?

半世苍凉 提交于 2019-12-04 09:14:49
BlackBear

x86 Assembly:

  • Here's a manual with more than 1400 pages and some exercises included, some chapters are focused on stuff like boolean algebra and system organization
  • Intel's documentation and manuals here, you shouldn't need this before a few years ;)
  • An optimization guide (quite advanced stuff)
  • Here you can find an assembler for developing win32 apps, both in console and in window. It also includes the windows SDK and a description of all win32 APIs
  • This seems to be a good GAS (GNU Assembler) manual if you're developing on linux
  • Some examples (windows)
luser droog

Pdp-1 LISP

Pdf of Source including explanatory article, and symbol listings: http://www.google.com/url?sa=D&q=http://www.computerhistory.org/collections/accession/102650371

An ASCII source listing: http://hack.org/mc/software/lisp.p2

A nice overview: http://en.wikipedia.org/wiki/PDP-1

Pdp-1 Handbook, including instruction set reference: http://www.bitsavers.org/pdf/dec/pdp1/F15B_PDP1_Handbook_1961.pdf

Macro asembler manual, describing how instructions are formed by arithmetic: http://www.bitsavers.org/pdf/dec/pdp1/PDP-1_Macro.pdf

Alternate presentation of instruction set illustrating composability of shift and operate instructions: http://simh.trailing-edge.com/docs/architecture18b.pdf

This last link is vital for understanding such tricks as the very first instruction:

-/Lisp interpreter 3-20-64, part 1
 000004                 4/
-/go
 000004         go,
 000004 764607          hlt+cla+cli+7-opr-opr

This could have been written with less obfuscation (but less semantic info) as:

opr 4607

Or with more semantics (and still more obfuscated) as:

hlt+cla+cli+clf+07-opr-opr-opr

But since clf == opr that would be silly.

One last crucial resource for 60s-era assembly programming is Knuth, vol. 1 (1ed or 2ed). This explains some of the more basic self-mutilations that pdp-1 code exhibits.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!