Dev journal, day 14
Posted by Trixter on May 14, 2014
1E PUSH DS 0E PUSH CS 1F POP DS BEFFFF MOV SI,FFFF B800B8 MOV AX,B800 8EC0 MOV ES,AX FC CLD
Posted by Trixter on May 14, 2014
1E PUSH DS 0E PUSH CS 1F POP DS BEFFFF MOV SI,FFFF B800B8 MOV AX,B800 8EC0 MOV ES,AX FC CLD
This entry was posted on May 14, 2014 at 9:57 pm and is filed under Demoscene, Programming, Vintage Computing. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
This site uses Akismet to reduce spam. Learn how your comment data is processed.
William D. Jones (@cr1901) said
I guess you’re going to increment SI BEFORE MOVSWing your data? Otherwise you’re quite out of bounds of the CGA segment :P.
Trixter said
I think you’re confusing SI with DI. But don’t worry, SI isn’t really FFFF either; it’s patched runtime by the compiler.
William D. Jones (@cr1901) said
Yes, indeed I WAS confusing the two. I must be misunderstanding the context of the code, but from what I gathered, you’re about to do a write to the CGA segment.
Curious why the compiler’s runtime included that mov to SI though if it doesn’t do anything.
William D. Jones (@cr1901) said
Oh nevermind, I get what you’re saying now, ignore my second paragraph. SI’s real value isn’t determined until runtime as in “time to execute code”; I was thinking “runtime” as in the “C runtime library routines”.