计算机基础与接口技术 第4章(4.1~4.4).ppt

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

第4章 汇编语言程序设计 4.1 概述 1.机器语言—用二进制数来表示指令和数据. B0 64 什么意思?这就是机器语言。既不直观,又不易理解和记忆. MOV AL,64H ; 2.汇编语言—用助记符,符号地址以及标号等符号书写的程序。 用汇编语言编写的程序叫源程序。 汇编:将汇编语言源程序翻译成目标代码程序的翻译过程。 汇编程序:计算机中完成汇编任务的程序被称为汇编程序。   由汇编程序产生的目标模块虽然已经是属性为 .OBJ的二进制文件,但它还不能直接上机运行, 必须经链接程序(LINK)把目标文件与库文件以及其他目标文件连接在一起,形成属性为 .EXE的可执行文件并交给DOS,由DOS装入内存执行。 DOS下汇编语言程序的上机与处理过程 4.3.1 汇编语言语句的种类 4.3.2 汇编语言语句的格式 4.3.3 语句中的操作数 操作数可分为 4 类:常量、寄存器、存储器及表达式。下面分别加以介绍。 1.常量操作数 二进制常量,以 B 结尾 十进制常量,以 D 结尾或省略(汇编语言中默认无标记数为十进制数) 十六进制常量,以 H 结尾,如0A8C6H. 字符串常量 用单引号引起来的字符或字符串也代表常数。 例:‘A’,‘BCDE’,汇编时被翻译成对应的ASCII码 41H 和 42H,43H,44H,45H。 2. 寄存器操作数 3. 存储器操作数 存储器操作数分为标号和变量两种。 标号和变量有三种属性: ①段 值(SEGMENT) —所在段的段地址 ②偏移量(OFFSET) —单元地址与段起始地址之间的位移量。 ③类 型(TYPE) —有字节、字和双字三种。 4. 表达式操作数 表达式由各种操作数、运算符和操作符组成。 下面介绍各种运算符: ① 算术运算符 ② 逻辑运算符 ③ 关系运算符 ④ 分析操作符 ⑤合成操作符(或称属性操作符) ⑥ 其它运算符 ? ? 4.4 汇编语言的伪指令语句 常用的伪指令有: 数据定义伪指令 符号定义伪指令 段定义伪指令 过程定义伪指令 结束伪指令 例2:操作数可以是字符串 MASTERLI DB ‘HELLO’ 汇编后如下: 操作数?用来保留存储空间,但不存入数据. 例3:ABC DB 0,1,?,?,? LPI DW ?,54,? 汇编后如下图示: 操作数字段还可以用重复操作符DUP来缩写,如上面ABC亦可写成: ABC DB 0,1,3 DUP(?) 又如: DO-2 DB 2 DUP(0,1,2,?) 与 DO-2 DB 0,1,2,?,0,1,2,?等价 在伪操作的操作数字段中若使用$,则表示的是地址计数器的当前值。 DUP是重复数据定义操作符,它利用给出的一个初值(或一组初值)以及这些值应该重复的次数(由DUP前面的常数决定)来初始化存储器。 ARRAY DB 2 DUP(0,3 DUP(1,2),3) ; 定义了0,1,2,1,2,1,2,3的2份考贝,共占用16个字节单元。 例:BUFFER DW 3,4,$+3 设BUFFER的偏移地址为0088H,则汇编后如下图所示: 4.4.1.2 符号定义伪指令 1.等值伪指令 EQU 格式为:符号名 EQU 表达式 或:新符号名 EQU 老符号名 例: CONSTANT EQU 100 NEW_PORT EQU PORT_VAL+1 EQU伪指令在未解除前,不能重新定义。 2.等号(=)伪指令 与EQU类似,但允许重新定义 例: ┇ EMP=7 ;值为7 ┇ EMP=EMP+1 ;值为8 4.4.1.3 段定义伪指令 因8086/8088 CPU的存储器是分段的,这就需要有段定义语句。 与段有关的伪指令有: SEGMENT、ENDS、ASSUME、ORG 段定义伪指令的格式如下: 段名 SEGMENT [定位类型] [组合类型] [‘类别’] ┇ 段名 ENDS 伪指令ORG规定了段内的起始地址或偏移地址,其格式为: ORG 表达式 表达式的值即为段内的起始地址或偏移地址,从此地址起连续存放程序或数据。 2.段寻址伪指令ASSUME 4.4.1.5 过程定义伪指令 在MASM中,过程的含义和子程序是一样的,一个过程可以被其它程序所调用,这个过程的最后一条指令,一般是返回指令。 过程定义伪指令的格式为: 过程名 PROC [NEAR] 或 过程名 PROC FAR ┇ RET ┇ 过程名 ENDP 过程定义的属性有两种,标有NEAR(或不标,默认为NEAR)表示在段内被调用,标有FAR属性可

文档评论(0)

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

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

1亿VIP精品文档

相关文档