微机原理与接口技术课件第四章汇编语言程序设计

上传人:我*** 文档编号:145966950 上传时间:2020-09-25 格式:PPT 页数:145 大小:991.50KB
返回 下载 相关 举报
微机原理与接口技术课件第四章汇编语言程序设计_第1页
第1页 / 共145页
微机原理与接口技术课件第四章汇编语言程序设计_第2页
第2页 / 共145页
微机原理与接口技术课件第四章汇编语言程序设计_第3页
第3页 / 共145页
微机原理与接口技术课件第四章汇编语言程序设计_第4页
第4页 / 共145页
微机原理与接口技术课件第四章汇编语言程序设计_第5页
第5页 / 共145页
点击查看更多>>
资源描述

《微机原理与接口技术课件第四章汇编语言程序设计》由会员分享,可在线阅读,更多相关《微机原理与接口技术课件第四章汇编语言程序设计(145页珍藏版)》请在金锄头文库上搜索。

1、1,第4章 汇编语言程序设计,2,4.1 概述,机器语言 汇编语言 高级语言 宏汇编程序及上机过程简介,3,数据段 说明: 堆栈段 1、各段顺序无关 2、除代码段外,可缺省 3、可有若干个数据段, 若干代码段 代码段 END 标号,附加段,源程序结构概览,4,汇编语言程序例,DATA SEGMENT BUF1 DB 34H BUF2 DB 2AH SUM DB ? DATA ENDS,CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV AL, BUF1 ADD AL, BUF2 MOV SUM, AL

2、MOV AH, 4CH INT 21H CODE ENDS END START,5,4.1.4 汇编语言源程序上机过程,源程序 .asm,目标程序 .obj,结果 debug DOS下执行,执行,可执行程序 .exe,6,有三类语句: 指令语句完成操作功能,能翻译成机器代码 伪指令语句为汇编程序在翻译源程序时提供 指示性语句 有关信息 宏指令语句由若干条指令语句组成的语句,通用语句格式: 名字 操作项 操作数 ;注释,4.2 MASM宏汇编语句结构,7,指令语句格式 标号:指令助记符目的操作数,源操作数;注释 其中, 表示可选项;,1、标号 标号是后续指令的符号名称,可用符号是: 字母:A-Z

3、, a-z 数字符: 0-9 专用字符:?, _, , $ 标号长度不超过31个字符,2、指令助记符 指令助记符是汇编指令的符号代码,不可缺省。 汇编源程序时,系统使用内部对照表将每条指令的 助记符译成相应的机器码。,8,3、目的操作数 1)参与指令操作 2)暂存操作结果 除立即寻址方式外,其他寻址方式均适用于目的操作数.,4、源操作数 提供原始数据或操作对象,面向所有寻址方式,5、注释 注释在系统汇编时并不产生机器码 注释可以放在指令语句尾,也可单独使用 注释前面的“;”不可缺少,9,4.3 MASM宏汇编语言的数据和表达式 常量 1、数值常量 二进制数 以B结尾,如01011101B 八进

4、制数 以Q结尾,如235Q 十进制数 以D结尾或没有结尾字母,如98D或98 十六进制数 以H结尾,如5BH 2、字符串常量 用单引号括起来的一个或多个字符,如A、AB 字符用ASCII码形式存储,常量的应用: (1)在指令语句中作立即数 MOV CX, 100 (2)在指令语句中作位移量 MOV AX, 34SI (3)在数据定义语句中作初值 X DB 12H, 34H,10,变量和标号 变量有三种属性: 1、段属性变量所在段的起始地址 2、偏移属性从段起始地址到定义变量的位置之间的字节数 3、类型属性该变量所保留的字节数 DB 1个字节 DW 2 个字节 DD 4个字节 DQ 8个字节 D

5、T 10个字节,11,标号也有三种属性: 1、段属性定义标号所在段的起始地址 2、偏移属性从段起始地址到定义标号的位置之间的字节数 3、类型属性表示它的转移特性 NEAR (近) 段内转移 FAR (远) 段间转移,12,处理器选择伪指令 数据定义和存储器分配伪指令 段定义伪指令 程序开始和结束伪指令 表达式赋值伪指令 地址计数器与对准伪指令 基数控制伪指令,4.4 伪指令,13,(一)处理器选择伪指令 .8086 选择8086指令系统(一般不用写) .286 选择80286指令系统 .286P 选择保护方式下的80286指令系统 .386 选择80386指令系统 .386P 选择保护方式下的

6、80386指令系统 .486 选择80486指令系统 .486P 选择保护方式下的80486指令系统 .586 选择Pentium指令系统 .586P 选择保护方式下Pentium的指令系统,当源程序使用了286及以上的机型新增加的指令时,应该在程序开始使用相应的处理器选择伪指令。,14,(二)数据定义伪指令 格式:变量名 定义符 操作数项表 操作:为变量分配存储单元并将初值置入相应单元中,操作数项表可为: 1、常数或表达式 2、字符串 3、?表达式 4、带DUP 的表达式,定义符可为: DB 定义字节 DW 定义字(2个字节) DD定义双字(4个字节) DF定义六字节 DQ定义八字节 DT定

