Okay, so I'm well read in VB and quite an avid VB programmer but I realize that programming in visual basic isn't very marketable and above all I only use it for fun. I wanted to move to C++ but noticed that it was a LOT harder, and worked completely differently...I don't really know how to handle it but I read up on assembler code and decided that if I'm going to move to a lower language I might as well start with assembler to learn more about how a processor works so that when I move up to C++ it is easier, and I'll probably be able to write way better, way more efficient code. I'm into the basics and read about the registers but there's a thing I don't really understand...
the way that you use functions,
is the only way to really carry out a command to set the AH register to a hex value and then use INT 021h? INT 21 calls a routine from DOS doesn't it...what does that mean exactly...where's a list of said commands...how would I write for anything other than windows if every function is just a DOS routine? Could I write something independent of DOS? Maybe this is obvious and I haven't just read into it enough, not that I started learning assembler like, an hour ago. But some basic tips from people who use the language would be really helpful
oh also, I found this example:
.model small .stack .data message db "Hello world", "$" .code main proc mov ax,seg message mov ds,ax mov ah,09 lea dx,message int 21h ; mov ax,4c00h mov ah,4ch mov al,00h int 21h main endp end main
what's the "$" for when declaring the message identifier in the .data segment?