assembly language


Assembly is notoriously hard to learn; it is becoming even more inaccessible with the advent of visual programming tools that rely on wizards and function libraries over programming ability. RAD (Rapids Application Delevopment) environments have their distinct advantages: low learning curve, quick design time, ease of portability, appeasing UI.

Assembly language has none of these. It is complex, ugly, difficult to use, and anything but portable. It also allows complete control over the code, enabling experienced programmers to optimize software (freeing their programs from the unnecessary and often bewildering code that compilers add) and perform tricks (like virii ;) that would be difficult to impossible to perform with high-level languages.

In addition, assembly language requires thet the programmer know the PC. It is suprising how many application developers--"programmers"--not only are scared of regedit, but do not even know what the stack is! In assembly language the programmer manipulates code and data at the register and byte level...increasing the control, as well as the margin for error.

The resources below have been gathered for the use of the novice in assembly language. This page has not been designed with higher assembly language in mind; for tricks like virii, protected mode programming, and encrypting files one must seek elsewhere. That said, learn on and enjoy...

Disassembly
Forum
Home
Projects
Sites
Soft-Ice
Tales
Tools


local

Tutorials

  • Introduction To Assembly Language, almost finished!
  • Runtime Environment, excerpt from Cristina Cifuentes' dissertation
  • Win32 File Structure, includes .ASM examples

    Files

  • Assembly Programming Journal New project
  • Win32ASM Pack A MB of texts and source for Win32 ASM (incl Walk32!) New
  • Visual Assembler My Abandoned Project ;)
  • VxD Programming

    remote

    Tutorials

  • Abe's Demoschool
  • Advanced Assembly Programming
  • Art of Assembly Language
  • Asphyxia ASM Tutorial
  • Gavin's ASM Tutorial
  • Greythorne "Assembly From The Ground Up"
  • Lecture Notes: April
  • Lecture Notes: May
  • Lecture Notes: June
  • University of Guadalajara ASM Tutorial
  • VLA ASM Tutorial

    Files

  • A86, shareware assembler
  • ASMEdit
  • D86, companion debugger to A86
  • HelpPC, The Infamous! Very good Ref Program
  • Hiew 566, excellent hex editor by Kemerovo
  • IDA Freeware, checkout source code of exe files!
  • List of ASM Tools/Developers, Useful tools to track down
  • NASM, Netwaide Assembler
  • ProView, Romp through your PC's RAM and HDD!
  • Screwdriver, Freeware Debugger
  • Simtel ASm Archives, Good stuff: index
  • TreeHouse, ASM Programming Files

    Pages

  • #ASM@efnet New
  • ASM Central
  • Assemble It!
  • Assembly.org New
  • Assembly Language Learning Group New
  • Assembly Programming (Intel, Alpha, Motorola, MIPs) New
  • Beginner's Source Code
  • Dario Alpern's ASM Programs
  • Digital Unix Assembler Manual New
  • EG3 ASM Hotlist New
  • EG3 Assembly Internet Resources New
  • Gustavo's Assembly Language Tutorials Collection New
  • IBM PC Assembly Language Sources New
  • Iczelion's Assembly/Win32 Assembly
  • Iczelion's Resources
  • Intel Opcodes Listing
  • Intel Secrets
  • Interrupt List (Ralph Brown)
  • LA Online: Assembly
  • MetalMarine's Programming Haven
  • Moonware ASM
  • Nutty's Demos & Programming
  • OS Devlopment
  • PC Demos Explained
  • Programmer's Guild
  • Programmer's Link: Assembly New
  • Programmer's Virtual Library: Assembly
  • Randall Hyde's Assembly Page
  • Resurrection of Assembler
  • Sandpile (x86 Processor Info)
  • Tore's Programming Page
  • Win32 ASM Code
  • Win32 Assembly
  • Win32 Demos FAQ
  • Windows 95 Assembly

    discussion boards

  • Gustavo's Programming Forum
  • Iczelion's Win32 Assembly Forum
  • Programmer's Virtual Forum
  • Sandpile x86 Board
  • Tore's Programming Board
  • University of Guadalajara Peer-To-Peer Learning Board

    source code

  • Master Class Assembly
  • Revolutionary Guide To PC



    Mail