VOGONS


First post, by Jubatian

User metadata
Rank Newbie
Rank
Newbie

Hi!

So here is the case. Not mine, i was trying to do a homework for a friend of mine at that university. That's about assembly. I think i "talk" in perfect ASM dialect in both 16 and 32 bit mode, both in Intel and AT&T syntax, so i thought it will be OK. Nope. That course uses some old Turbo Assembler running under DosBox, and the said homework involved doing 32 bit assembly on that stuff. So use DMPI. I never tried it (Would anyone ever think of programming DMPI today?), so fail. I couldn't find any description on the Internet on how DOS extenders could be used.

So i just would like to ask, what do you think of such. I just think that should simply be prohibited. DMPI died off for good, there is no need to "revive" it. (If we talk of 32 bit ASM, isn't it true that a simple .c program with some AT&T syntax ASM in it compiles just fine with GCC on a Linux box? Without all that hassle)

Reply 1 of 8, by eL_PuSHeR

User metadata
Rank l33t++
Rank
l33t++

Sorry for moving your topic to trash. I thought you were a spam bot. Your writing style isn't too clear. 😦

Intel i7 5960X
Gigabye GA-X99-Gaming 5
8 GB DDR4 (2100)
8 GB GeForce GTX 1070 G1 Gaming (Gigabyte)

Reply 2 of 8, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

*g* at ElPusher 😀

Well i didn't really get the point either, are you supposed to program something
using a dpmi-capable extender, or some asm-coding where the underlying
system uses some dos extender, or do you have to *use* dpmi-calls??

Reply 3 of 8, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

It's a professor problem, not a DOSBox one. Some of them tend to not learn anything new and continue teaching their old crap. However, at the university you are not supposed to learn useful things but to show that you are smart enough to be able to learn them yourself 😉

1+1=10

Reply 4 of 8, by Zup

User metadata
Rank Oldbie
Rank
Oldbie

I don't think so. Assembler is part of knowing how a CPU works. It doesn't matter if it is Z80 assembler, 80x86 assembler or 68000 assembler... those graduates should know (at least) one.

Programming in DOS is far easier than programming in Windows, so I don't think teaching that is wrong. Learning assembler using windows API would not be a success... they would be spending more time learning how Windows works than learning how CPU works.

I have traveled across the universe and through the years to find Her.
Sometimes going all the way is just a start...

I'm selling some stuff!

Reply 5 of 8, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

I knew 6502 (and a little bit of Z80 and 6800) before attending university. In class, we were introduced to the PDP-11, 68000 and IBM S/360, but assignments were centered around an imaginary micro-coded CPU found in Andrew S. Tanenbaums book "Structured Computer Organization". I made it slightly less imaginary by programming an emulator for the CPU running in glorious 25x80 yellow-on-brown.

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 6 of 8, by Jubatian

User metadata
Rank Newbie
Rank
Newbie

Well, sorry for it, i just did not write on English boards since long. Maybe my English needs some little re - tuning :p

Well, as for DMPI i really do not know how it works, that's why i can not really phrase what i wanted with it. I only know that somehow it gets in 32 bit mode from DOS, then gives some sort of "tunnel" back to the 16 bit interrupts. But no more. For fun i wrote quite a few 16 bit ASM programs (for example a PC speaker wav player with "adaptive" 8 bit 22KHz playback) and lots of ASM extensions to 32 bit C programs. So from these i know how to do it. But not DMPI (I also coded for Gameboy and Commodore64).

"It's a professor problem". Yes, that's it, i think so. Back then when i had a different course with him i also experienced that, well, there are serious problems with his methods. Now he did not even told that they are going to need DMPI, just gave them the homework: Write a program XY which produces it's result in eax:edx (so does 64 bit operations). And they have to use DOS interrupts to display the result. That was why i got a little mad that day after 8 hours of tampering (Well, first i wrote the proggy in 32 bit ASM then as i asked my friend how they usually address memory, using stack pointer or what, that was when i figured out the dirty facts). So that was why i thought, "well, if for some reason somewhere somebody should prohibit using DosBox, then this is such a case".

ASM in DOS is easier, that's a good point. I do not know if it is the case with DMPI as well. If they experienced with just 16 bit ASM, then i said, well, go on with it, it is a clean way to learn it or ASM in general. But for 32 bit, and learning the quirks of a severely outdated technology for it, no (If it is something complicated. I do not know).

Reply 7 of 8, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

It's so hard to call CreateFile and AllocConsole in Windows asm? 😉

1+1=10

Reply 8 of 8, by Zup

User metadata
Rank Oldbie
Rank
Oldbie

It was a pain switching from DOS Pascal to Turbo Pascal for Windows. Creating windows, the message queue and those pesky things.

Didn't remember that there are console apps...

I have traveled across the universe and through the years to find Her.
Sometimes going all the way is just a start...

I'm selling some stuff!