首页
社区
课程
招聘
[求助]Assembly Language for x86 Processors, 6th edition
发表于: 2010-9-4 06:06 1619

[求助]Assembly Language for x86 Processors, 6th edition

2010-9-4 06:06
1619
http://kipirvine.com/asm/

rvine Assembly Language for x86 Processors
6th Edition
Chapter Objectives

Last update: 3/7/2010
Chapter 1
After reading this Chapter, you should be able to understand or do each of the following:

    * Understand common applications of assembly language
    * Understand what an assembler does
    * Understand hardware and software requirements for the book
    * Know the basic history of PC Assemblers
    * Differentiate between protected mode and real-address mode
    * Learn basic principles of computer architecture as applied to the Intel IA-32 processor family
    * Learn how to recognize and convert boolean and hexadecimal integers
    * Perform binary addition and subtraction
    * Understand basic boolean operations
    * Differentiate between signed and unsigned binary integers
    * Understand ASCII character representation

Chapter 2

After reading this Chapter, you should be able to understand or do each of the following:

    * Understand the basic structure of a microcomputer
    * Be familiar with the instruction execution cycle
    * Understand how computers read from memory
    * Understand how the operating sytem loads and executes programs
    * Know the modes of operand and basic execution environment of the IA-32 processors
    * Be familiar with the floating-point unit and the histrory of Intel Processors
    * Understand how memory is addressed in proteced mode and real-address mode
    * Know the basic components of a microcomputer
    * Understand the different levels of input-output

Chapter 3

After reading this Chapter, you should be able to understand or do each of the following:

    * Know how to represent integer constants, expressions, real number constants, character constants, and string constants in assembly language
    * Know how to formulate assembly language instructions, using valid syntax
    * Understand the difference between instructions and directives
    * Be able to code, assemble, and execute a program that adds and subtracts integers
    * Be able to create variables using all standard assembly language data types
    * Be able to define symbolic constants
    * Be able to calculate the size of arrays at assembly time

Chapter 4

After reading this Chapter, you should be able to understand or do each of the following:

    * Be able to use data transfer instructions in programs
    * Be familar with the syntax and usage of the MOV, XCHG instructions
    * Be familar with the syntax and usage of the ADD, INC, DEC, and SUB instructions
    * Understand basic memory addressing modes
    * Understand how arithmetic instructions affect the CPU status flags
    * Know how to use the OFFSET, ALIGH, PTR, TYPE, LENGTHOF, and SIZEOF operators
    * Know how to use indirect addressing
    * Know how to code loops and unconditional jumps

Chapter 5

After reading this Chapter, you should be able to understand or do each of the following:

    * Know how to link your programs to an external code library
    * Be familiar with all functions in the Irvine32 library
    * Understand the process and usage of the runtime stack
    * Know how to use the PUSH and POP instructions
    * Know how to write programs that define and call procedures
    * Know how to use flowcharts to describe program logic
    * Understand how to use procedures when designing program structure

Chapter 6

After reading this Chapter, you should be able to understand or do each of the following:

    * Understand the boolean instructions AND, OR, NOT, XOR, TEST
    * Understand how to set and clear CPU status flags
    * Understand how the CMP instruction affects CPU status flags
    * Be familar with all types of conditional jump and loop instructions
    * Know how to create conditional and looping structures using assembly language
    * Know how to implement table-driven selection logic
    * Know how to implement a finite-state machine in assembly language
    * Know how to use the high-level MASM decision and looping directives such as .IF, .ELSE, .REPEAT, and .WHILE)

Chapter 7

After reading this Chapter, you should be able to understand or do each of the following:

    * Understand the usage of shift and rotate instructions
    * Be able to use shift and rotate instructions to perform efficient multiplication and division
    * Understand and use the MUL, IMUL, DIV, and IDIV instructions
    * Know how to perform sign extension of operands in division operations
    * Perform extended precision addition and subtraction
    * Use specialized instructions related to packed and unpacked decimal arithmetic

Chapter 8

After reading this Chapter, you should be able to understand or do each of the following:

    * Understand how stack frames are used by high-level languages
    * Know how to pass parameters by value and by reference on the stack
    * Know how to create and access local variables on the stack
    * Know how to write recursive functions in assembly language
    * Know how to use the advanced forms of the INVOKE, ADDR, PROC, and PROTO directives
    * Know how to export and import function and variable names across module boundaries
    * Understand the basic stack architecture of Java Bytecodes
    * Be familiar with the Java Virtual Machine
    * Understand how simple Java arithmetic expressions are represented in Bytecodes

Chapter 9

After reading this Chapter, you should be able to understand or do each of the following:

    * Know the syntax and usage of the MOVSB, CMPSB, SCASB, LODSB instructions
    * Know how to perform efficient string searches using SCASB
    * Know how to copy strings efficiently using MOVSB
    * Understand each of the selected string procedures from the book's link library
    * Know how to traverse a two-dimensional array using advanced indexed addressing modes
    * Know how to perform a bubble sort of an integer array
    * Know how to perform a binary search of an integer array
    * Understand how strings are processed by Java Bytecodes

Chapter 10

