This week January 27 - January 31, we were still discussing the progress of the results of our Lab 3 ( https://wiki.cdot.senecacollege.ca/wiki/6502_Assembly_Language_Math_Lab ). We gather as a team and discuss the findings and problems that we have with our Bouncing Graphic, the problem is still that we cannot make the Graphic bounce off the corner once it hits. Instead, it just goes through it and then the corner of the graphic mess up. The results that we have so far can be found it the blog with the Lab tags.
In class, we had a discussion about the GCC compiler, we explore the different features that this compiler has and how to work with it. Also, we go deeper with the 5 steps that the compiler have:
Preprocessing
Compilation
Optimization
Assembly
Linking
As well as the feature flags that the GCC compiler has such as:
-fbuiltin "enables the builtin feature"
-fno-builtin "disables the builtin feature"
-O0 "disables most optimizations"
-O1 "enables basic optimizations that can be performed quickly"
-O2 "enables almost all safe optimizations"
-O3 "enables aggressive optimization"
-Os "optimizes for small binary and runtime size"
-Ofast "optimizes for fast execution"
-Og "optimizes for debugging"
To learn more about what the different flags do at each level we can use a GCC command -> gcc -Q --help=optimizers -Olevel . Ex : gcc -Q --help=optimizers -O2. For more detail information (https://wiki.cdot.senecacollege.ca/wiki/Winter_2020_SPO600_Weekly_Schedule#Week_4_-_Class_II)
In addition, we discuss the "Make and Makefiles" how this can help us save time for compiling code. Running a make command we can create a makefile script in the current directory. For more information about this command, we can check this website (https://wiki.cdot.senecacollege.ca/wiki/Make_and_Makefiles).
So far this week we had an interesting topic about the assembly language and the optimization part. Really looking forward to the next lab to put in practice this week's lecture.
Comments