Skip to content

Commit

Permalink
add previous and next links
Browse files Browse the repository at this point in the history
  • Loading branch information
sayon committed Jul 20, 2017
1 parent 2676f6c commit f30058b
Show file tree
Hide file tree
Showing 58 changed files with 61 additions and 119 deletions.
3 changes: 1 addition & 2 deletions questions/answers/001.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,4 @@ The difference is that the CF is a result of an unsigned overflow (not enough bi




[next](2.md)
3 changes: 1 addition & 2 deletions questions/answers/002.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,4 @@ There might be additional points, which are of a little importance to us, such a




[prev](1.md) [next](3.md)
3 changes: 1 addition & 2 deletions questions/answers/003.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,4 @@ a couple of CPU cycles




[prev](2.md) [next](4.md)
5 changes: 2 additions & 3 deletions questions/answers/004.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ What is the hardware stack?
# Answer


\


The first part of the answer is: what is a stack?

Expand Down Expand Up @@ -36,5 +36,4 @@ Examples of such instructions are:




[prev](3.md) [next](5.md)
3 changes: 1 addition & 2 deletions questions/answers/005.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,4 @@ representation -- internal interrupt).




[prev](4.md) [next](6.md)
3 changes: 1 addition & 2 deletions questions/answers/006.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,4 @@ model are trying to solve?




[prev](5.md) [next](7.md)
3 changes: 1 addition & 2 deletions questions/answers/007.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,4 @@ Here is the full list (16 general purpose registers):




[prev](6.md) [next](8.md)
3 changes: 1 addition & 2 deletions questions/answers/008.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,4 @@ What is the purpose of stack pointer?




[prev](7.md) [next](9.md)
3 changes: 1 addition & 2 deletions questions/answers/009.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,4 @@ Being unable to reason about the amount of elements in stack, this question has




[prev](8.md) [next](10.md)
3 changes: 1 addition & 2 deletions questions/answers/010.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,4 @@ So, no, we are unable to reason about the amount of elements in stack at all.




[prev](9.md) [next](11.md)
3 changes: 1 addition & 2 deletions questions/answers/011.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,4 @@ vs nine for `mov` with operand).




[prev](10.md) [next](12.md)
3 changes: 1 addition & 2 deletions questions/answers/012.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,4 @@ The assembly programs return the exit status by passing it to the




[prev](11.md) [next](13.md)
3 changes: 1 addition & 2 deletions questions/answers/013.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,4 @@ The program exit status (return code).




[prev](12.md) [next](14.md)
3 changes: 1 addition & 2 deletions questions/answers/014.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,4 @@ Use `man ascii` to view the full ASCII table with the symbol codes.




[prev](13.md) [next](15.md)
3 changes: 1 addition & 2 deletions questions/answers/015.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,4 @@ its value, becoming `1111` in binary, or `0xF`.




[prev](14.md) [next](16.md)
3 changes: 1 addition & 2 deletions questions/answers/016.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,5 +43,4 @@ Some examples (all producing exactly the same code):




[prev](15.md) [next](17.md)
3 changes: 1 addition & 2 deletions questions/answers/017.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,4 @@ are exactly the same.




[prev](16.md) [next](18.md)
3 changes: 1 addition & 2 deletions questions/answers/018.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,5 +46,4 @@ stored in reverse order, the least significant byte being the first.




[prev](17.md) [next](19.md)
3 changes: 1 addition & 2 deletions questions/answers/019.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,5 +76,4 @@ syscall




[prev](18.md) [next](20.md)
3 changes: 1 addition & 2 deletions questions/answers/022.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,4 @@ TODO




[prev](21.md) [next](23.md)
3 changes: 1 addition & 2 deletions questions/answers/023.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,4 @@ They are parts of the same regiser:




