Hi Jeff,
thanks a lot for sharing your considerations.
Hopefully you will not find too elementary some of my considerations.
Just now I am rechecking my knowledge and making links to sideways to clarify in any possible way some things. I suffer the fortune of not liking intuition as a substitute of comprehension and sometime can be a bit cumbersome, but that is something working good , if got to the end.
e.g. I was just now make this simple coding:
section .data ; Section containing initialized data
section .text ; Section containing code
global _start ; Linker needs this to find the entry point
_start:
nop ; This no-op keeps gdb happy
here:
mov eax,3
mov ebx,2
cmp eax,ebx
jg here
nop
because, despite the long explaining stuff of cmp op1,op2 being op1 - op2 nothing told what is op1 or op2 to be greater of the other. It seems to me that nothing in itself says that is the eax > ebx to jump.
I am trying to give a try to everything I cannot give clear outcome and taking notes.
Also I am trying to collect info about the most used sys_calls needed to interact with the world. Unfortunately the < > mode makes examples simple but also a problem to find the most elementary ways to interact with files from assembly.
I made some research to use 90 91 mmap unmap and got some clue to use structs for long list of parameters and mapping to the kernel defined counterpart.
I already made a small skeleton in which I got a command line argument file, mmap, make some fictional change, and unmap to disk, putting together what I got. Now I getting bank inside the assembly to think how to make text formatting step, that will need to check for a config file to open (getting info from the stack about HOME).
So the first thing I would get is this asmstyle text formatter.
The compiler would be written in C++/assembly but the real goal is the mixing of assembly/C/C++ in a floating fashion, using .o .a asm libraries called by HLL using C calling conventions.
About the assembly, my main point is becoming fluent to make it just a matter of time and patience, so now I am doing something specific to win confidence that I will be later able to use it to solve other problems.
As with assembly the journey is the goal I think that committing a fixed time, let's say every day, to stay on the line, is the first milestone in the travel. So I did.
Thanks a lot
Fabio