汇编语言常见问题实验报告(带正确源代码).docx

汇编语言常见问题实验报告(带正确源代码).docx

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言常见问题实验报告(带正确源代码)

汇编语言程序设计实验报告计科0803余廷钊2008420692010 7-7实验一:字符回显实验目的:掌握DOS 1号功能的调用。实验原理:ah里面放功能号。用int21调用。实验内容:code segmentah=1assume cs:codestart:mov ah,1;功能号放入ahint 21h int 21h;调用DOS功能mov ah,4ch;返回DOS int 21h code endsendstart结果分析:DOS 1号功能可以把键盘的输入回显到屏幕上。技术支持:Michael实验二:显示字符T实验目的:掌握DOS 2号功能的调用。实验原理:ah里面放功能号。DL里面放要显示的字符,用int21调用。实验内容:code segmentassume cs:codeah=2start:mov dl,'T'DL=‘T’mov ah,2;功能号存入 int 21h;调用int 21hmov ah,4ch int 21h code endsendstart技术支持:Michael结果分析:DOS 2 号功能可以吧 DL中的数据按照它对应的ASK码字符输出。实验三:显示‘how are you’实验目的:掌握利用DOS功能显示字符串。实验原理:DOS 9 号功能可以把DS:DX中的字符串显示出来,一‘$’为结束识别。实验内容:data segment message db'How are you?',13,10,'$'data ends数据段首地址送到DScode segmentassume cs:code,ds:datastart:功能号送到AHmov ax,datamov ds,ax ;数据段地址给dsmov ah,9调用DOS功能显示字符串mov dx,offset message;送入偏移地址int 21h ;功能调用mov ah,4ch int 21hcode endsendstart结果分析:DOS 9 号功能可以把以DS:DX为首地址,以‘$’为结束的字符串输出。实验四:小写转大写实验目的:掌握一些基本的程序分支编写方法。实验原理:利用CMP比较来判断是否为小写字母,在利用SUB将小写字母的ASC码转换为大写的ASC码。实验内容:输入一个小写字母,输出它所对应的大写字母。data segmenterrorword db'error',13,10,'$';错误提示信息data endsCODES SEGMENTASSUME CS:CODESSTART:mov ax,datamov ds,ax;数据段地址放入dsmov ah,07h int 21h;输入一个小心字母输入字符cmp al,'a' jl error;输入不合法cmp al,'z'是否小于a jg error;输入不合法,直接输出出错信息sub al,20h;小写变大写mov dl,almov ah,02h否 int 21h jmp over是是否大于z error:lea dx,errorword否mov ah,09h int 21h;输出出错信息输出出错信息转为大写 over:MOV AH,4CH INT 21HCODES ENDSENDSTART结果分析:CMP对两个数比较过后标记会发生改变,可以根据标记寄存器的情况来判断两个数的大小情况,再利用jmp等语句可以实现类似于C语言中if的功能。问题讨论:用CMP对两个数进行比较之后,标志寄存器里面哪些标记位发生了变化?有哪些跳转语句可以对这些标志位进行判断?CMP AL,BL AL>BL CF=0 AL<BL CF=1AL=BL ZF=1 AL~=BL ZF=0JL 是当 CF=1是跳转 JG相反, JZ/JE是ZF=1时跳转 JNZ/JNE相反JB与JA等于 JL和JG实验心得:有效的利用CMP和JZ等跳转语句的结合可以编写含有分支的程序,在程序中融入了判断。技术支持:Michael参考文献:IBM-PC汇编语言程序设计(第二版)实验五:输出10个F实验目的:在程序中编写循环语句。实验原理:LOOP语句可以达到循环。实验内容:输出10个F到显示器上。code segmentassume cs:code对功能调用初始化start:mov dl,'F'mov cx,10;置循环次数设置循环次数mov ah,2 again:功能调用 int 21h;显示 loop again否CX减1(自动)mov ah,4ch ;返回DOS int 21h判断循环标志CX是否为0为0code endsendstart是结束结构

文档评论(0)

ipbohn97 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档