微机原理与接口 C0401_第1页
微机原理与接口 C0401_第2页
微机原理与接口 C0401_第3页
微机原理与接口 C0401_第4页
微机原理与接口 C0401_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机原理与接口技术从串取从串取 (load from string)n格式:格式:LODS src-stringLODSBLODSWn操作操作:n字节操作: (AL)(DS: SI) (SI)(SI) 1n字操作: (AX)(DS: SI) (SI)(SI) 2存入串存入串 (store into string)n格式:格式:STOS dst-stringSTOSBSTOSWn操作操作:n字节操作: (ES:DI)(AL) (DI) (DI) 1n字操作: (ES:DI)(AX) (DI) (DI) 2程序控制指令程序控制指令程序控制类指令本质:控制程序的执行顺序决定程序执行顺序的因素修改IP

2、,会使程序改变在当前代码段中的执行顺序CS和IP共同决定了代码的执行顺序程序控制类指令程序控制类指令n程序控制类指令以程序控制类指令以“隐式隐式”的方式修改的方式修改CS和和IP,以控制程序走向以控制程序走向n通过修改通过修改IP或或CS,实现程序的三种基本控制结构,实现程序的三种基本控制结构n顺序、选择(分支)、循环顺序、选择(分支)、循环n学习程序控制类指令需要重点关注:学习程序控制类指令需要重点关注: 如何实现对如何实现对CS和和IP的修改?的修改?转移指令转移指令n通过修改指令的通过修改指令的偏移地址偏移地址或或段基址及偏移地址段基址及偏移地址实实现程序转移现程序转移无条件转移指令无条

3、件转移指令无条件转移到目标地址无条件转移到目标地址条件转移指令条件转移指令具备具备一定条件一定条件时转移到目标地址时转移到目标地址状态标志位状态标志位1. 无条件转移指令无条件转移指令JMP格式格式: : JMP dstdst: 目的地址与JMP在同一代码段(段内转移)与JMP不在同一代码段(段间转移)段内转移(直接、间接)段间转移(直接、间接)n例:例:nMOV BX, 1200HnJMP BX段内间接转移段内间接转移n例:例:nJMP DWORD PTRBXn执行完上述指令后nIP=1200H第四章 汇编语言程序设计n汇编程序与汇编语言源程序n汇编语言语句类型与格式n汇编语言语句中的操作数

4、1. 汇编语言源程序与汇编程序n汇编源程序n助记符编写n汇编程序n源程序的编译器汇编源程序汇编程序机器语言目标程序汇编语言程序设计与执行过程n输入汇编语言源程序n汇编( MASM ) n链接( LINK )n调试( DEBUG )源文件.asm目标文件.obj可执行文件.exe最终程序2. 汇编语言语句类型和格式n汇编语言语句类型语句类型:n指令性语句n指示性语句CPU执行执行语句,能够生成目标代码CPU不执行不执行,由汇编程序执行的语句,不生成目标代码汇编语言语句类型和格式n汇编语言语句格式语句格式:n指令性语句标号:标号: 前缀前缀 助记符助记符 操作数操作数, 操作数操作数 ; 注释注释

5、操作码REPJMP NEXTNEXT:MOV指令的符号地址指令的符号地址标号后应有冒号汇编语言语句类型和格式n汇编语言语句格式语句格式:n指示性语句名字名字 伪指令助记符伪指令助记符 操作数操作数 , 操作数操作数, 操作数操作数 ; 注释注释指示性语句中至少有一个操作变量的符号地址变量的符号地址无冒号3. 汇编语言语句中的操作数n寄存器n存储器单元n常量n变量或标号n表达式常量n数字常量n字符串常量n例nMOV AL, A n; AL=41Hn例nMOV DWORD PTRBXABCD单引号引起的字符或字符串汇编时翻译为对应的ASCII码41H, 42H, 43H, 44H变量n变量:内存单

6、元的符号地址,为存储器操作数n变量属性:n段值变量所在段基址n偏移量变量所指单元的偏移地址n类型字节型、字型和双字型DATA111H22H33H44H表达式n算术运算n逻辑运算n关系运算n取值运算和属性运算n其他运算取值运算符n用于分析存储器操作数的属性n获取变量的两个属性值nOFFSET:取得其后变量或标号的偏移地址nSEG:取得其后变量或标号的段基址n例:MOV AX, SEG DATAMOV DS, AXMOV BX, OFFSET DATA;=LEA BX, DATA属性运算符n用于指定其后存储器操作数的类型n运算符:PTRn例:nMOV BYTE PTRBX, 12HnMOV WOR

