I am using tasm 5.0, and I noticed an annoying occurence. Immediate values are assumed to be words. So when I write an immediate value to memory that is a byte value, it writes over the next byte in memory with a zero! Took me a while to figure out what the heck was going wrong with the code...
Well, I figured it out. I had to cast the function into a int (PASCAL far*)() like this:
ptr=(int(PASCAL far*)())myproc;
Just figured I'd let you know how it is done.
I have a simple windows program that "should" have a standard window with a nice menu. I should be able to click on Help->about and see a nice little box. In order for this to work perfectly (a quick fix adds a small bug in which the about box doesn't dissapear after you click OK) I...
Yeah, but it dies even if I just write near 10,000. That shouldn't happen. And by the way, the whole 0a00h is a type, I meant 0a000h. So that's not the problem, just in case you wondered. Thanks for the help, let me know if you have any other ideas.
An asm prog of mine keeps crashing, and I can't figure out why. It has as simple loop like this that copies a 64000 byte array into the VGA segment (the mode is set already) The buffers and everything else is arleadey set up. This is only a part of the prog.
mov DI,0a00h
mov ES,DI
mov DI,0
mov...
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.