- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何学习汇编
2009-5-19 9:13:51 编辑:福建精才网
1. 学汇编的方法
应该具备的条件:--微机(80X86 型微机)
--MSDOS操作系统或Win95/98 的 MS-DOS方式
-- 编程工具: 文本编辑器: 如 MS-DOS 的 EDIT
汇编器: 如 MASM.EXE5.0 版本
连接器: 如 LINK.EXE
二进制转换: 如 EXE2BIN.EXE
学习汇编语言实践性很强。只有经过编写大量代码才能熟练掌握。此外阅读源程序也很有
帮助。
由于汇编语言是与 CPU 芯片紧密相关的,所以必须针对某一机型,清楚地了解 CPU 芯
片及其外围
设备的硬件资料。只有这样,编写代码才能得心应手。所以有两类资料需要你去积累:一
类是硬件
方面的资料和系统软件方面的资料,另一类是算法方面的经验。其他比如汇编工具等则没
有多少东
西需要深究。
第一类资料,比如 各种 BIOS 中断,MS-DOS 功能调用,Windows API 库,这些可以
归为系统
软件方面;而 CPU 结构,端口定义,中断定义,总线方式等可归为硬件资料。
第二类资料,比如排序算法,字符串查找算法等。像有哪些信誉好的足球投注网站引擎所采用的算法,能在最短的
时间
内,找出符合条件的信息,而且还带有智能性。这种查找方案包含了很科学的算法。它们
都是抽象
的东西。
总之,学习汇编,你应该目的明确,而且目标机器明确,要解决的问题也明确。这样才能
有
的放矢,最终有所收获。
2 汇编语言基础 基本指令
我们学习的对象机器是 PC 机,CPU 是 Intel80x86,所以先熟悉 CPU 的大致结构。
其实经常用到的是 CPU 的各个寄存器,其他比如引脚,内部结构等,开始时先不去管它。
由于Intel80x86 各版本 CPU 新的与旧的保持兼容,旧的 CPU 下设计的程序无需任何修
改就能在
新的CPU 下运行。Intel 8086/8088 的 所有寄存器在后来的 新版本 CPU 中都保持。它
们也是最
基本的 CPU 寄存器。 所以主要学习 Intel 8086 CPU 的寄存器:
加法器 AX(AH/AL)乘法,除法,I/O, 快速的算术运算
基址寄存器BX (BH/BL) 基址指针 (数据段)
计数器CX(CH/CL) 循环,重复或位移的计数器
数据寄存器DX (DH/DL) 乘法,除法,I/O
源索引SI 源串和索引指针
目标索引DI 目标串和索引指针
基址指针BP 栈的基址指针
栈指针SP 栈的当前位置指针
标志 CPU 标志
指令指针IP 当前指令的内存位置
代码段CS 程序代码段值
数据段DS 程序数据段值
栈段SS 栈操作的段值
附加段ES 程序附加数据段的段值
其中 CPU 标志寄存器各位的含义如下:
FLAG: (相应的 BIT 为 1 时的含义)
CF进位位向目标操作数进位或借位
PF奇偶校验位 低字节校验结果为偶校验
AF辅助进位标志低 4 bits 的进位或借位标志
ZF 零标志结果为零
SF负数标志结果为负数
TF 单步标志(CPU)转为单步状态
IF中断标志中断响应打开 (清除时关闭)
DF方向 字串操作默认向下(down rather than up)
OF溢出 结果过大或过小(for destination)
汇编语言指令主要就是对上述各个寄存器的操作。下面这段代码是一个完整的 COM
型可执行
程序文件的代码,经过编译,连接和转换后,能直接执行,结果是在彩色背景下显示一
些字符。
编译后只有204 Bytes。
(你需要把这段代码完整地复制下来并另存为一个以 ASM为扩展名的文件,例
如 mypro1.asm。
然后对它进行编译连结和转换,就生成一个名为 mypro1.COM 的可执行文件。你只要在
DOS 命令行
敲入 mypro1 加回车就能看到它的执行结果。关于如何编译连结等问题以后再说。你先
可以在汇编
工作室主页上下载简装工具,使用其中的 TOCOM.BAT [filename] 批处理即可顺利生成
COM文件。)
在这个例子中使用了几类指令:
mov 寄存器,立即数;数据传输类
mov 内存,寄存器 ;数据传输类
push 寄存器 ;堆栈操作: 入栈
pop 寄存器 ;堆栈操作: 出栈
int
专注于经营管理类文案的拟写、润色等,本人已有10余年相关工作经验,具有扎实的文案功底,尤善于各种框架类PPT文案,并收集有数百万份各层级、各领域规范类文件。欢迎大家咨询!
文档评论(0)