Corrections |
Assembly
Language for x86 Processors 7th
Edition
|
Kip Irvine |
Do
you have an error to report? If so, please click
here to send me an email with a description of the error.
Page |
Description |
Date Posted |
3 |
In the first bullet
list, change "32-bit versions" to "32-bit and 64-bit
versions". |
6/22/2014 |
12 |
In the Tip box, the
formula to calculate the minimum number of binary bits to represent a number
n should be: floor( log2 n + 1) |
10/2/2018 |
63 |
3.1.11, question #4, change
"3.1.2" to 3.1.3". |
1/16/2020 |
70 |
In 3.2.4 question 1,
change “INCLUDE” to “ENDP”. |
10/2/2015 |
73 |
On the very first
line, change "EB" to "E8". |
10/2/2018 |
80 |
In the middle of the
page, intVal should have one more pair of zeros in the middle. (found by
Joseph Flynn) |
10/2/2015 |
88 |
Delete the last
sentence on the page: "We will...variable". |
2/7/2015 |
103 |
In the second line
below the 4.1.9 heading, change "MOVDX" to "MOVZX". |
10/2/2018 |
127 |
On line 2, change
"16-bit" to "32-bit". |
10/2/2018 |
128 |
On the last line,
change "G" in the hexadecimal constant to "0". |
9/21/2014 |
130 |
In the SumArray_64
program, add a comma to the end of the line that starts with
"intarray". |
10/2/2018 |
131 |
The last line of the
third code example should be: mov rax,array[rsi*8] ; RAX = 4 |
6/22/2014 |
135 |
In Exercise 9, change
“mov rax,dwordVal” to “mov eax,dwordVal”. In Exercise 16, remove the
“?” from the end of statement (a). |
11/28/2016 |
171 |
Five lines from the
top of the page, change “ECX” to “EAX”. (found by Simone Raimondi) |
11/28/2016 |
172 |
The "exit"
statement used near the bottom of the page substitutes for the INVOKE
ExitProcess statements shown in earlier programs. |
10/2/2018 |
181 |
In the middle of the
page on line of the sample code, change 28 to 28h. (found by Maxim
Stokolesov) |
11/28/2016 |
251 |
In the code example,
change “COUNT” to “4”. (found by Joseph Flynn) |
10/2/2015 |
257 |
Under the heading
"Using MUL in 64-Bit Mode", change "RDX" in the second
sentence to "RAX". |
6/22/2014 |
258 |
In the first sentence
under the heading "Using IMUL in 64-Bit Mode", change
"MUL" to "IMUL". In the second sentence, change
"two-operand" to "single-operand", and change
"RDX" to "RAX". |
6/22/2014 |
258 |
In the last code
example, 3rd line, change "rb" to "rbx". |
6/22/2014 |
264 |
On the second line,
change "divided by 64" to "divided by 64k". |
9/21/2014 |
264 |
There are numerous
errors in the first three paragraphs of Section 7.3.5. Here
is the corrected page. |
9/21/2014 |
280 |
In 7.8.2, change CBQ
to CDQ, and add CWD to the list. |
4/16/2018 |
288 |
In the second
paragraph, change "gain by avoiding" to "gain by using". |
6/21/2014 |
294 |
In the Second
paragraph, the first two sentences should read: "A C compiler pushes
arguments on the stack in reverse order. The called function is responsible
for determining the actual number of arguments passed, and for accessing
those arguments one by one." |
6/22/2014 |
294 |
In the 4th
line under the heading “Saving and Restoring Registers”, change “ESP, and
just before” to “ESP, and just after”. |
10/29/2017 |
302 |
In item #10, change
"R14, R14" to "R13, R14". |
4/16/2018 |
482 |
On the 5th
line from the bottom of the page, change "a SYSTEMTIME is" to
"a FILETIME is", and change "7.5" to "7.4". |
9/21/2014 |
512 |
In Table 12-1 in the
third row, second column, change "16 bits for the exponent" to
"15 bits for the exponent, 1 bit for the integer portion of the
number". (found by Ken Gregg) |
4/25/2014 |
518 |
In the last sentence
of the first paragraph, change "00110011001100110011001" to |
9/21/2014 |
570 |
In the C language
prototype for IndexOf, the return type should be long, not int. Also, on the
second line from the bottom of the page, change "return 1" to
"return -1". |
9/21/2014 |
571 |
Next to last line:
change "the current day" to "Jan 1, 1970". |
6/21/2014 |
572 |
In line 5, change
"steps is" to "steps could be as many as". |
6/22/2014 |
573 |
On the second code
line from the top of the page, change "al" to "eax". |
9/21/2014 |
574 |
Under the Function
Prototypes heading, the first line of code should be: extern "C" returnType funcName( paramlist ). |
6/21/2014 |
577 |
On the second line of
the program, change "INVOKE newLine" to "call Crlf".
(found by Ryan Helpingstine) |
4/19/2015 |
647 |
In 3.2 question 1, the
answer should be “Marks the end of a procedure.” In question 3, change “data”
to “stack”. |
10/2/2015 |
650 |
The answer to problem
6 in 4.6 is E002 hexadecimal. (found by Joseph Flynn) |
10/2/2015 |