After reading this Chapter, you should be able to understand or do each of the following:

    * Understand the syntax for definining structures and unions
    * Know how to reference structure and union variables in code
    * Know how to work with nested structures
    * Know how to create macros with multiple parameters
    * Know how to create nested macros
    * Be familiar with the macros in the book's macro libary
    * Know how to use conditional-assembly directives
    * Know how to use special macro operators such as concatenation (&)
    * Know how to echo messages to the console at assembly time
    * Know how to create repeat blocks at assembly time

Chapter 11

After reading this Chapter, you should be able to understand or do each of the following:

    * Be familiar with Win32 API functions relating to console input-output
    * Be able to create procedure prototypes that match C-language prototypes
    * Be able to input strings and individual characters using Win32 functions
    * Be able to open, read, create, and write to text files
    * Know how to create a stopwatch timer to measure code execution time
    * Create a simple graphical MS-Windows application
    * Use heap allocation functions to create dynamic data structures
    * Understand basic concepts relating to protected mode memory
    * Understand linear addresses and page translation in MS-Windows

Chapter 12

After reading this Chapter, you should be able to understand or do each of the following:

    * Be familiar with single, double, and extended precision IEEE formats
    * Know the single-precision IEEE format in detail
    * Know how to convert between decimal fractions and binary reals
    * Know how to normalize a binary floating-point number
    * Know how exponents are biased
    * Be familair with the basic architecture of the IA-32 floating point unit (FPU)
    * Understand the four rounding modes in the FPU
    * Be familiar with the standard floating-point exception types
    * Know how to mask and unmask floating-point exceptions
    * Know how to perform basic arithmetic using FPU instructions
    * Be familiar with the FPU instruction set
    * Know how to call the book's library functions for floating-point I/O
    * Understand the concept of event synchronization betwee the CPU and FPU
    * Be familiar with the IA-32 instruction format
    * Know how to encode and decode MOV instructions that use registers and memory operands
    * Understand the structure of the Mod R/M byte
    * Understand how operand-size prefixes are used

Chapter 13

After reading this Chapter, you should be able to understand or do each of the following:

    * Understand the syntax for using inline assembly language in Microsoft C/C++ programs
    * Be able to create C/C++ programs that use inline assembly language
    * Be able to call 32-bit assembly language subroutines from C/C++ in protected mode
    * Be able to call functions in the C library from assembly language.
    * Be familar with 16-bit assembly language subroutines called from C/C++ in real-address mode
    * Be familiar with parameter passing conventions used by Microsoft C++ compilers

Chapter 14

After reading this Chapter, you should be able to understand or do each of the following:

    * Be familiar with the memory organization of a typical PC running in real-address mode
    * Know how to redirect input-output on the command line
    * Understand the mechanism for processing software interrupts
    * Be familar with the INT instruction
    * Know how to use INT 21h functions for console I/O in real-address mode
    * Know how to create, close, and open files in MS-DOS
    * Know how to randomly access files using INT 21h functions
    * Be familiar with file I/O functions in the Irvine16 library
    * Know how to read information from the MS-DOS command tail
    * Know how to create a binary file

Chapter 15

After reading this Chapter, you should be able to understand or do each of the following:

    * Understand basic hardware concepts relating to disk storage systems
    * Understand basic disk components such as tracks, cylinders, and sectors
    * Understand the concept behind disk partitions
    * Be familiar with some basic characteristics of FAT16, FAT32, and NTFS file systems
    * Understand how logical sectors are organized on a typical FAT32 disk
    * Be familiar with the way cluster chains hold file information
    * Be able to call system level file functions relating to disk space, directories, and file attributes
    * Be familiar with functions that read and write disk sectors in real-address mode

Chapter 16

After reading this Chapter, you should be able to understand or do each of the following:

    * Be familiar with the layout of the BIOS memory area on a typical PC
    * Know how to perform low-level keyboard input with INT 16h
    * Know how to poll the keyboard using INT 16h
    * Know how to manipulate text attributes using INT 10h
    * Know how to write text and graphics using INT 10h
    * Know how to write graphics data directly to memory
    * Be able to convert cartesian coordinates to screen coordinates
    * Be familiar with the INT 33h functions for mouse handling
    * Be able to track the movements of the mouse using INT 33h

Chapter 17

After reading this Chapter, you should be able to understand or do each of the following:

    * Understand how simplified segment directives generate segment structures
    * Know how to use explicit segment directives
    * Know how to use segment overrides
    * Be able to combine different segments into a single segment
    * Be familiar with the memory layout of the program segment prefix
    * Be familiar with the rutime memory structure of COM and EXE programs
    * Understand how hardware interrupts are processed
    * Understand how IRQ levels are used to prioritize interrupts
    * Know how to write a custom interrupt handler
    * Know how to write a terminate and stay resident (TSR) program
    * Know how to read and write data from I/O ports
    * Be familiar with techniques to output sound from a speaker port

Site Rip Source + Examples attached

[课程]Android-CTF解题方法汇总!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 14179
活跃值: (3805)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
It cann't be downloaded from the download link,please change another link or upload it as a attach file,thanks!!!
2010-9-8 09:57
0
雪    币: 248
活跃值: (653)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
i have a new veision  
http://bbs.pediy.com/showthread.php?t=134050
2011-5-16 20:47
0
雪    币: 118
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
真没看太懂这个
2011-5-17 00:07
0
游客
登录 | 注册 方可回帖
返回
//