China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --

Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
DOS stands for freedom, openness and progress. Let us work hard, learn from the openness and GNU spirit of FreeDOS and Linux, and together build and grow a free GNU GPL world!

中国DOS联盟论坛
The time now is 2026-08-01 07:47
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » Is DOS only capable of writing some small programs? View 2,088 Replies 12
Original Poster Posted 2008-03-06 23:19 ·  中国 江苏 常州 电信
初级用户
Credits 58
Posts 19
Joined 2006-09-20 08:56
19-year member
UID 63159
Status Offline
I've always liked the compactness and practicality of DOS. I've bought many books on DOS programming, and there's also a book by Luo Yunbin on 32-bit programming design under WINDOWS, which mentions the weaknesses of DOS programming: it's difficult to write large programs, interrupts interrupt each other, everyone is grabbing resources, and there's no huge function library - something that DOS programmers dream of envying; when programming, you need to consider what kind of graphics card you're facing, etc.

In the current new DOS era, has any of these situations changed? Luo Yunbin said that after mastering the foundation of assembly language, one should switch to WIN32 assembly, but I want to go deeper under DOS. I'm afraid my decision is wrong. Please give me some advice!
Floor 2 Posted 2008-03-07 01:16 ·  中国 福建 泉州 电信
银牌会员
★★★
Credits 1,276
Posts 469
Joined 2002-12-23 13:00
23-year member
UID 586
Gender Male
From 福建泉州
Status Offline
I don't know programming. My understanding is that
Learning programming under DOS can learn more knowledge.
For example, how the program runs, how memory is allocated, etc.
Programs under DOS can be very small, while it's relatively difficult under Windows.
You may not learn these from Windows programming, because the system will handle it automatically.
QQ:366840202
http://chenall.net
Floor 3 Posted 2008-03-07 10:46 ·  中国 广东 广州 荔湾区 电信
中级用户
★★
Credits 282
Posts 126
Joined 2006-05-17 22:29
20-year member
UID 55724
Status Offline
Writing large programs under DOS requires high skills and maintenance costs. While the development tools on the Windows platform have毕竟 developed for so many years, they are very intelligent and user-friendly, and have the advantage of low development costs.
人类存在的目的就是试图理解人类为何存在
Floor 4 Posted 2008-03-07 11:35 ·  中国 香港
银牌会员
★★★
阿林
Credits 1,410
Posts 497
Joined 2004-06-28 00:00
22-year member
UID 27551
Gender Male
From 九龍,香港
Status Offline
Developing under existing tools, a more appropriate description is "enjoying the fruits of others' labor".

But if the tool is not good (with bugs or not supporting new hardware), it will be extremely problematic...
我 的 網 站 - http://optimizr.dyndns.org
Floor 5 Posted 2008-03-08 16:43 ·  中国 江苏 常州 电信
初级用户
Credits 58
Posts 19
Joined 2006-09-20 08:56
19-year member
UID 63159
Status Offline
I think maybe DOS assembly is the assembly among assemblies. Compared with WIN32 assembly, it is closer to the bottom layer than WIN32 assembly. Learning it may mainly be to understand hardware rather than programming.
Floor 6 Posted 2008-03-09 13:45 ·  中国 北京 鹏博士
铂金会员
★★★★
C++启程者
Credits 5,154
Posts 1,827
Joined 2003-07-18 00:00
23-year member
UID 7105
Gender Male
Status Offline
Originally posted by rsice at 2008-3-8 04:43 PM:
I think maybe DOS assembly is the assembly among assemblies. Compared with WIN32 assembly, it is closer to the bottom layer than WIN32 assembly. Learning it, maybe mainly to understand the hardware rather than programming.


Assembly is just assembly, and there are DOS assembly and WIN32 assembly? What you said may be that the compilers of their respective assembly codes are different? For example, BORLAND's TASM and Microsoft's MASM
Floor 7 Posted 2008-03-09 20:05 ·  中国 江苏 常州 电信
初级用户
Credits 58
Posts 19
Joined 2006-09-20 08:56
19-year member
UID 63159
Status Offline
Originally posted by GOTOmsdos at 2008-3-9 13:45:


Assembly is just assembly, and there are DOS assembly and WIN32 assembly? What you said may be that the compilers for their respective assembly codes are different? For example, BORLAND's TASM and Microsoft's MASM