7、义十字节,15,操作数是常数或表达式 X1 DB 40H ;为X1分配1个字节,初值40H X2 DW 250*250 ;为X2分配2个字节,初值62500 X3 DD 10203040H ;为X3分配4个字节,初值为10203040H X4 DQ (120+50)/10 ;为X4分配8个字节,初值17 X5 DB 10, 20, 30 ;多项定义,X5被分配3个字节,初值分别为10,20,30,地址从低到高,各个值间用逗号分开,16,操作数为字符串 STRING1 DB HELLO STRING2 DB H, E, L, L, O 字符串用DB定义,被定义串以单引号括起来 串中可包含数字符、

8、大小写英文字母、回车符、 换行符、 空格、?、$、下划线_等 字符串以ASCII码形式存储在存储单元中。,STRING1 H +1 E +2 L +3 L +4 O,17,区分 S1 DB AB 与 S2 DW AB 它们的存储情况为: S1 S2 A B B A,操作数项为? ?用于预留空间,不置初值 Y1 DB 20H, ? ;定义2个字节,其中预留1个字节 Y2 DW ?, ? ;预留2个字 Y3 DD ? ;预留4个字节 Y4 DQ ? ;预留8个字节 Y5 DT ? ;预留10个字节,18,操作数项带重复定义符DUP 格式: N DUP(操作数项表) 操作:以N所示次数定义操作数项表

9、内容 VAR1 DW 2 DUP(2, 4), 1476H VAR2 DB 2 DUP(?, 2 DUP(A, B) ) 存储情况为: VAR1 02H VAR2 ? 00H A 04H B 00H A 02H B 00H ? 04H A 00H B 76H A 14H B,19,操作数运算符,算术运算符 逻辑运算符 关系运算符 数值回送运算符 属性运算符 运算符优先级,20,算术运算符(单目+, 单目-, +, -, *, /, MOD) 运算符 格 式 运 算 + +表达式 取表达式正值 - -表达式 取表达式负值 + 表达式1+表达式2 求表达式1、表达式2之和 - 表达式1-表达式2

10、求表达式1、表达式2之差 * 表达式1*表达式2 表达式1、表达式2之积 / 表达式1/表达式2 表达式1、表达式2之商 MOD 表达式1 MOD 表达式2 取余数,说明: 1、算术运算符可用于数值表达式或地址表达式 2、用于地址表达式时,只有其结果有物理意义时才有效 常用的是:地址+数字常量 地址-数字常量,21,算术运算符示例 (1) MOV AL, 20+30 ;50-AL MOV BH, 100-2 ;98-BH MOV CX, 50/2 ;25-CX MOV AL, 80 MOD 15 ;5-AL,(3) 设数据定义如下: ARRAYA DW 1, 2, 3, 4, 5, 6, 7

11、WENDA DW ? 将数组长度(字数)存入CX: MOV CX, (WENDA-ARRAYA)/2 ; 地址-地址,结果为一常量,(2) 将首地址为BLOCK的字数组的第6个字传送到DX: MOV DX, BLOCK+(6-1)*2 ; 地址+常量,结果仍为一地址值,22,逻辑运算符(NOT,AND,OR,XOR) 运算符 格 式 运 算 NOT NOT 表达式 按位取反 AND 表达式1 AND 表达式2 按位“与”运算 OR 表达式1 OR 表达式2 按位“或”运算 XOR 表达式1 XOR 表达式2 按位“异或”运算 逻辑运算符和逻辑运算指令的区别: 逻辑运算指令 逻辑运算符 出现在语

12、句的位置 指令助记符 操作数字段 操作对象 可以是寄存器或 只能是整型常数 存储器操作数 何时计算 程序运行时 源程序汇编时,23,关系运算符(EQ,NE,LT,LE,GT,GE) 运算符 格 式 运 算 EQ 表达式1 EQ 表达式2 表达式1=表达式2为真 NE 表达式1 NE 表达式2 表达式1表达式2为真 LT 表达式1 LT 表达式2 表达式1表达式2为真 GE 表达式1 GE 表达式2 表达式1=表达式2为真,关系运算符的两个操作数必须都是常量或同一段内的符号地址,比较结果为逻辑值:如果关系成立,则返回0FFFFH(真);否则,返回0(假)。,24,逻辑运算符示例 MOV AH,

13、NOT 0F0H ;0FH-AH MOV BL, 40H OR 0B4H ;0F4H-BL XOR BL, 55H XOR 48H ;XOR BL, 1DH AND CH, 50H AND 30H ;AND CH, 10H,关系运算符示例 N1 EQU 10 N2 EQU 20 . MOV BX, N1 EQ N2 ; 0-BX MOV CX, N1 NE N2 ;0FFFFH-CX MOV AX, N1 LT N2 ;0FFFFH-AX MOV DI, N1 GE N2 ;0-DI,25,数值回送运算符 (SEG,OFFSET,TYPE,LENGTH,SIZE) 数值回送运算符对变量或标号进行分析, 回送其地址属性值或变量特征值。 (1)地址回送运算符 符号 作用对象 操 作 SEG 变量或标号 返回其所在段的段基址值 OFFSET 变量或标号 返回其在段内的偏移量,26,(2)符号特征回送运算符 符号 作用对象 操 作 TYPE 变量或标号 用数字表示其类型属性 LENGTH 变量 用DUP重复定义符定义的变量 ,返回分配的元素个数;其他 形式,则返回1 SIZE 变量 回送LENGTH*TYPE之积,27,TYPE 运算符 类型属性 运算结果 变量 DB 1 DW 2 DD 4 DQ 8 DT 10 标号 NEAR -1 FAR -2,28,数值回送

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号