[prev](22.md) [next](24.md)
3 changes: 1 addition & 2 deletions questions/answers/024.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,4 @@ By using `r9d`, `r9w` and `r9b` to access the double word (32 bit), word (16 bit




[prev](23.md) [next](25.md)
3 changes: 1 addition & 2 deletions questions/answers/025.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,4 @@ For example, `call`, `ret`, `push`, `pop`.




[prev](24.md) [next](26.md)
3 changes: 1 addition & 2 deletions questions/answers/027.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,4 @@ Enumerate the Callee Saved Registers




[prev](26.md) [next](28.md)
3 changes: 1 addition & 2 deletions questions/answers/028.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,4 @@ them in a general purpose fashion anyway.




[prev](27.md) [next](29.md)
3 changes: 1 addition & 2 deletions questions/answers/029.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,4 @@ It holds the address of the next instruction to be executed.




[prev](28.md) [next](30.md)
3 changes: 1 addition & 2 deletions questions/answers/030.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,4 @@ Sign Flag, it is set when the computation result is negative.




[prev](29.md) [next](31.md)
3 changes: 1 addition & 2 deletions questions/answers/031.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,4 @@ Zero Flag, it is set when the computation result is zero.




[prev](30.md) [next](32.md)
3 changes: 1 addition & 2 deletions questions/answers/033.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,4 @@ own, because it is not stored in memory cells.




[prev](32.md) [next](34.md)
3 changes: 1 addition & 2 deletions questions/answers/034.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,4 @@ _no:




[prev](33.md) [next](35.md)
7 changes: 3 additions & 4 deletions questions/answers/035.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ jb rcx ; this jump _will_ be performed
The reason why 42 < -1 is that -1 is interpreted as an unsigned integer.
Its hexadecimal representation is 0xFFFFFFFFFFFFFFFF (all 64 bits are set).
If we look at it as if it were an unsigned integer, it will be the greatest
unsigned integer that is representable in 64-bit format (that is, $2^{64}-1$).
Apparently, $42 < 2^{64}-1$
unsigned integer that is representable in 64-bit format (that is, $2^64-1$).
Apparently, $42 < 2^64-1$

$42 < -1$ is false, so the jump will not beperformed.
* You can also memorize the flags that are tested by these instructions. If these
Expand All @@ -44,5 +44,4 @@ flags are set, the jump occurs. However, from my experience, it is useless. If y




[prev](34.md) [next](36.md)
3 changes: 1 addition & 2 deletions questions/answers/036.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,4 @@ are exactly the same.




[prev](35.md) [next](37.md)
3 changes: 1 addition & 2 deletions questions/answers/037.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,4 @@ _label:




[prev](36.md) [next](38.md)
3 changes: 1 addition & 2 deletions questions/answers/038.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,4 @@ The assembly programs return the exit status by passing it to the




[prev](37.md) [next](39.md)
3 changes: 1 addition & 2 deletions questions/answers/039.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,4 @@ lea rax, [rax + rax*8]




[prev](38.md) [next](40.md)
3 changes: 1 addition & 2 deletions questions/answers/040.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,4 @@ jl label




[prev](39.md) [next](41.md)
3 changes: 1 addition & 2 deletions questions/answers/041.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,4 @@ In Big Endian, the bytes are also stored in a natural order:




[prev](40.md) [next](42.md)
3 changes: 1 addition & 2 deletions questions/answers/042.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,4 @@ mov rax, [rdx + 8*rcx + 42]
```



[prev](41.md) [next](43.md)
3 changes: 1 addition & 2 deletions questions/answers/043.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,4 @@ Where does the program execution start?
From the `_start` label.



[prev](42.md) [next](44.md)
3 changes: 1 addition & 2 deletions questions/answers/044.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,4 @@ Because of __little endian__:




[prev](43.md) [next](45.md)
3 changes: 1 addition & 2 deletions questions/answers/045.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,4 @@ Decypher this segment selector: `0x08`.
* ring = 0, this is the 0-th protection ring, we are actually in the most privileged mode.



[prev](44.md) [next](46.md)
3 changes: 1 addition & 2 deletions questions/answers/047.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,4 @@ There is little difference between these for caches or for virtual memory,
because the latter can be viewed as a particular type of cache.



[prev](46.md) [next](48.md)
3 changes: 1 addition & 2 deletions questions/answers/048.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,4 @@ Anonymous pages correspond to no file in filesystem, thus their respective
fields contain stub zeros.



[prev](47.md) [next](49.md)
3 changes: 1 addition & 2 deletions questions/answers/049.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,4 @@ We recommend the following article:
[https://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Memory/fully.html](https://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Memory/fully.html)



[prev](48.md) [next](50.md)
3 changes: 1 addition & 2 deletions questions/answers/050.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,4 @@ A continuous area of memory is called a region if:




[prev](49.md) [next](51.md)
3 changes: 1 addition & 2 deletions questions/answers/051.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,4 @@ kills the process right away. You will see the error message `Segmentation fault




[prev](50.md) [next](52.md)
3 changes: 1 addition & 2 deletions questions/answers/052.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,4 @@ handled by OS. It usually involves killing current process right away. You
will see the error message `Segmentation fault`.



[prev](51.md) [next](53.md)
Loading

0 comments on commit f30058b

Please sign in to comment.