Summary
This chapter was relatively more complex compared to previous chapters. It dealt primarily with assembly programming within Solidity. Assembly is a comprehensive language, and all of its aspects cannot be covered in a single chapter.
This chapter covered some important assembly programming-related concepts, such as declaring variables, blocks, scope, and returning values from assembly blocks and from a function itself. Some advanced concepts, such as working with memory and storage data, were also covered in the chapter.
Some concepts, such as looping and conditional statements, were not covered within this chapter. If you are interested in learning about them, read the official Solidity documentation for more information. Next, it's time to learn how to write maintainable and modular smart contracts in Solidity using upgradable contracts, which we will discuss at length in the next chapter.