Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Does anyone know a good assembler textbook ?

  1. May 5, 2010 #1
    Does anyone know a good assembler textbook ?! :)

    Hello , everyone :)

    Could anyone suggest a good assembler textbook ? It would be nice , if it covered working with strings in detail , a tutorial about working with strings would also do nicely :)

    Thank you in advance :)

    P.S. Oh , and by the way , which assembler is the easiest to use if you are completely new to the area of assembler programming , however have some experience of coding in C and Pascal :)
     
    Last edited: May 5, 2010
  2. jcsd
  3. May 5, 2010 #2

    Borek

    User Avatar

    Staff: Mentor

    Re: Does anyone know a good assembler textbook ?! :)

    There is no one assembler - each processor has its own set of instructions, so you have to be more specific.
     
  4. May 6, 2010 #3

    chiro

    User Avatar
    Science Advisor

    Re: Does anyone know a good assembler textbook ?! :)

    If you are learning say assembler for the AMD/Intel architectures you might be better off just downloading the architecture specifications from the respective vendors website.
     
  5. May 6, 2010 #4

    Mark44

    Staff: Mentor

    Re: Does anyone know a good assembler textbook ?! :)

    Do a search on "assembler textbook". I got a lot of hits, including some books that are published online.
     
  6. May 6, 2010 #5
    Re: Does anyone know a good assembler textbook ?! :)

    Granted, the last assembly I wrote was for an Analog Devices DSP, and before that 8086 assembly-- but ... strings? In assembly? Are there built-in handlers for string manipulation in assembly these days?

    DaveE
     
  7. May 6, 2010 #6

    rcgldr

    User Avatar
    Homework Helper

    Re: Does anyone know a good assembler textbook ?! :)

    x86 has instructions for Pascal type strings. REP MOVSB will move a string of length CX bytes from DS:ESI to ES:ESI. REPNE SCASB searches a string of length CX bytes at ES:ESI for the first occurance of a match with AL. REPE CMPSB wll compare two strings of length CX bytes at DS:ESI and ES:EDI. EDI and ESI are register pointer names in 32 bit mode. In 64 bit mode, the register pointer names would be RDI and RSI, in 16 bit mode, just DI and SI.
     
    Last edited: May 7, 2010
  8. May 7, 2010 #7

    Mark44

    Staff: Mentor

    Re: Does anyone know a good assembler textbook ?! :)

    Correction: From Intel® 64 and IA-32 Architectures
    Software Developer’s Manual, Volume 2B:
    (For legacy mode) REP MOVSB moves a string of (E)CX bytes from address DS:(E)SI to ES:(E)DI. For 64-bit mode move byte from address (R|E)SI to (R|E)DI.

    The SI, ESI, and RSI registers (16 bits, 32 bits, and 64 bits, respectively) are source index registers, hence their name. The DI, EDI, and RDI registers are destination index registers.
    The instruction names are SCASB, SCASW, and SCASD - no N in the name.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Does anyone know a good assembler textbook ?
  1. Anyone know prolog? (Replies: 1)

Loading...