网站大量收购独家精品文档,联系QQ:2885784924

第四章 伪指令及程序设计.ppt

  1. 1、本文档共104页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 伪指令及程序设计

第四章 宏汇编语言程序设计 4.1 汇编语言程序格式 4.2 MASM中的表达式 4.3 伪指令语句 4.4 DOS系统功能调用和BIOS中断调用 4.5 程序设计方法 4.6 宏汇编和条件汇编 4.1 汇编语言程序设计特点 汇编语言是一种用符号表示的、面向CPU指令系统的程序设计语言。是机器语言的符号表示。 基本特点: 程序设计人员能更充分地利用机器硬件的全部功能,发挥机器的长处; 程序目标代码占用内存少,执行速度快,效率高,具有实时性; 由于汇编的特点,汇编语言常用于编写计算机系统程序、实时通信程序和实时控制程序。但汇编语言程序依赖于机器硬件,其通用性和移植性都较差。 从源程序获得目标程序的过程 汇编语言源程序 经过汇编翻译成二进制代码的浮动目标文件,然后由连接程序将目标文件和库文件相连接 生成机器上可执行的目标程序 进行汇编语言开发需要的文件: 1)汇编程序 MASM.exe 2)连接程序 LINK.EXE 3)库管理程序LIB.EXE(如果不创建子程序库,不需要该文件) 4)文本编辑器。如DOS下的EDIT 或其它开发工具中的编辑环境如Turbo C等。目的:生成.ASM文件。 5)调试程序 DEBUG 开发的步骤(补充) 1、源程序的汇编 命令格式:MASM 源程序文件名 如果没有语法错误,则生成目标模块文件.obj,否则给出错误信息 2、目标文件的连接 命令格式:LINK obj文件名 如果没有严重错误,将生成可执行文件 .exe,否则将提示相应的错误信息 3、可执行文件的执行调试 命令格式:可执行文件名 操作系统加载该文件进入主存开始运行,如果出现运行错误,可用debug.exe调试程序。 命令格式:debug 可执行程序文件名 4-1汇编语言程序格式 指令性语句:即执行性语句(指令),与机器码一一对应,表示某种确定操作,包括四部分: [ 标号:] 指令操作码 [ 操作数 ] [;注释 ] 例: AGAN:ADC BX,AX ;累加 指示性语句:即说明性语句(伪指令),不对应机器码,只为汇编提供所需信息,由四部分组成: [ 名字 ] 伪指令 [ 操作数 ] [;注释 ] 例: SUM DW 0 ;为结果保留一个字 DATA SEGMENT SRC_LESS DB HELLO!,0DH,0AH,$ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV DX,OFFSET SRC_LESS MOV AH,9 INT 21H MOV AH,1 INT 21H MOV AH,4CH INT 21H CODE ENDS END START 汇编程序的基本结构要求 完整的汇编程序要包括:段定义、段分配、设置段地址、返回DOS语句、程序结束 和程序体。必要时加上过程调用。 完整汇编语言程序的典型格式 段定义格式: 段名 SEGMENT …… 段名 ENDS 至少有一个代码段,堆栈段如果不定义,由计算机自动分配。段名是由字母数字组成的,可以任意定义。 计算机识别不同的段靠 段分配ASSUME 语句完成 ASSUME CS:段名,DS:段名,SS:段名,ES:段名 assume指定段与段寄存器之间的关系,但并不为段寄存器设定初值,程序中如果使用数据段或者附加段,需要明确对DS、ES赋值。只要正确书写源程序,CS、IP和SS、SP的值将会由连接程序正确设置 设置方法: MOV AX,STACK MOV SS,AX MOV AX,DATA MOV DS,AX 程序执行完毕后要返回DOS,最常用的实现方法: 全部程序以END结尾,END后面可以加上程序执行起始的名称,汇编程序遇到END就结束汇编。 三、数据项(汇编语言中使用的操作数) 1、常数 二进制数:以“B”结尾,; 八进制数:以“O”结尾,如725O; 十六进制数:以“H”结尾,并且必须以数字打头,即若最高位为字母A~F,前面应加0,如0A12H; 十进制数:以“D”结尾或省略结尾,如10D、10。 字符串常量 字符串常量表示为包含在两个单引号之间的一连串ASCII字符。每个串元素的值定义为该元素所对应的1字节ASCII码值。 三、数据项(汇编语言中使用的操作数) 2、变量:指存储在存储单元中的值,所有变量有三个属性: 段值SEGM

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档