汇编语言第十一次课.ppt

上传人:za****8 文档编号:14127640 上传时间:2020-07-04 格式:PPT 页数:37 大小:1.82MB
返回 下载 相关 举报
汇编语言第十一次课.ppt_第1页
第1页 / 共37页
汇编语言第十一次课.ppt_第2页
第2页 / 共37页
汇编语言第十一次课.ppt_第3页
第3页 / 共37页
点击查看更多>>
资源描述
,作业指出下列指令的错误原因(1)andax,dl(2)addcs,dx(3)movax,ip(4)movbpdi,si(5)subbpsi,es:dx(6)xchgal,sidi(7)jgeax(8)pushdl(9)shrcl,4,4.1汇编程序功能,1.程序运行步骤及生成的文件,myfile.asm,编辑程序,汇编程序,连接程序,myfile.crf,otherfiles.obj,myfile.lst,myfile.obj,myfile.map,myfile.exe,4.1汇编程序功能,2.汇编程序功能,汇编程序的主要功能:检查源程序,给出出错信息。产生目标文件(.obj)和列表文件(.lst)。展开宏指令。,4.2汇编语言语句类型及格式,一.语句类型汇编语言源程序由若干条语句组成,语句分为两类:1、指令性语句:由指令组成的由CPU执行的语句,完成一定操作功能,能够翻译成机器代码。2、指示性语句(伪指令语句):指示性语句不由CPU执行,只为汇编程序在翻译汇编语言源程序时提供有关信息,并不翻译成机器代码的语句,4.2汇编语言语句类型及格式,二、语句格式指令性语句格式如下:名字:操作码操作数,操作数;注释伪指令语句的格式如下:名字伪操作操作数,操作数,;注释1、名字名字也就是有用户按一定规则定义的标示符,可由下列符号组成:英文字母(AZ,az);数字(09);特殊符号(?、等),4.2汇编语言语句类型及格式,名字的定义要满足如下规则:数字不能作为名字的第一个字符单独的问号“?”不能作为名字一个名字的最大有效长度为31,计算机不能识别超过部分。汇编语言中特有含义的保留字,如操作码、寄存器名等,不能作为名字使用名字的定义应该能见名知义,4.2汇编语言语句类型及格式,名字有两种形式:标号和变量。指令性语句中的名字通常用标号表示,而伪指令语句中的名字通常用变量名、段名和过程名表示。(1)标号标号用来代表一条指令所在单元的地址,在代码段中使用。标号与其所代表的指令之间用冒号分开。标号有三个属性:段属性、偏移属性和类型属性段属性:标号所代表指令单元的段地址(CS值)偏移属性:标号所代表指令单元的段内偏移地址类型属性:用来表明是段内引用还是段间引用,4.2汇编语言语句类型及格式,(2)变量变量用来代表数据所在单元的地址,在数据段、附加段和堆栈段中使用。变量有三个属性:段属性、偏移属性和类型属性段属性:变量所代表数据单元的段地址(DS、ES、SS)偏移属性:变量所代表数据单元的段内偏移地址类型属性:用来指明变量所代表数据单元的字节数在同一个程序中,一个标号或变量只能定义一次,不能重复定义,4.2汇编语言语句类型及格式,2、操作码用来指明操作的性质或功能。指令中的助记符都是操作码。3、操作数指令中的操作数用来指定参与操作的数据。对于一般指令,操作数可以没有,有一或两个操作数。对于伪指令,可以根据需要有多个操作数。操作数多于一个时各操作数之间用逗号分开操作数可以是常数和表达式,4.2汇编语言语句类型及格式,(1)常数常数(常量)表示一个固定的数值它又分成多种形式:十进制常数十六进制常数二进制常数八进制常数字符串常数符号常数:常数用符号名来代替就是符号常数,4.2汇编语言语句类型及格式,(2)表达式由运算对象和运算符组成的合法式子就是表达式,分为数值表达式和地址表达式两种。地址表达式:运算结果是一个存储单元的地址。数值表达式数值表达式一般是指由运算符连接的各种常数所构成的表达式,汇编程序在汇编过程中计算表达式,最终得到一个数值,4.2汇编语言语句类型及格式,算术运算符,实现加、减、乘、除、取余的算术运算movax,3*4+5;等价于movax,17其中MOD也称为取模,它产生除法之后的余数,如19mod7=5加+和减-运算符还可以用于地址表达式除加、减外,其他运算符的参数必须是整数,4.2汇编语言语句类型及格式,逻辑运算符移位运算符,实现按位相与、相或、异或、求反的逻辑运算oral,03hAND45h;等价于oral,01h,实现对数值的左移、右移的逻辑操作;移入低位或高位的是0格式为:数值表达式SHL/SHR移位次数moval,0101bSHL(2*2);等价于moval,01010000b,4.2汇编语言语句类型及格式,关系运算符EQNEGTLTGELE,用于比较和测试符号数值MASM用0FFFFH(补码-1)表示条件为真MASM用0000H表示条件为假movbx,(PORTLT5)AND20)OR(PORTGE5)AND30);当PORT5时,汇编结果为movbx,20;否则,汇编结果为movbx,30,4.2汇编语言语句类型及格式,在数值表达式中使用的操作符HIGH、LOW、LENGTH、SIZE、OFFSET、SEG、TYPE、WIDTH等HIGH、LOW从一个字数值或符号常量中得到高、低字节movah,HIGH8765h;等价于movah,87h例:MOVAL,LOW3080HMOVAH,HIGH2050HMOVAX,HIGH1234H+5MOVAX,HIGH(1234H+5)MOVAX,LOW1234H-3,4.2汇编语言语句类型及格式,运算符和操作符的优先级(从高到低)圆括号、LENGTH、SIZE、WIDTHPTR、OFFSET、SEG、TYPE、THIS、冒号*、/、MOD、SHL、SHRHIGH、LOW+、EQ、NE、LT、GE、LE、GI、GTNOTANDOR、XORSHORT,4.2汇编语言语句类型及格式,4、注释项注释是语句的说明部分,用来说明一条指令或一段程序的功能,由“;”开始。一条语句可以写在多行上,续行符为“w_var是一个字变量jmpfarptrn_label;n_label是一个标号使用PTR操作符,可以临时改变名字或标号的类型,4.2汇编语言语句类型及格式,THIS操作符THIS类型名利用THIS说明的操作数具有汇编时的当前逻辑地址,但具有指定的类型b_varequTHISbyte;按字节访问变量b_var,但与w_var的地址相同w_vardw10dup(0);按字访问变量w_var,系统功能调用,21H号中断是DOS提供给用户的用于调用系统功能的中断,它有近百个功能供用户选择使用,主要包括设备管理、目录管理和文件管理三个方面的功能ROM-BIOS也以中断服务程序的形式,向程序员提供系统的基本输入输出程序汇编语言程序设计需要采用系统的各种功能程序充分利用操作系统提供的资源是程序设计的一个重要方面,需要掌握,功能调用的步骤,通常按照如下4个步骤进行:在AH寄存器中设置系统功能调用号在指定寄存器中设置入口参数执行指令INT21H(或ROM-BIOS的中断向量号)实现中断服务程序的功能调用根据出口参数分析功能调用执行情况,输入输出类功能调用,向显示器输出字符字符的输出字符串的输出从键盘输入数据字符的输入字符串的输入按键的判断,字符输出的功能调用,DOS功能调用INT21H功能号:AH02H入口参数:DL字符的ASCII码功能:在显示器当前光标位置显示给定的字符,光标右移一个字符位置。如按Ctrl-Break或Ctrl-C则退出,例:显示问号,;在当前显示器光标位置显示一个问号movah,02h;设置功能号:ah02hmovdl,?;提供入口参数:dl?int21h;DOS功能调用:显示,进行字符输出时,当输出响铃字符(07H)以及退格(08H)、回车(0DH)和换行(0AH)字符时,该功能调用可以自动识别并能进行相应处理,字符串输出的功能调用,DOS功能调用INT21H功能号:AH09H入口参数:DS:DX欲显示字符串在主存中的首地址字符串应以$(24H)结束功能:在显示器输出指定的字符串可以输出回车(0DH)和换行(0AH)字符产生回车和换行的作用,例:显示字符串,stringdbHello,Everybody!,0dh,0ah,$;在数据段定义要显示的字符串.movah,09h;设置功能号:ah09hmovdx,offsetstring;提供入口参数:dx字符串的偏移地址int21h;DOS功能调用:显示,字符输入的功能调用,DOS功能调用INT21H功能号:AH01H出口参数:AL字符的ASCII码功能:获得按键的ASCII代码值调用此功能时,若无键按下,则会一直等待,直到按键后才读取该键值,例:判断按键,getkey:movah,01h;功能号:ah01hint21h;功能调用cmpal,Y;处理出口参数aljeyeskey;是“Y”cmpal,Njenokey;是“N”jnegetkey.yeskey:.nokey:.,4.2汇编语言语句类型及格式,4.2汇编语言语句类型及格式,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!