|
rsice
初级用户
 
积分 58
发帖 19
注册 2006-9-20
状态 离线
|
『楼 主』:
DOS是不是只能编一些小程序?
使用 LLM 解释/回答一下
我一直喜欢DOS的小巧、实用。买了很多DOS编程的书,还有一本罗云彬的WINDOWS下32位编程设计,里面讲到DOS编程的弱点:难以编写大型程序,中断挂中断,大家抢来抢去,没有庞大的函数库--DOS程序员做梦都在羡慕的东西;编程时需要考虑面对的是什么样的显卡等等
目前新DOS时代,这些情况有改变了吗,罗云彬说在掌握了汇编的基础后,就应该转向WIN32汇编,可我想继续在DOS下深入下去,我怕自己的决定是错误的。请大家指点!
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!
|
|
2008-3-6 23:19 |
|
|
chenall
银牌会员
    
积分 1276
发帖 469
注册 2002-12-23 来自 福建泉州
状态 离线
|
『第 2 楼』:
使用 LLM 解释/回答一下
我不懂编程,我的理解为
学习DOS下的编程可以学习到更多的知识。
比如程序是如何运行的,内存如何分配,等。
DOS下的程序可以非常小,WINODWS下则比较难。
WINDOWS编程可能就学不到这些了,因为系统会自动处理。
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 |
|
2008-3-7 01:16 |
|
|
zyl910
中级用户
  
积分 282
发帖 126
注册 2006-5-17
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
在DOS下编写大型程序需要很高的技巧与维护成本
而Windows平台下的开发工具毕竟发展了这么多年,很智能化傻瓜化,具有开发成本优势
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.
|

人类存在的目的就是试图理解人类为何存在 |
|
2008-3-7 10:46 |
|
|
johnsonlam
银牌会员
     阿林
积分 1410
发帖 497
注册 2004-6-28 来自 九龍,香港
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
在 現 成 的 工 具 下 開 發 , 比 較 貼 切 的 形 容 , 就 是 『 享 受 別 人 辛 勞 的 成 果 』。
但 如 果 工 具 不 好 ( 有 臭 虫 或 不 支 援 新 硬 件 ) , 就 後 患 無 窮 ...
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
|
|
2008-3-7 11:35 |
|
|
rsice
初级用户
 
积分 58
发帖 19
注册 2006-9-20
状态 离线
|
『第 5 楼』:
使用 LLM 解释/回答一下
我想可能DOS汇编是汇编中的汇编,相对于WIN32汇编,它要比WIN32汇编更接近底层,学习它,可能主要是为了了解硬件而非编程吧
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.
|
|
2008-3-8 16:43 |
|
|
GOTOmsdos
铂金会员
       C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
Originally posted by rsice at 2008-3-8 04:43 PM:
我想可能DOS汇编是汇编中的汇编,相对于WIN32汇编,它要比WIN32汇编更接近底层,学习它,可能主要是为了了解硬件而非编程吧
汇编就是汇编吧,还分DOS汇编和WIN32汇编? 你说的可能是各自的汇编代码的编译器不同吧? 比如, BORLAND 的 TASM 和 微软的MASM
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
|
|
2008-3-9 13:45 |
|
|
rsice
初级用户
 
积分 58
发帖 19
注册 2006-9-20
状态 离线
|
『第 7 楼』:
使用 LLM 解释/回答一下
Originally posted by GOTOmsdos at 2008-3-9 13:45:
汇编就是汇编吧,还分DOS汇编和WIN32汇编? 你说的可能是各自的汇编代码的编译器不同吧? 比如, BORLAND 的 TASM 和 微软的MASM
功能不一样吧,可能win32汇编功能更强大一些.
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.
|
|
2008-3-9 20:05 |
|
|
johnsonlam
银牌会员
     阿林
