山东大学微机原理与应用课件04汇编语言程序设计
70页1、第第4 4章章汇编语言程序设计汇编语言程序设计1主要内容汇编语言源程序的结构汇编语言语句格式伪指令功能调用汇编语言程序设计24.14.1 汇编语言源程序了解:汇编语言源程序的结构汇编语言语句类型及格式3一、汇编语言源程序结构一、汇编语言源程序结构41. 汇编语言源程序与汇编程序汇编语言源程序汇编程序5用助记符编写用助记符编写汇编程序汇编程序汇编语言源程汇编语言源程序序机器语言目标机器语言目标程序程序源程序的编译程序源程序的编译程序2. 汇编语言程序设计与执行过程输入汇编语言源程序(EDIT)汇编(MASM)链接(LINK)调试(TD)6源文件源文件 . . ASM目标文件目标文件 . .OBJ可执行文件可执行文件. .EXE最终程序最终程序二、汇编语言语句类型及二、汇编语言语句类型及格式格式71. 汇编语言语句类型指令性语句指示性语句8CPU执行的语句,能够生成执行的语句,能够生成目标代码目标代码CPU不执行,而由汇编程序执行不执行,而由汇编程序执行的语句,不生成目标代码的语句,不生成目标代码2. 汇编语言语句格式 指令性语句: 标号: 前缀 助记符 操作数,操作数 ;注释9指令的符号
2、地址指令的符号地址标号后要有冒号标号后要有冒号操作码操作码注释前加分号注释前加分号指示性语句格式名字 伪指令助记符 操作数 ,操作数, ;注释10变量的符号地址变量的符号地址其后不加冒号其后不加冒号指示性语句中至指示性语句中至少有一个操作数少有一个操作数3. 标号、名字标号后有冒号,在指令性语句前;名字后不加冒号,在指示性语句前。英文字母、数字及专用字符组成,最大长度不能超过31个,且不能由数字打头,不能用保留字(如寄存器名,指令助记符,伪指令)。 114. 操作数寄存器存储器单元常量变量或标号表达式12常 量数字常量字符串常量例:A MOV AL,A例:ABCD13汇编时被译成对应的汇编时被译成对应的ASCII码码41414141H H H H,42424242H H H H,43H43H43H43H,44H44H44H44H用单引号引起的字符或字符串用单引号引起的字符或字符串变 量代表内存中的数据区,程序中视为存储器操作数变量的属性: 变量所在段的段地址 变量单元地址与段首地址之 间的位移量。 字节型、字型和双字型14段段 值值偏移量偏移量类类 型型表达式算术运算逻辑运算*关系运算
3、取值运算和属性运算其它运算15算术运算和逻辑运算符算术运算符+,-,*,/,MOD逻辑运算符AND,OR,NOT,XOR例:MOV AL,8 AND 4MOV AL,8+4-116取值运算符17取得其后变量或标号的偏移地址取得其后变量或标号的偏移地址取得其后变量或标号的段地址取得其后变量或标号的段地址TYPE 取取变量的类型变量的类型变量的类型变量的类型LENGTH 取所定义存储区的长度取所定义存储区的长度SIZE 取所定义存储区的字节数取所定义存储区的字节数n用于分析存储器操作数的属性用于分析存储器操作数的属性n获取变量的属性值获取变量的属性值OFFSETSEG取值运算符例 MOV AX,SEG DATA MOV DS,AX MOV BX,OFFSET DATA LEA BX,DATA18等价于等价于取值运算符例若BUFFER存储区用如下伪指令定义: BUFFER DW 200 DUP(0) 则: TYPE BUFFER 等于2 LENGTH BUFFER等于200 SIZE BUFFER等于40019属性运算符20n 用于指定其后存储器操作数的类型用于指定其后存储器操作数的类型n
4、运算符:运算符:PTRn 例:例: MOV BYTR PTRBX,12H其它运算符方括号: 段重设符 段寄存器名: 21方括号中内容为操作数的偏移地址方括号中内容为操作数的偏移地址用于修改默认的段基地址用于修改默认的段基地址4.24.2 伪指令掌握:伪指令的格式及实现的操作伪指令的应用22伪指令由汇编程序执行的“指令系统”作用:定义变量;分配存储区定义逻辑段;指示程序开始和结束;定义过程等。23常用伪指令数据定义伪指令符号定义伪指令段定义伪指令结束伪指令过程定义伪指令宏命令伪指令24一、数据定义伪指令用于定义数据区中变量的类型及大小格式: 变量名 伪指令助记符 操作数, ;注释25符号地址符号地址定义变量类型定义变量类型定义变量值定义变量值及区域大小及区域大小1. 数据定义伪指令助记符DB 定义的变量为字节型DW 定义的变量为字类型(双字节)DD 定义的变量为双字型(4字节)DQ 定义的变量为4字型(8字节)DT 定义的变量为10字节型26数据定义伪指令例DATA1 DB 11H,22H,33H,44HDATA2 DW 11H,22H,3344HDATA3 DD 11H*2,22H,3
5、3445566H27以上变量在内存中的以上变量在内存中的存放形式存放形式数据定义伪指令例_变量在内存中的变量在内存中的分布分布28DATA111223344DATA2224411000033DATA32200220000XX66554433数据定义伪指令的几点说明伪指令的性质决定所定义变量的类型;定义字符串必须用DB伪指令例: DATA1 DB ABCD,66H29ABCD41H42H43H44H66H2. 重复操作符作用:为一个数据区的各单元设置相同的初值目的:常用于声明一个数据区格式: 变量名 伪指令助记符 n DUP(初值,)例: BW 20 DUP(0)M1 DB 10 DUP(0)303. “?”的作用表示随机值,用于预留存储空间MEM1 DB 34H,A,? DW 20 DUP(?)31预留预留4040个字节单元,每单元为随机值个字节单元,每单元为随机值随机数随机数占占1个字节单元个字节单元数据定义伪指令例M1 DB How are you?M2 DW 3 DUP(11H),3344H DB 4 DUP(?)M3 DB 3 DUP(22H,11H,?)32变量在内存中的分区
《山东大学微机原理与应用课件04汇编语言程序设计》由会员东***分享,可在线阅读,更多相关《山东大学微机原理与应用课件04汇编语言程序设计》请在金锄头文库上搜索。
幼儿园大班科学活动《智能留言机》课件
幼儿园大班语言绘本阅读《手电筒看见了什么》PPT
幼儿园小班科学《教宝宝认识动物》课件
幼儿园中班语言《灰狼家的小饭桶们》教案
【国家审计报告】审计报告W-06审计处罚决定书
【企业财务管理办法】会计档案管理办法
【员工主动离职-风险防范】劳动争议判决书
【员工被动离职-后续工作】70-070员工违反有关商业秘密的约定可以索赔吗
【员工被动离职-辞退申请】第六节 员工任免通知书
【员工被动离职-后续工作】70-050因员工的原因使服务期无法完成可以索赔吗
企业岗位管理制度12办公室行为规范
企业岗位管理制度30离职人员薪资发放通知单
幼儿园春游活动美丽的公园教案
呼职院电力机车制动机讲义11高速列车和重载列车制动
武理工《运输管理》教案第1章 运输系统
中海大海洋化学讲义02海洋的形成和海水的组成——兼论地球上水的起源、变迁和循环
武理工船舶柴油机习题库及答案04燃油喷射和燃烧
厦大海洋生态学课件07海洋初级生产力
华北理工水声学课件05声波在目标上的反射和散射-1目标强度及常见声纳目标的目标强度的一般特征
武理工船舶结构与设备课件02船体结构与管系-4专用船特殊船体结构特点
2022-05-20 22页
2022-05-20 29页
2022-04-21 115页
2022-04-21 68页
2022-04-17 34页
2022-04-17 38页
2022-04-15 89页
2022-04-15 181页
2022-04-15 148页
2022-04-15 81页