- 1、本文档共88页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言的特点:1.面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。2.保持了机器语言的优点,具有直接和简捷的特点。3.可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。4.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。5.经常与高级语言配合使用,应用十分广泛。 汇编语言的应用:1.70%以上的系统软件是用汇编语言编写的。2.某些快速处理、位处理、访问硬件设备等高效程序是用汇编语言编写的。3.某些高级绘图程序、视频游戏程序是用汇编语言编写的。 宏汇编语言不仅包含一般汇编语言的功能,而且用了高级语言使用的数据结构,是一种接近高级语言的汇编语言。例如它提供了记录、结构和字符串操作;具有宏处理、条件汇编及磁盘操作系统DOS功能调用等多种功能;程序的开发以及调试手段也比较完善,因而宏汇编语言是一种更高级的汇编语言。 ? 数值表达式 2、等号语句 = 格式: 符号 = 表达式 功能与EQU语句相同; 区别在于等号语句可重新定义符号。 5.4.2 处理器选择伪指令 用于确定选择使用哪种指令系统,缺省时为 8086/8088指令系统和8087协处理器指令集。 .8086 .286 .286P .486 .486P 通常放在源程序的开头位置。 其中,“P”表示保护模式 .386 .386P .586 .586P 5.4.3 段结构伪指令 1、段定义伪指令SEGMENT/ENDS 段名 SEGMENT [定位类型] [组合类型] [使用类型] [‘类别名’] 段名 ENDS 格式: 功能:指定逻辑段的名字和范围、段的起始边界、 段与段之间的连接关系等。 (1)段名 必选,开始与结尾的段名一致 (2)定位类型 可选,指定装入时的起始边界要求 4种:PAGE(页)、PARA(节)、 WORD(字)、 BYTE(字节) 默认 (3)组合类型 可选,指定段与段之间的连接方式 6种:NONE(隐含)、PUBLIC、COMMON、 STACK、MEMORY、AT (4)使用类型 可选,指定386以上CPU的段模式 2种:USE16 段基值和偏移地址都是16位 USE32 段基值16位,偏移地址32位 (5)类别名 可选,单引号扩起来 2、段寻址伪指令 ASSUME 格式: ASSUME sr1:seg1 , sr2:seg2, …… 功能:建立段名与段寄存器之间的联系 段寄存器名 段名 DS_DATA SEGMENT VAR1 DB 12H DS_DATA ENDS ES_DATA SEGMENT VAR2 DB 34H ES_DATA ENDS CODE SEGMENT VAR3 DB 56H ASSUME CS:CODE, DS:DS_DATA, ES:ES_DATA START: …… ┇ INC VAR1 INC VAR2 INC VAR3 ┇ CODE ENDS END START 例: 3、段寄存器的装载 (1) DS 和 ES 的装载 用数据传送指令 例: MOV AX,DATA_DS ;设置DS MOV DS,AX MOV AX,DATA_ES ;设置ES MOV ES,AX (2)SS 的装载 自动装载:定义堆栈段时,组合类型置为STACK 。 STACK1 SEGMENT PARA STACK DW 40H DUP(0) STACK1 ENDS 用执行指令的方法装载:与DS/ES的装载方法类似 。 (3)CS 的装载 使用结束伪指令END,格式如下: END 地址表达式 执行转移类指令时,CPU自动修改CS和IP。 5.4.4 段组伪指令GROUP 把程序中不同段名的段组成一个段组,格式如下: 段组名 GROUP 段名1,段名2,…… 段组名由程序设计人员设定; 可直接引用段名,也可用SEG 变量名/标号; 段组内各段间的程序转移可按段内转移处理; 段组内各段的数据存取操作可用同一个段寄存器。 5.4.5 内存模式和简化段定义伪指令 1、内存模式伪指令 格式: .MODEL 内存模式 6种模式:Tiny、Small、Medium、 Compact、Large、Huge 确定用户程序中代码和数据在内存中的存放方式。 2、简化段定义伪指令 .CODE [段名] ;代码段 .DATA ;数据段,已初始化数据
文档评论(0)