积分 1410
发帖 497
注册 2004-6-28 来自 九龍,香港
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
Originally posted by rsice at 2008-3-6 11:19 PM:
里面讲到DOS编程的弱点:难以编写大型程序,中断挂中断,大家抢来抢去,没有庞大的函数库--DOS程序员做梦都在羡慕的东西;编程时需要考虑面对的是什么样的显卡等等
基 本 來 說 , 那 位 罗 人 兄 不 對 。
DOS 编 程 和 Windows 编 程 , 也 會 出 現 同 樣 問 題 , 總 的 來 說 是 編 程 的 人 技 術 不 佳 ... Windows 也 有 人 dll 再 執 行 dll 再 執 行 dll 。
DOS 也 可 以 用 Object 概 念 去 编 写 大 型 程 序 、 DOS 也 有 龐 大 的 函 数 库 ! ( SDL 、 DUGL 等 等 )
DOS 最 為 人 詬 病 的 是 記 憶 體 不 足 , 以 及 不 能 作 Multi-task 多 工 , 但 前 者 已 經 為 DOS Extender 和 XMS 克 服 , 後 者 因 為 DOS 的 系 統 不 提 供 , 而 顯 得 沒 有 標 準 , 但 當 年 的 Desqview 就 正 好 證 明 DOS 也 能 有 Muiti-task !
目前新DOS时代,这些情况有改变了吗,罗云彬说在掌握了汇编的基础后,就应该转向WIN32汇编,可我想继续在DOS下深入下去,我怕自己的决定是错误的。请大家指点!
這 個 罗 人 兄 也 不 對 , 果 真 是 『 盡 信 書 不 如 無 書 』 啊 !
Win32 汇 编 最 大 的 問 題 是 -- 它 必 須 要 在 Windows 上 執 行 , Windows 由 3.0 開 始 , 到 現 在 的 .NET , 不 知 改 了 多 少 API , 在 一 個 『 非 公 開 非 認 可 標 準 』 的 系 統 開 發 軟 件 , 真 是 危 險 非 常 !
一 個 好 好 的 程 序 , 在 Win98 -WinXP 也 沒 問 題 , 在 Vista 上 跑 不 了 , 是 不 是 很 可 惜 ?
DOS 我 們 可 以 不 用 MS-DOS , 還 有 FreeDOS 或 PTS-DOS , 但 不 用 Win32 汇 编 豈 不 是 所 有 東 西 要 重 新 編 程 ?
這 也 解 釋 了 Linux 為 何 受 歡 迎 !
Last edited by johnsonlam on 2008-3-13 at 01:13 PM ]
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 ]
此帖被 +2 点积分 点击查看详情 评分人:【 rsice 】 | 分数: +2 | 时间:2008-3-13 23:35 |
|
|

我 的 網 站 - http://optimizr.dyndns.org
|
|
2008-3-13 12:56 |
|
|
netwinxp
高级用户
   
积分 741
发帖 366
注册 2007-7-25
状态 离线
|
『第 9 楼』:
使用 LLM 解释/回答一下
汇编语言本身是没有DOS、WIN32、linux等之分的,有的只是编译器、连接器、头文件和库文件的不同。正如C++并不是windows的专利一样。当然,完全用汇编来实现大型软件是不明智的。
Last edited by netwinxp on 2008-5-10 at 07:46 PM ]
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 ]
|
|
2008-5-10 19:40 |
|
|
jimodeziy110
初级用户
 
积分 35
发帖 17
注册 2008-5-11
状态 离线
|
|
2008-5-13 15:07 |
|
|
brglng
银牌会员
     永遠的DOS~~~
积分 1200
发帖 466
注册 2005-2-1 来自 上海
状态 离线
|
『第 11 楼』:
使用 LLM 解释/回答一下
DOS现在虽然很强大,内存不足问题被XMS解决了,Multi-task也能很轻松解决。但是最大的问题是两者无法合作。目前最头痛的问题,32位程序无法驻留内存,这使DOS的Multi-task失去了很多意义。
Last edited by brglng on 2008-5-23 at 08:44 PM ]
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 |
|
2008-5-18 15:35 |
|
|
acme
中级用户
  
积分 238
发帖 98
注册 2007-4-10 来自 陕西
状态 离线
|
『第 12 楼』:
使用 LLM 解释/回答一下
学习了,向前走.
Got it, moving forward.
|

一切皆有可能!我行!我能! |
|
2008-5-26 21:23 |
|
|
PPdos
高级用户
   
积分 783
发帖 268
注册 2006-12-26
状态 离线
|
『第 13 楼』:
使用 LLM 解释/回答一下
如同C语言中调用函数库 ,我们不用去管函数库里的内容,只要知道它的作用就行,我们也不要去写 因为别人已经写好了(至于效率问题那就是仁者见仁智者见智了)
建议就是 要知道为什么然后才是拿来主义
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".
|

菩提本无树,明镜亦非台,本来无一物,何处惹尘埃. |
|
2008-6-2 20:10 |
|