The functions may be different, and maybe WIN32 assembly is more powerful.
Floor 8 Posted 2008-03-13 12:56 ·  中国 香港
银牌会员
★★★
阿林
Credits 1,410
Posts 497
Joined 2004-06-28 00:00
22-year member
UID 27551
Gender Male
From 九龍,香港
Status Offline
Originally posted by rsice at 2008-3-6 11:19 PM:
It mentions the weaknesses of DOS programming: difficult to write large programs, interrupts hanging interrupts, everyone scrambling, no huge library of functions—the thing that DOS programmers dream of envying; when programming, you need to consider what kind of graphics card you are facing, etc.



Basically, that Mr. Luo is incorrect.

DOS programming and Windows programming will also have the same problems. Generally speaking, it's the programmer's poor technology... Windows also has people doing dll executing dll executing dll.

DOS can also use the concept of Object to write large programs, and DOS also has a huge library of functions! (SDL, DUGL, etc.)

The most criticized aspect of DOS is insufficient memory, and the inability to do Multi-task. But the former has been overcome by DOS Extender and XMS, and the latter appears to be without a standard because the DOS system does not provide it. But back then, Desqview exactly proved that DOS could also have Multi-task!


At present, in the new DOS era, have these situations changed? Luo Yunbin said that after mastering the basics of assembly, one should switch to WIN32 assembly. But I want to go deeper under DOS. I'm afraid my decision is wrong. Please give me some advice!


This Mr. Luo is also incorrect. Indeed, "believing all books is worse than having no books"!

The biggest problem with Win32 assembly is— it must be executed on Windows. Windows has changed a lot of APIs from 3.0 to the current .NET. Developing software on a "non-public, non-recognized standard" system is extremely dangerous!

A good program has no problem on Win98 - WinXP, but can't run on Vista. Isn't that a pity?

We can not use MS-DOS for DOS, there are FreeDOS or PTS-DOS, but not using Win32 assembly would mean having to re-program everything?

This also explains why Linux is popular!


[ Last edited by johnsonlam on 2008-3-13 at 01:13 PM ]
Recent Ratings for This Post ( 1 in total) Click for details
RaterScoreTime
rsice +2 2008-03-13 23:35
我 的 網 站 - http://optimizr.dyndns.org
Floor 9 Posted 2008-05-10 19:40 ·  中国 福建 厦门 电信
高级用户
★★★
Credits 741
Posts 366
Joined 2007-07-25 19:11
19-year member
UID 94024
Gender Male
Status Offline
Assembly language itself doesn't have divisions like DOS, WIN32, Linux, etc. What exists are just differences in compilers, linkers, header files, and library files. Just as C++ isn't exclusive to Windows. Of course, it's unwise to implement large software entirely with assembly language.

[ Last edited by netwinxp on 2008-5-10 at 07:46 PM ]
Floor 10 Posted 2008-05-13 15:07 ·  中国 浙江 宁波 象山县 电信
初级用户
Credits 35
Posts 17
Joined 2008-05-11 15:01
18-year member
UID 118414
Gender Male
Status Offline
Floor 11 Posted 2008-05-18 15:35 ·  中国 上海 电信
银牌会员
★★★
永遠的DOS~~~
Credits 1,200
Posts 466
Joined 2005-02-01 00:00
21-year member
UID 35867
Gender Male
From 上海
Status Offline
Although DOS is very powerful now, the memory shortage problem has been solved by XMS, and multi-tasking can also be solved very easily. But the biggest problem is that the two cannot cooperate. Currently, the most troublesome problem is that 32-bit programs cannot be resident in memory, which makes the multi-tasking of DOS lose a lot of meaning.

[ Last edited by brglng on 2008-5-23 at 08:44 PM ]
32位才是DOS未来的希望
个人网志:http://sololand.moe
Floor 12 Posted 2008-05-26 21:23 ·  中国 江苏 苏州 电信
中级用户
★★
Credits 238
Posts 98
Joined 2007-04-10 07:50
19-year member
UID 84593
Gender Male
From 陕西
Status Offline
Got it, moving forward.
一切皆有可能!我行!我能!
Floor 13 Posted 2008-06-02 20:10 ·  法国
高级用户
★★
Credits 783
Posts 268
Joined 2006-12-26 17:18
19-year member
UID 74627
Gender Male
Status Offline
Just like calling function libraries in the C language, we don't need to care about the content inside the function library, as long as we know its function. We also don't need to write it because others have already written it (as for the efficiency issue, that's a matter of different people having different opinions). The suggestion is to know why first and then be an "appropriator".
菩提本无树,明镜亦非台,本来无一物,何处惹尘埃.
Forum Jump: