微型计算机原理与接口技术课件 第03章 汇编语言程序设计_第1页
微型计算机原理与接口技术课件 第03章 汇编语言程序设计_第2页
微型计算机原理与接口技术课件 第03章 汇编语言程序设计_第3页
微型计算机原理与接口技术课件 第03章 汇编语言程序设计_第4页
微型计算机原理与接口技术课件 第03章 汇编语言程序设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

第3章汇编语言程序设计第3章汇编语言程序设计汇编语言的基本格式寻址方式输入输出指令和中断指令接口程序设计方法与实例汇编语句格式字符集语句格式Microsoft的宏汇编语言由下列字符组成:英文字母:A~Z和a~z。数字字符:0~9。算术运算符:+,-,*,/。关系运算符:<,=,>。分隔符:,,:,;,(,),[,],(空格),TAB(制表符)。控制符:CR(回车),LF(换行),FF(换页)。其它字符:$,&,_(下划线),.,@,%,!。字符集DSEG SEGMENT ;数据段开始DATAl DB 13H,26H ;原始数据DATA2 DW 0 ;保存结果单元DSEG ENDS ;数据段结束SSEG SEGMENT STACK ;堆栈段开始SKTOP DB 20DUP(0)SSEG ENDS ;堆栈段结束CSEG SEGMENT ;代码段开始

ASSUME CS:CSEG,DS:DSEG,SS:SSEGSTART:MOV AX,DSEG ;初始化数据段基址

MOV DS,AX MOV AX,SSEG ;初始化堆栈段基址

MOV SS,AX MOV SP,LENGTHSKTOP ;设段堆栈指针

MOV AL,DATA1 ;取第一个数据

ADD AL,DATAl+1 ;与第二个数据相加

MOV BYTEPTRDATA2,AL ;保存结果

MOV AH,4CH INT 21H ;返回DOSCSEG ENDS ;代码段结束

END START ;源程序结束

汇编语句最多由四个域组成:[标号]操作符操作数[;注释]汇编语句格式定义:

程序设计人员自己定义的符号,用于代表内存单元的地址.标号的组成规则组成标号的字符:A~Z,a~z,0~9,?,.,@,$,和_(下划线);标号的最大长度为3l(字符个数)。标号的第一个字符不能是0~9的数字。机器指令语句中标号必须以冒号结束,伪指令语句中的标号不允许有冒号.标号标号的三个属性段属性:标号所代表的段的值,可用SEG算符得到.偏移量属性:标号所代表的偏移量的值,可用OFFSET算符得到类型属性:标号所代表的内存单元所存放的数据或指令代码的类型.共有7种.标号类型

类型值字节类型(BYTE)字类型(WORD)双字类型(DWORD)四字类型(QWORD)十字节类型(TBYTE)近类型(NEAR)远类型(FAR)110-1-2842标号操作符操作符可以是指令助记符,伪指令助记符,宏指令符号。操作数操作数是操作符操作的对象,可以是数据本身,也可以是标号、寄存器名或算术表达式。注释注释是对指令功能的说明,目的实施自己或他人在阅读分析程序是方便。寻址方式操作数寻址的种类操作数的种类1.立即操作数2.存储器操作数3.寄存器操作数4.I/O端口操作数寻址的种类1.固定寻址2.立即寻址3.寄存器直接寻址4.存储器直接寻址5.寄存器间接寻址6.基址寻址7.变址寻址8.基址变址寻址9.数据串寻址1.IN输入指令指令汇编格式:INacc,port

操作:acc←(port)

将指定端口的内容(字或字节)传送到累加器AX或AL中。受影响的标志位:无2.OUT输出指令指令汇编格式:OUTport,acc

操作:port←acc

将累加器AX或AL的内容传送到指定端口。受影响的标志位:无输入输出指令1.INT中断指令指令汇编格式:INTn

操作: SP←SP-2,(SP,SP+1)←F IF←0,TF←0 SP←SP-2,(SP,SP+1)←CS SP←SP-2,(SP,SP+1)←IP CS←(n*4+2,n*4+3)

IP←(n*4,n*4+1)受影响的标志位:IF,TF

说明:n称为中断类型号,必须是0~255之间的立即数。中断指令8086/8088在其内存的前1K字节(地址为00000H~003FFH)建立了一个中断向量表。表中内容分为256项,对应于类型号0~255,每一项占用4个字节单元,用来存放相应类型的中断服务程序的入口地址,高两个字节存放服务程序的入口地址的段地址部分。低两个字节存放偏移量部分。其结构如下: 类型0的中断服务程序入口地址类型1的中断服务程序入口地址类型2的中断服务程序入口地址:: 类型255的中断服务程序入口地址00000H00003H003FCH003FFH00008H0000BH00004H00007H0000CH003FBH2.INTO溢出中断指令指令汇编格式:INTO

操作:如果OF=1,则产生一个中断类型为4的软件中断;否则,不产生任何操作。即:如果OF=1,则

SP←SP-2,(SP,SP+1)←F IF←0,TF←0 SP←SP-2,(SP,SP+1)←CS SP←SP-2,(SP,SP+1)←IP CS←(4*4+2,4*4+3)

IP←(4*4,4*4+1)受影响的标志位:IF,TF

说明:INTO指令一般用在算术运算指令后面,在有溢出的情况下,启动一个溢出中断服务程序。3.IRET中断返回指令指令汇编格式:IRET

操作:IP←(SP,SP+1),SP←SP+2 CS←(SP,SP+1),SP←SP+2 F←(SP,SP+1),SP←SP+2

受影响的标志位:所有状态标志位。说明:IRET指令是任何中断服务程序的最后一条要执行的指令,它使CPU从中断服务程序返回被中断程序的断点处继续执行。接口程序设计方法初始化:配置接口的工作模式、数据格式等。数据传输:通过IN和OUT

温馨提示

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

评论

0/150

提交评论