微机原理——汇编语言程序设计.ppt

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

微机原理----汇编语言程序设计(1) 汇编语言程序设计基础知识(1) 本次课学习内容 汇编语言的基本知识和特点。 汇编语言的程序结构、段定义以及语句的格式。 汇编语言常用伪指令的使用方法。 本次课学习目标 能正确区分汇编语言和汇编程序的概念 能用图表示汇编程序的建立及汇编过程 了解MASM汇编语言程序设计的规范 ?能正确使用数据定义及存储器分配伪指令(DB、DW、DD、DQ和DT)、段定义伪指令SEGMENT/ENDS、段寻址伪指令ASSUME,过程定义伪指令PROC/ENDP 汇编语言 汇编语言是一种面向CPU指令系统的程序设计语言,它采用指令系统的助记符来表示操作码和操作数,用符号地址表示操作数地址,因而易记、易读、易修改,给编程带来很大方便。 用汇编语言编写的程序能够直接利用硬件系统的特性,直接对位、字节、字寄存器、存储单元、I/O端口等进行处理,同时也能直接使用CPU指令系统和指令系统提供的各种寻址方式编制出高质量的程序,这种程序不但占用内存空间少,而且执行速度快 。 汇编语言和高级语言的比较 汇编程序 汇编是把汇编语言程序翻译成机器语言描述的目标程序的过程。 汇编程序是完成汇编任务的程序。 基本汇编ASM(Assembler)和宏汇编MASM(MacroAssembler)两种。 汇编程序以汇编语言源程序文件作为输入,并由它产生两种输出文件:目标程序文件和源程序列表文件。 目标程序文件经连接定位后由计算机执行; 源程序列表文件将列出源程序、目标程序的机器语言代码及符号表。 汇编语言程序的建立及汇编过程 一个简单的汇编程序 在数据段定义首地址为A的10个字符,将这10个字符以相反次序传送到附加段首地址为B的内存单元中。 LEA SI,A LEA DI,B ADD DI,9 MOV CX,10 MOVE:CLD LODSB STD STOSB LOOP MOVE MOV AH,4CH INT 21H START ENDP CSEG ENDS ;--------------------------------------------- END START 汇编语言的语句格式 汇编语言源程序中的每个语句可以由4项组成,格式如下 [名字项] 操作项 操作数项 ;注释项 AGAIN: MOV AL, [SI] ;取加数 A DB ‘ABCDEFG’ 名字项 源程序中用下列字符表示名字: 字母:A~Z或a~z; 数字:0~9; 专用字符号:?、? 、@、―、$; 名字项可以是标号或变量。 标号 在代码段定义,后面跟冒号,表示处理器指令在主存中的逻辑地址分支、循环等程序的目的地址 标号有三种属性:段、偏移及类型。 ① 段属性:定义标号的段起始地址,在CS寄存器中。 ② 偏移属性:16位无符号数。 ③ 类型属性:用来指出该标号是在本段内引用还是在其他段内引用的。 例: AGAIN: MOV AL, [SI] 变量 变量在除代码以外的其他段中定义,后面不跟冒号。变量经常在操作数字段出现。它也有段、偏移及类型三种属性。 ① 段属性定义变量的段起始地址,此值必须在一个段寄存器中。 ② 偏移属性变量的偏移地址是16位无符号数,它代表从段的起始地址到定义变量的位置之间的字节数。在当前段内给出变量的偏移值等于当前地址计数器的值,当前地址计数器的值可以用 $ 来表示。 ③ 类型属性变量的类型属性定义该变量所保留的字节数。 例: A DB ‘ABCDEFG’ 操作项可以是指令、伪操作或宏指令的助记符。 操作数项由一个或多个表达式组成,多个操作数项之间一般用逗号分开。 注释项用来说明一段程序或一条或几条指令的功能,它是可有可无的。 分段结构 汇编语言源程序的程序基本结构是段,一个汇编语言源程序由若干个代码段、数据段、附加段和堆栈段组成。段之间的顺序可以随意安排,通常数据段在前,代码段在后。任何可执行汇编语言程序至少要有一个代码段,通常还可能有数据段和堆栈段。每个段都有段首指令和段结束指令,段的内容介于这两条指令之间。 通常,一个汇编源程序一般应该由3个逻辑段组成,即数据段、堆栈段和代码段。每个逻辑段以SEGMENT语句开始,以ENDS语句结束。整个源程序以END语句结束。 数据段用来在内存中建立一个适当容量的工作区,以存放常数、变量等操作数据。

文档评论(0)

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

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档