![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 15:18 |
共 48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行 |
| 网络日志(Blog) » 【Redtek】 个人网志(学习笔记) |
| 可打印版本 29,476 / 130 |
| 第1楼 redtek | 发表于 2006-12-10 00:48 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
【Redtek】 个人网志(学习笔记) 学习笔记目录: ============================================== 个人网志: ============================================== 【Redtek 学习网志】 http://www.cn-dos.net/forum/viewthread.php?tid=25504 【Redtek 普通网志】 http://blog.sina.com.cn/m/redtek [ Last edited by redtek on 2007-1-29 at 01:46 PM ] |
|
| 第2楼 redtek | 发表于 2006-12-10 01:48 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
【80x86汇编语言学习笔记】 ) 初学汇编,遇破书一本《Intel 80X86/Pentium 汇编语言程序设计(第二版) 》30两银子 - ISBN 7-81045-770-5 。
奉如无尚珍宝,然作者 “瞎编” ,无奈之下只得瞎学:) ) 初学汇编,今日开始。拿起书狂翻,希望遇到一个 “Hello World!” ,一个没有:) ) 按书顺序,但凡初学者希望遇到一个先能编译,哪怕看一眼运行一下的极短的例子,哪怕在观感上可以“明白”一下,结果没有。 前96页均为基础知识与寄存器、指令讲解。 特点:如果你看完多数指令和前100页的知识,也不会编译更不会编。因为书是按照编书次序来编,不是按照帮助你学习的次序来写的。 代码全是片断,如果没有老师带,完全一个人自学,则那些片断你根本不会编译,就是编译,书上的例子编译器与通不过(现在看来)。 也就是说,如果前96页能全看完,那只不过是超旨记忆,你根本没有机会上机试验,那些全是理论。且和Debug中命令方式不同。 ) 总结: 注定了看这本书不人性化作者编的这本书,要走极多的弯路。 ) 谁说过:“每年要看一本最难的书……”,于是 俺坚决:今年看一本最难的书 —— 汇编语言! 明年 ——— 易经,学着画一堆小横线~:) ◇ 2006-12-09 12:49:57.17 为这本书平反:初学汇编,当学习了一些汇编基础知识以后,再看这本书就可以看懂了。 所以,这本书现在看来不是不好,而是适合有汇编基础的人学习或是学校有这门课程并做参数。 这本书内容较全面,当看完了300多页的汇编基础知识后,发现这本书现在适合读了:( ◇ 22:36 2007-1-17 [ Last edited by redtek on 2007-1-17 at 10:37 PM ] |
|
| 第3楼 redtek | 发表于 2006-12-10 03:24 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
【80x86汇编语言学习笔记】 P12页: 用 IBM PC 汇编语言实现 123+456
书上举例 ) 尽管不懂,没关系先输出试试:) ) 怎么编译呀?要是按书上顺序看,早TMD放弃了! 翻开书第 P98页《汇编语言上机过程》,照上面例子编译。 用什么编译?用 MASM5.0编译,编译器在哪儿?在网上找吧……温无边际的找…… 运气好的话一会儿就找到了,运行不好的话编译器有 16位纯DOS上用的,用Win32的,一遍遍试吧,这本书上没有相关内容:) 我就属于那种运气不好的人,嘿嘿……反复换了4、5个编译不同版本的编译器,自学的步步都是错误:) 自学也难在这里,深深体会到~:) 没关系~:) 现在可以编译了~:P 上面编译完全正确~:) 会看到第一行有一句提示:“Invalid keyboard code specified” ,起初不懂:) 后来反复发现只要切换至代码页437(美国),只要不是936(中国)就可以了, 因为这个编译器是纯DOS上使用的,而我现在 WINDOWS CMD SHELL中编译的。 后来查询Windows自带的CHM帮助,发现如果希望兼容一些平时不能运行的DOS程序,则一个 Forcedos 命令可以支持~:) 如: C:\Masm50>forcedos /? FORCEDOS filename /D directory Specifies the current directory for the specified program to use. filename Specifies the program to start. parameters Specifies parameters to pass to the program. 这样,它就不会再提示那行信息了~:) 编译完成:) 生成 .Obj 文件了,还要再链接成 EXE 文件:) 链接完成了,Link的使用也在书上P99页~:) 这个 myasm.exe 文件生成了~:D 要这样用Windows兼容的方式运行它,否则系统就提示关于崩溃的内容…… 但是,运行完以后屏幕并没有显示任何字符:( 书上的P12页(这可是入门开始啊),上面说了: 程序的运行结果是: 12F8:010F 43 02 嘿嘿……不能失望,这是在调试状态下你能看到的运行结果,哈哈…… 这不是单独运行你所能看到的,这书的作者就是这样的龌龊(这词终于用上了~:K) 但是,如果你要深究其内容与结果怎么办? 那就要用Debug了,Debug在这本书上有一个命令帮助索引(和Debug自带的?帮助一样)。 也就是说,初学汇编的人看这个例子除了一饱眼福之外就是头晕了~:) 我会认为这作者的水平很高,够机器! ◇ 2006-12-09 14:26:38.21 写这样的汇编代码,用记事本或Edit写吗? 有一个叫做《轻松汇编》的编辑工具,语法加亮,自动对齐语句,自动错误检查,自动编译…… 使用它来写代码可以少走一些弯路~:) 而且,即然是汇编语言,所以吸烟的时候也应该用火柴点烟才有味道~:D ◇ 2006-12-09 14:54:22.88 [ Last edited by redtek on 2006-12-9 at 05:59 PM ] |
|
| 第4楼 redtek | 发表于 2006-12-10 04:08 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
【80x86汇编语言学习笔记】 附件 pic_7.jpg (29.3 KiB) |
|
| 第5楼 ccwan | 发表于 2006-12-10 05:57 |
| 金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊 | |
|
偶来捧场^_^
|
|
| 第6楼 redtek | 发表于 2006-12-10 07:00 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
多谢ccwan鼓励~:)
|
|
| 第7楼 redtek | 发表于 2006-12-10 07:50 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
【80x86汇编语言学习笔记】 (书) P23页 与数据有关的寻址方式:
立即寻址方式 ) 书上关于立即寻址的方式只有上面这两句指令,不编译一个小代码根本不能直观的理解那些寄存器…… 如果死记硬背,这需要一直抽象的背到第79页才能知道EXE文件的例子。 且书上没有完整可供编译的代码例子试验,也就是说很有可能当你看完100页的编程的教程,一个程序还未真正编过,这不是在学习。 如果按照这书的顺序,这简直是在要求你类似于学批处理,从低级看到高级例子,但从来不编写一句代码,想必这种学习是浪费生命。 所以,只能将上面代码尽可能转成Debug调试器里能“看”到的效果,虽然编不出来,但至少能理解。 下面是使用 Debug 调试器测试书上(上面)两句代码的过程,彩色数字是观察到的寄存器直观的变化。
Debug在这种破不得已的状态下真是太有用了~:) [ Last edited by redtek on 2006-12-9 at 08:27 PM ] |
|
| 第8楼 vkill | 发表于 2006-12-10 07:51 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
呵呵~sina 上的图片挺好的
|
|
| 第9楼 redtek | 发表于 2006-12-10 07:54 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
平时喜欢摄影,没事儿就乱拍~:)
|
|
| 第10楼 lxmxn | 发表于 2006-12-10 08:36 |
| 版主 发帖 4,938 积分 11,386 | |
|
哈哈,偶也来捧场啦~ 想不到 Redtek 兄这么快就开网志了~SINA上面还有几个批处理的实例供偶学习学习的~~ 感觉这汇编挺难的,没信心了…… o_O |
|
| 第11楼 redtek | 发表于 2006-12-10 08:46 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
哈哈……
Sina的网志写了有一段时间了,多半都是摄影内容~:) 俺觉得这里放代码学习内容为主的网志最合适不过:D 汇编太难学(感觉按书上次序学简直需要极高的耐心),而且全是抽象的一两行的汇编片断(这片断很多都不能在Debug里直接编)。 编译器要求的代码表示和Debug里的直译表示不一样,书上又只讲理论,不讲都是干什么用的,更抽象了…… 不过,难就难吧,哈哈…… 一天啃一两句,早晚能啃下来~:) |
|
| 第12楼 redtek | 发表于 2006-12-10 09:46 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
【80x86汇编语言学习笔记】 寄存器寻址方式
(书) P24页 访问普通变量时,默认是DS段寄存器,但也可以显式的指定为ES、SS、CS、GS、FS。 可以使用段超越前缀显式地指定段寄存器。 debug学习过程:
|
|
| 第13楼 pengfei | 发表于 2006-12-10 11:14 |
| 银牌会员 发帖 485 积分 1,218 来自 湖南.娄底 | |
|
Redtek兄真是性情中人, 网志搞得有声有吗. 呵呵~ 那个烤黄粉虫的好, 有营养...
自学的苦与乐只有自己才能品尝到. 加油~~~! |
|
| 第14楼 redtek | 发表于 2006-12-10 12:10 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
多谢pengfei兄鼓励~:)
|
|
| 第15楼 electronixtar | 发表于 2006-12-11 01:56 |
| 铂金会员 发帖 2,672 积分 7,493 | |
|
看到牛XXXXX的汇编了,不懂。顶一个
|
|
| 1 2 3 4 … 9 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |