1
0
Carlos Fenollosa 10 жил өмнө
parent
commit
0fc3af3f22

+ 8 - 5
12-kernel-c/README.md

@@ -55,8 +55,11 @@ More
 
 I encourage you to write more small programs, which feature:
 
-- Local variables
-- Function calls
-- Pointers
-
-Then compile and disassemble them, and examine the resulting machine code.
+- Local variables `localvars.c`
+- Function calls `functioncalls.c`
+- Pointers `pointers.c`
+
+Then compile and disassemble them, and examine the resulting machine code. Follow
+the os-guide.pdf for explanations. Try to answer this question: why does the
+disassemblement of `pointers.c` not resemble what you would expect? Where is
+the ASCII `0x48656c6c6f` for "Hello"?

+ 7 - 0
12-kernel-c/functioncalls.c

@@ -0,0 +1,7 @@
+void caller() {
+    my_func(0xdede);
+}
+
+int my_func(int arg) {
+    return arg;
+}

+ 4 - 0
12-kernel-c/localvars.c

@@ -0,0 +1,4 @@
+int my_function() {
+    int my_var = 0xbaba;
+    return my_var;
+}

+ 3 - 0
12-kernel-c/pointers.c

@@ -0,0 +1,3 @@
+void func() {
+    char* string = "Hello";
+}