Complete x86 Assembly Programming | 120+ Practical Exercises | Hou Sam | Skillshare

Complete x86 Assembly Programming | 120+ Practical Exercises

Hou Sam

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
137 Lessons (9h 29m) View My Notes
    • 1. 01-Introduction to the programming languages

      2:04
    • 2. 02-Introduction to the Assembly language

      2:26
    • 3. 03-Introduction to the computer's architecture

      1:48
    • 4. 04-The internal architecture of the 8086 processor

      2:37
    • 5. 05-Simulation of the main memory

      1:50
    • 6. 06-How to install emu8086

      4:35
    • 7. 07-First step

      3:23
    • 8. 08-How and where define variables

      5:21
    • 9. 09-The rules of naming a variable

      1:32
    • 10. 10-Size directives

      1:34
    • 11. 11-The Constants

      2:36
    • 12. 12-Types of the numerical values

      4:45
    • 13. 13-Data registers

      1:23
    • 14. 14-Mov instruction

      6:37
    • 15. 15-Mov instruction example I

      9:21
    • 16. 16-Mov instruction example II

      4:50
    • 17. 17-Xchg instruction

      2:34
    • 18. 18-ADD & SUB instructions

      3:48
    • 19. 19-ADD & SUB instructions example

      5:33
    • 20. 20-INC DEC NEG instructions

      3:56
    • 21. 21-INC DEC NEG instructions example

      5:33
    • 22. 22-From binary to hexadecimal

      4:05
    • 23. 23-The difference between the signed and unsigned numbers

      5:30
    • 24. 24-How to choose the right size for a number

      2:34
    • 25. 25-The Flags register

      3:20
    • 26. 26-The overflow

      4:07
    • 27. 27-The overflow in NEG instruction

      2:21
    • 28. 28-SF ZF

      2:43
    • 29. 29-SF ZF example

      3:50
    • 30. 30-PF

      4:01
    • 31. 31-Introduction to the branching

      4:46
    • 32. 32-The branching -Part I

      5:40
    • 33. 33-The branching -Part II

      2:02
    • 34. 34-Branching example -overflow 1

      3:28
    • 35. 35-Branching example -overflow 2

      2:11
    • 36. 36-Branching example -comparing numbers

      4:21
    • 37. 37-The branching -Part III (1)

      3:26
    • 38. 38-The branching instructions in the unsigned numbers -example

      5:51
    • 39. 39-The branching -Part III (2)

      3:05
    • 40. 40-The branching instructions in the signed numbers -example

      2:40
    • 41. 41-Using the branching instructions with PF -example

      3:27
    • 42. 42-Data types: chars

      6:50
    • 43. 43-How to print a char in the DOS screen

      2:21
    • 44. 44-How to read a char from the keyboard

      1:57
    • 45. 45-The DOS services -example

      1:49
    • 46. 46-Operations on the chars

      4:05
    • 47. 47-From the uppercase to the lowercase

      3:54
    • 48. 48-Read a digit -example

      2:57
    • 49. 49-How to print a message in the DOS screen

      4:31
    • 50. 50-From the lowercase to the uppercase

      4:22
    • 51. 51-Simple IF

      4:18
    • 52. 52-Complex IF

      6:29
    • 53. 53-IF-Else Condition

      3:11
    • 54. 54-The repeat loop

      5:11
    • 55. 55-The while loop

      4:09
    • 56. 56-The For loop

      3:22
    • 57. 57-Segments registers

      3:57
    • 58. 58-The offset

      7:35
    • 59. 59-Memory models

      4:26
    • 60. 60-Segments registers -notes

      2:07
    • 61. 61-Introduction to arrays

      3:51
    • 62. 62-How to define an array

      4:05
    • 63. 63-The Sum of an array

      11:26
    • 64. 64-Read & write in arrays

      5:34
    • 65. 65-Max value in an array

      4:02
    • 66. 66-Looking for a value in an array

      3:33
    • 67. 67-Min value in an array

      5:12
    • 68. 68-Addressing modes I

      4:03
    • 69. 69-Addressing modes II

      7:58
    • 70. 70-Addressing modes -notes

      6:21
    • 71. 71-Counting the occurrence of the number 5 in an array

      3:38
    • 72. 72-Addressing modes III

      6:57
    • 73. 73-Arrays with tow dimensions

      2:43
    • 74. 74-How to index an array with tow dimensions

      3:56
    • 75. 75-Max value in an array with tow dimensions

      3:04
    • 76. 76-The sum of the third column

      8:43
    • 77. 77-AND

      2:29
    • 78. 78-OR XOR

      6:10
    • 79. 79-How to know if a number is even

      3:27
    • 80. 80-The masks

      6:29
    • 81. 81-NEG instruction simulation

      5:10
    • 82. 82-Converting between the uppercase & lowercase

      3:46
    • 83. 83-TEST instruction

      5:01
    • 84. 84-TEST instruction -examples

      4:02
    • 85. 85-Other examples

      2:30
    • 86. 86-NOT

      2:27
    • 87. 87-Shift left

      5:13
    • 88. 88-Using shift left in the multiplication

      3:49
    • 89. 89-How to count the number of 1 using SHL instruction

      2:35
    • 90. 90-Shift right

      4:11
    • 91. 91-The difference between SHR and SAR

      1:33
    • 92. 92-ROL RCL

      4:33
    • 93. 93-Reverse the content

      2:54
    • 94. 94-How to count the number of 1 using ROL instruction

      2:29
    • 95. 95-ROR RCR

      1:51
    • 96. 96-From binary to decimal 1

      1:34
    • 97. 97-From binary to decimal 2

      4:43
    • 98. 98-From binary to decimal 3

      2:34
    • 99. 99-From binary to decimal 4

      2:22
    • 100. 100-Stack

      6:58
    • 101. 101-XCHG instruction simulation

      3:26
    • 102. 102-Reverse the elements of an array

      4:41
    • 103. 103-Procedures

      4:18
    • 104. 104-CALL & RET instructions

      5:40
    • 105. 105-Procedures -examples

      4:24
    • 106. 106-Procedure: even or odd

      7:40
    • 107. 107-The parameters and the returned value

      7:53
    • 108. 108-Dealing with Stack -advanced ways

      7:57
    • 109. 109-The Macros

      4:46
    • 110. 110-Macros -example

      2:21
    • 111. 111-Libraries

      7:35
    • 112. 112-The emu8086.inc library

      6:19
    • 113. 113-The Loop Instructions

      5:20
    • 114. 114-MUL Instruction

      5:15
    • 115. 115-How the MUL instruction changes the state of the flags

      7:37
    • 116. 116-DIV instruction

      3:18
    • 117. 117-DIV instruction

      2:54
    • 118. 118-Input & Output a String

      4:37
    • 119. 119-MOVSB

      8:29
    • 120. 120-STOSB

      3:28
    • 121. 121-LODSB string

      3:23
    • 122. 122-SCASB string

      3:43
    • 123. 123-CMPSB

      5:43
    • 124. 124-DatePrint the date and time

      3:12
    • 125. 125-Other resources

      2:31
    • 126. 126-Introduction

      2:54
    • 127. 127-From decimal to binary

      4:03
    • 128. 128-From binary to decimal

      1:34
    • 129. 129-From decimal to hexadecimal

      2:41
    • 130. 130-From hexadecimal to decimal

      3:33
    • 131. 131-From binary to hexadecimal

      1:29
    • 132. 132-Represent unsigned numbers

      5:59
    • 133. 133-The Addition operation

      2:55
    • 134. 134-Represent signed numbers

      4:49
    • 135. 135-How to read numbers

      3:36
    • 136. 136-The subtraction & multiplication

      2:08
    • 137. 137-The characters representation

      3:36