欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    汇编语言第十一次课.ppt

    • 资源ID:69246078       资源大小:1.82MB        全文页数:37页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    汇编语言第十一次课.ppt

    v作业v指出下列指令的错误原因v(1)and ax,dlv(2)add cs,dxv(3)mov ax,ipv(4)mov bpdi,siv(5)sub bpsi,es:dxv(6)xchg al,sidiv(7)jge axv(8)push dlv(9)shr cl,44.1 汇编程序功能汇编程序功能1.程序运行步骤及生成的文件程序运行步骤及生成的文件myfile.asm编辑程序编辑程序汇编程序汇编程序连接程序连接程序myfile.crfotherfiles.objmyfile.lstmyfile.objmyfile.mapmyfile.exe4.1 汇编程序功能汇编程序功能2.汇编程序功能汇编程序功能汇编程序的主要功能:汇编程序的主要功能:检查源程序,给出出错信息。检查源程序,给出出错信息。产生目标文件产生目标文件(.objobj)和和列表文件列表文件(.lstlst)。展开宏指令。展开宏指令。4.2 汇编语言语句类型及格式汇编语言语句类型及格式v一一.语句类型语句类型汇编语言源程序由若干条语句组成,语句分为两类:1、指令性语句:由指令组成的由CPU执行的语句,完成一定操作功能,能够翻译成机器代码。2、指示性语句(伪指令语句):指示性语句不由CPU执行,只为汇编程序在翻译汇编语言源程序时提供有关信息,并不翻译成机器代码的语句4.2 汇编语言语句类型及格式汇编语言语句类型及格式v二、语句格式二、语句格式指令性语句格式如下:名字:操作码 操作数,操作数;注释伪指令语句的格式如下:名字 伪操作 操作数,操作数,;注释1、名字、名字名字也就是有用户按一定规则定义的标示符,可由下列符号组成:英文字母(AZ,az);数字(09);特殊符号(?、等)4.2 汇编语言语句类型及格式汇编语言语句类型及格式名字的定义要满足如下规则:数字不能作为名字的第一个字符单独的问号“?”不能作为名字一个名字的最大有效长度为31,计算机不能识别超过部分。汇编语言中特有含义的保留字,如操作码、寄存器名等,不能作为名字使用名字的定义应该能见名知义4.2 汇编语言语句类型及格式汇编语言语句类型及格式v名字有两种形式:标号和变量。指令性语句中的名字通常用标号表示,而伪指令语句中的名字通常用变量名、段名和过程名表示。v(1)标号)标号标号用来代表一条指令所在单元的地址,在代码段中使用。标号与其所代表的指令之间用冒号分开。标号有三个属性:段属性、偏移属性和类型属性段属性:标号所代表指令单元的段地址(CS值)偏移属性:标号所代表指令单元的段内偏移地址类型属性:用来表明是段内引用还是段间引用4.2 汇编语言语句类型及格式汇编语言语句类型及格式v(2)变量)变量v变量用来代表数据所在单元的地址,在数据段、附加段和堆栈段中使用。变量有三个属性:段属性、偏移属性和类型属性段属性:变量所代表数据单元的段地址(DS、ES、SS)偏移属性:变量所代表数据单元的段内偏移地址类型属性:用来指明变量所代表数据单元的字节数在同一个程序中,一个标号或变量只能定义一次,不能重复定义4.2 汇编语言语句类型及格式汇编语言语句类型及格式v2、操作码、操作码用来指明操作的性质或功能。指令中的助记符都是操作码。v3、操作数、操作数指令中的操作数用来指定参与操作的数据。对于一般指令,操作数可以没有,有一或两个操作数。对于伪指令,可以根据需要有多个操作数。操作数多于一个时各操作数之间用逗号分开操作数可以是常数和表达式4.2 汇编语言语句类型及格式汇编语言语句类型及格式v(1)常数)常数常数(常量)表示一个固定的数值它又分成多种形式:十进制常数十六进制常数二进制常数八进制常数字符串常数符号常数:常数用符号名来代替就是符号常数4.2 汇编语言语句类型及格式汇编语言语句类型及格式v(2)表达式)表达式v由运算对象和运算符组成的合法式子就是表达式,分为数值表达式和地址表达式两种。v地址表达式:地址表达式:运算结果是一个存储单元的地址。v数值表达式数值表达式v数值表达式一般是指由运算符连接的各种常数所构成的表达式,汇编程序在汇编过程中计算表达式,最终得到一个数值4.2 汇编语言语句类型及格式汇编语言语句类型及格式v算术运算符算术运算符v实现加、减、乘、除、取余的算术运算mov ax,3*4+5;等价于 mov ax,17v其中MOD也称为取模,它产生除法之后的余数,如19 mod 7=5v加+和减-运算符还可以用于地址表达式v除加、减外,其他运算符的参数必须是整数4.2 汇编语言语句类型及格式汇编语言语句类型及格式v逻辑运算符逻辑运算符v移位运算符移位运算符v实现按位相与、相或、异或、求反的逻辑运算or al,03h AND 45h;等价于 or al,01hv实现对数值的左移、右移的逻辑操作;移入低位或高位的是0v格式为:数值表达式 SHL/SHR 移位次数mov al,0101b SHL(2*2);等价于 mov al,01010000b4.2 汇编语言语句类型及格式汇编语言语句类型及格式v关系运算符关系运算符vEQ NE GT LT GE LEv用于比较和测试符号数值vMASM用0FFFFH(补码-1)表示条件为真vMASM用0000H表示条件为假movmov bx,(PORTbx,(PORT LT 5)AND 20)OR(PORT GE 5)AND 30)LT 5)AND 20)OR(PORT GE 5)AND 30);当PORT5时,汇编结果为mov bx,20;否则,汇编结果为mov bx,304.2 汇编语言语句类型及格式汇编语言语句类型及格式v在数值表达式中使用的操作符在数值表达式中使用的操作符HIGH、LOW、LENGTH、SIZE、OFFSET、SEG、TYPE、WIDTH等HIGH、LOW从一个字数值或符号常量中得到高、低字节mov ah,HIGH 8765h;等价于mov ah,87h例:MOV AL,LOW 3080H MOV AH,HIGH 2050H MOV AX,HIGH 1234H+5 MOV AX,HIGH(1234H+5)MOV AX,LOW 1234H-34.2 汇编语言语句类型及格式汇编语言语句类型及格式v运算符和操作符的优先级(从高到低)v圆括号、LENGTH、SIZE、WIDTHvPTR、OFFSET、SEG、TYPE、THIS、冒号v*、/、MOD、SHL、SHRvHIGH、LOWv+、vEQ、NE、LT、GE、LE、GI、GTvNOTvANDvOR、XORvSHORT4.2 汇编语言语句类型及格式汇编语言语句类型及格式v4、注释项、注释项注释是语句的说明部分,用来说明一条指令或一段程序的功能,由“;”开始。一条语句可以写在多行上,续行符为“&”三、伪指令三、伪指令在汇编程序时,需要向汇编程序提供一些信息,如源程序时候已结束,程序中用到的数据放在什么位置,哪个段是数据段等。这些信息要和源程序一起提供给汇编程序。这些信息的提供也是以指令的形式出现,这种功能的指令称为伪指令。4.2 汇编语言语句类型及格式汇编语言语句类型及格式v1、符号定义伪指令、符号定义伪指令对于多次出现同一个表达式,为了方便起见,常将该表达式赋予一个名字。用名字代替表达式,以后要修改该表达式的值时,只需在赋予名字的地方修改即可。(1)等值伪指令)等值伪指令EQU格式:符号名 EQU 表达式功能:给符号名定义一个值、别的符号名、表达式或助记符例:D1 EQU 25;常数 D2 EQU x1+2;表达式 D3 EQU SI+2;存储单元 D4 EQU CX;寄存器 D5 EQU ADD;指令助记符4.2 汇编语言语句类型及格式汇编语言语句类型及格式v(2)等号伪指令)等号伪指令“=”“=”的格式与功能和EQU类似。不同的是:在同一个程序中,“=”可以对一个符号重复定义,而EQU不能对同一符号重复定义。Y1=1 Y1=128v(3)解除定义伪指令)解除定义伪指令PURGE格式:PURGE 符号1,符号2符号n功能:解除指定符号的定义,之后可以用EQU重新定义Y1 EQU 7 Y1 EQU 128Y1 EQU 7 PURGE Y1Y1 EQU 1284.2 汇编语言语句类型及格式汇编语言语句类型及格式v2、数据定义伪指令、数据定义伪指令可为数据项分配存储单元,并根据需要设置初值,还可用符号代表数据项,此时符号就与分配的存储单元相联系。代表数据项的符号本身称为变量名,与之对应的存储单元用于存放变量,所以常常把这样的存储单元称为变量。格式:变量名 数据定义符 操作数,操作数,;注释功能:为操作数分配存储单元,并用变量与存储单元相联系。4.2 汇编语言语句类型及格式汇编语言语句类型及格式v(1)定义字节数据项 DB占1个字节存储单元v(2)定义字数据项 DW占2个字节存储单元v(3)定义字节数据项 DD占4个字节存储单元v(4)定义没有初值的数据项?不预置初值,只给变量分配存储单元4.2 汇编语言语句类型及格式汇编语言语句类型及格式v(5)定义字符串操作数为字符串,字符和字符串都必须放在单引号中,内存中存放是各字符的ASCII码。超过两个字符的字符串只能用DB伪指令定义例v(6)定义其他类型数据项DQ、DTv(7)重复操作符DUP格式:重复个数 DUP(表达式,表达式,)功能:重复操作数若干次4.2 汇编语言语句类型及格式汇编语言语句类型及格式v(8)、分析操作符用于从变量或标号中分解出某些属性值,并通告数值回送。TYPE 变量或标号:计算出变量的类型值或标号类型值DB,DW,DD,DQ,DT对应类型值:1,2,4,8,10NEAR,FAR对应类型值:-1,-2LENGTH 变量:对于使用DUP定义的变量,计算出分配给该变量的单元数,其他变量的LENGTH值为14.2 汇编语言语句类型及格式汇编语言语句类型及格式SIZE 变量:计算出分配给该变量的字节数,其值为TYPE和LENGTH的乘积。OFFSET 变量或标号:计算出变量或标号的段内偏移地址SEG 变量或标号:计算出变量或标号的段地址v例4.2 汇编语言语句类型及格式汇编语言语句类型及格式v(9)、属性操作符用来改变原有变量或标号的类型。PTR操作符格式:类型 PTR 表达式类型名可以是BYTE/WORD/DWORD或者是NEAR/FAR,mov al,byte ptr w_var;w_var是一个字变量jmp far ptr n_label;n_label是一个标号使用PTR操作符,可以临时改变名字或标号的类型4.2 汇编语言语句类型及格式汇编语言语句类型及格式vTHIS操作符THIS 类型名利用THIS说明的操作数具有汇编时的当前逻辑地址,但具有指定的类型b_var equ THIS byte;按字节访问变量b_var,但与w_var的地址相同w_var dw 10 dup(0);按字访问变量w_var系统功能调用系统功能调用v21H号中断是DOS提供给用户的用于调用系统功能的中断,它有近百个功能供用户选择使用,主要包括设备管理、目录管理和文件管理三个方面的功能vROM-BIOS也以中断服务程序的形式,向程序员提供系统的基本输入输出程序v汇编语言程序设计需要采用系统的各种功能程序v充分利用操作系统提供的资源是程序设计的一个重要方面,需要掌握功能调用的步骤功能调用的步骤通常按照如下4个步骤进行:在AH寄存器中设置系统功能调用号 在指定寄存器中设置入口参数 执行指令INT 21H(或ROM-BIOS的中断向量号)实现中断服务程序的功能调用 根据出口参数分析功能调用执行情况输入输出类功能调用输入输出类功能调用v向显示器输出字符 字符的输出 字符串的输出v从键盘输入数据 字符的输入 字符串的输入 按键的判断裸机裸机汇编语言程序字符输出的功能调用字符输出的功能调用vDOS功能调用INT 21H功能号:AH02H入口参数:DL字符的ASCII码功能:在显示器当前光标位置显示给定的字符,光标右移一个字符位置。如按Ctrl-Break或Ctrl-C则退出例:显示问号;在当前显示器光标位置显示一个问号mov ah,02h;设置功能号:ah02hmov dl,?;提供入口参数:dl?int 21h;DOS功能调用:显示 进进行行字字符符输输出出时时,当当输输出出响响铃铃字字符符(07H)以以及及退退格格(08H)、回回车车(0DH)和和换换行行(0AH)字字符符时时,该该功能调用可以自动识别并能进行相应处理功能调用可以自动识别并能进行相应处理字符串输出的功能调用字符串输出的功能调用vDOS功能调用INT 21H功能号:AH09H入口参数:DS:DX欲显示字符串在主存中的首地址字符串应以$(24H)结束功能:在显示器输出指定的字符串v可以输出回车(0DH)和换行(0AH)字符产生回车和换行的作用例:显示字符串string db Hello,Everybody!,0dh,0ah,$;在数据段定义要显示的字符串.mov ah,09h;设置功能号:ah09hmov dx,offset string;提供入口参数:dx字符串的偏移地址int 21h;DOS功能调用:显示字符输入的功能调用字符输入的功能调用vDOS功能调用INT 21H功能号:AH01H出口参数:AL字符的ASCII码功能:获得按键的ASCII代码值v调用此功能时,若无键按下,则会一直等待,直到按键后才读取该键值例:判断按键getkey:mov ah,01h;功能号:ah01hint 21h;功能调用cmp al,Y;处理出口参数alje yeskey;是“Y”cmp al,Nje nokey;是“N”jne getkey.yeskey:.nokey:.4.2 汇编语言语句类型及格式汇编语言语句类型及格式4.2 汇编语言语句类型及格式汇编语言语句类型及格式

    注意事项

    本文(汇编语言第十一次课.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开