I read your other reply before this one. I won't explain anything else.
You think I copied it from someplace huh? LOL.
I don't be thinking so. It's the simplest program one learns to write in
assembler. A hello world.
You'd be mistaken. This source file will assemble just fine using nasm.
That's a shit comment. Just shit. What does 'data', the pointer,
point to? What is it initialized to? Null? A value?
..exe files are seperated into sections. code is where your machine code
lives, data is where your variables will be living; as well as any
memory you allocate while your running.
It's beyond time for you to crack open that virus book. You shouldn't
need me to hold your hand on this.
"Tell"? Tell? Dustin, are you serious? What does 'tell' mean? You
mean ds equals (is assigned) the contents of register ax? Is that
it? Am I teaching you or do you even know? I'm trying to lern and
you seem to not know yourself.
I wrote the source I posted. I wrote the irok I posted. you aren't
teaching me.
Again, same problem, see above.
Not a problem for me. I understand what a pointer is. Being as you have
c programming background, YOU SHOULD too. It's the same ****ing thing!
I don't think so. I think you are loading the contents of ax into ss
register. Why you need to do this is not clear--but that's what YOU
are supposed to be teaching me. Recall pointer 'data' has been moved
to ax, so now ss register has this pointer value.
You don't think so?
Lol.. Idiot. I have others here checking my work.
I'm not misleading you.
No. I don't think so Dustin. I think this is moving 'stacktop', a
variable, into register sp. Why you need to move variables into
different registers is not clear and certainly not being explained by
you.
You'd be wrong. It's not moving the variable; it's moving the location
in memory to where that variable begins! It's first byte.
No. Again, you show your incompetence. What I think this is doing
is moving the ASCII text 'hello' into register dx, which perhaps can
accept a string. Not clear though. Perhaps 'hello' is a variable?
Not clear. it is not doing what you claim it is. I'll say this:
even if you can code in assembly--and you've not shown me you
can--you are a lousy teacher.
you'd be wrong.
It's not moving the ascii text "hello" into register dx. It's moving the
location of where the variable "hello" begins! in memory. It's a pointer
ray, it's not the variable itself. A C style pointer at that, Ray!
Hello is a variable, configured to "Hello, ****ing, world!" it does not
print the trailing dollar sign, as function 09 uses that as EOS (End of
string). I'm not moving the variable into the registers, I'm moving a
pointer to the variables beginning in memory into those registers.
In order to do that, I had to first tell the OS where my stack! and data
segments are, as that's the memory region where my variable can be
found. If I had written it to become a .com file, I wouldn't have had to
do any of that. .coms don't have seperate sections, they're hardcoded to
a 64k image of the machine code as it'll look in memory. It doesn't
relocate by default. An EXE has a header with relocation tables.
Think of an .exe as multiple .com files.
I've never claimed to be a good teacher, as I have a low tolerance for
stupidity and having to repeat myself. Your assinine comments don't help
you here either.
OK but why would this act on register 'ax' and not on 'dx', which
precedes this line? is not assembly a procedural language, where the
sequence of instructions makes a difference? You seem to not
understand this.
I understand asm fine. You seem to be the one asking simple questions
and having to have your hand held here.
OK, but again you seem to have this out of sequence.
No. It's in sequence. I setup for the call and I made the call.
OK, but are you saying the hex code 0x4c00 has some significance?
Not clear if it does but that seems to be your assumption. Again,
not demonstrating you can explain anything, even if you know what you
are doing (which I doubt).
It certainly does. It's the function to exit back to dos! Did you think
asm programs just "end"?
Do what? You are making this shit up, aren't you?
Nope.
??? what? You saying this for line "int 0x21"? Unreal.
No. I'm saying that for segment "data" line.
WTF you talking about? Did you call a variable 'stack' and defining
a stack segment by that name? Not very smart of you, like calling an
'int' variable 'int'. In any event you are not explaining this line
at all.
NO!
int isn't a variable, stupid. It's short for "interrupt". It's a
command.
http://spike.scu.edu.au/~barry/interrupts.html
AH = 02h -WRITE CHARACTER TO STANDARD OUTPUT
Entry: DL = character to write
Return: AL = last character output
Notes:
^C/^Break are checked
the last character output will be the character in DL unless DL=09h
on entry, in which case AL=20h as tabs are expanded to blanks
if standard output is redirected to a file, no error checks (write-
protected, full media, etc.) are performed
SeeAlso: AH=06h,AH=09h
AX =AH and AL (high and low bytes).
GIGO. Your thought processes at work.
Last in, last out, stupid. GIGO is another term which applies when
programs get bad input, they provide bad output.
My thought processes are fine.
I see--you cut and paste from Wikipedia. You can fool your
non-programming sycophants friends but you can't fool me Dustin.
Fork url to my source you claim I stole from wikipedia. The interrupt
list is well known and documented everywhere. I didn't steal it. You
HAVE TO USE it if you wish to code 16bit assembler.
Does not 'cover your end'. You end is exposed like the child you
are--and everybody is laughing at your exposed end Dustin.
Nobodies laughing at me Ray. My work is fine. The sources are legit.
I'm sure people are now laughing at you tho. thinking "int 0x21" was a
variable or that "segment stack" is a variable. Or that I can move
vairables into a register! I can't. I can move pointers to the variables
into the registers, Ray. [g]
--
Things look bad from over here. Too much confusion and no solution.
Everyone here knows your fear. Your out of touch and you try too much.
Yesterdays glory will help us today. You wanna retire? Get outta the
way. I ain't got much time. Young ones close behind. I can't wait in
line.