7、D PTRBX, 12H存储器操作数BX为字节型伪指令n汇编语言语句类型语句类型:n指令性语句n指示性语句指示性语句CPU执行执行语句,能够生成目标代码CPU不执行不执行,由汇编程序执行的语句,不生成目标代码语句核心:伪指令助记符语句核心:伪指令助记符伪指令n由汇编程序执行的“指令系统”n作用n定义变量n分配存储区n定义逻辑段n指示程序开始和结束n定义过程等l程序执行之前,伪指令的功能已经完成l帮助计算机理解助记符指令编写的汇编语言源程序常用伪指令n数据定义伪指令n符号定义伪指令n段定义伪指令n结束伪指令n过程定义伪指令n宏命令伪指令一、数据定义伪指令n用于定义数据区中变量的类型及所占空间大小

8、n格式变量名变量名 伪指令助记符伪指令助记符 操作数操作数 , 操作数操作数, 操作数操作数 ; 注释注释变量的类型和操作数的个数决定了变量占用空间大小变量的类型和操作数的个数决定了变量占用空间大小定义变量类型变量值,可以是常数,表达式或字符串。大小不能超过伪指令助记符限定的范围符号地址1. 数据定义伪指令助记符nDB (Define Byte)nDW (Define Word)nDD (Define Double Word)nDQ (Define Quadword)nDT (Define Tenbytes)变量名变量名 伪指令助记符伪指令助记符 操作数操作数 , 操作数操作数, 操作数操作数

9、 ; 注释注释定义变量类型变量的类型和操作数的个数决定了变量占用空间大小变量的类型和操作数的个数决定了变量占用空间大小数据定义伪指令例1.DATA1 DB 11H, 22H, 33H, 44H2.DATA2 DW 11H, 22H, 3344H3.DATA3 DD 11H*2, 22H, 33445566H以上变量在内存中的存放形式?以上变量在内存中的存放形式?数据定义伪指令例变量在内存中的分布DATA111H22H33H44H11H22H00H44H00H33HDATA2DATA300H00H00H22H22H00H00H66H00H55H数字定义伪指令的几点说明n数字定义伪指定决定所定义变

10、量的类型n定义字符串必须用DB伪指令n例:nDATA1 DB ABCD, 66HDATA141H42H43H44H66HABCD2. 重复操作符n当同样的操作数重复多次时,可使用重复操作符n作用:n为一个数据区的各单元设置相同的初值n格式变量名 伪指令助记符 n DUP (初值 , 初值, )n例:nM1 DB 10 DUP (0)n常用于声明一个数据区常用于声明一个数据区重复次数重复内容重复内容3. “?”的作用n表示随机值,用于预留存储空间n例:nMEM1 DB 34H, A, ?nDW 20 DUP (?)随机数,占一字节预留40个单元,每单元为随机值数据定义伪指令例nM1 DB How

11、 are you?nM2 DW 3 DUP (11H), 3344HnDB 4 DUP (?)nM3 DB 3 DUP (22H, 11H, ?)数据定义伪指令H48H6FH77H20H61H65H20H79H72H6FH75H3FHow are you?M100H11H00H11H00H33HXXXX44HXXM211HXX11HXX22H11HXX11HXX22H22HM3二、符号定义伪指令n将表达式的值赋给一个名字。当源程序中需多次引用某一表达式时,可以利用EQU伪指令,用一个符号代替表达式,以便维护程序。n格式:n符号名 EQU 表达式 n操作:n用符号名取代后边的表达式,不可重新定义

12、n例:nCONSTANT EQU 100EQU说明的表达式说明的表达式不占用内存不占用内存三、段定义伪指令n在汇编程序中定义逻辑段n说明逻辑段的起始与结束n说明不同程序模块中同类逻辑段之间的联系形态n格式段名 SEGMENT 定位类型 组合类型 类别段名 ENDS逻辑段的段基址说明逻辑段的起点 装入内存时各逻辑段的组合方式 链接时不同程序模块中的同类逻辑段将被装入连续存储区段定义伪指令例DATA SEGMENTMEM1 DB 11H, 22HMEM2 DB Hello!MEM3 DW 2 DUP (?)DATA ENDS段名 SEGMENT 定位类型 组合类型 类别段名 ENDS四、设定段寄存器伪指令n说明所定义逻辑段的性质n格式nASSUME 段寄存器名: 段名, 段寄存器名: 段名, 五、结束伪指令n表示源程序结束n格式nEND 标号汇编语言源程序结构数据段名 SEGMENT数据段名 ENDS附加段名 SEGMENT附加段名 ENDS堆栈段名 SEGMENT堆栈段名 ENDS代码段名 SEGMENT代码段名 ENDSEND汇编语言源程序结构DSEG SEGMENT DATA1 DB 1, 2, 3 DUP (?) DATA2 DW 1234HDSEG ENDSESEG SEGMENT DB 20 DUP (?)ESE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论