首页 汇编语言程序设计实验报告一

汇编语言程序设计实验报告一

举报
开通vip

汇编语言程序设计实验报告一汇编语言程序设计实验报告(一) 1、实验目的 1. 掌握顺序程序设计方法 2. 掌握分支程序的结构及分支程序的设计,调试方法 3. 学习数据传送及算术和逻辑运算指令的用法 4. 熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程 2、实验内容 1. 从键盘上接收一位十进制数X,计算Y值,并以十六进制形式显示出来,Y按下列公式计算。 2. 从键盘上接收两个一位十六进制数X和Y,然后再输入一个A-D之间的字符,按下列要求计算。 A)当输入字符为A,则计算X+Y,并以十六进制形式显示出来 B)当输入字符为B,...

汇编语言程序设计实验报告一
汇编语言程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 实验 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 (一) 1、实验目的 1. 掌握顺序程序设计方法 2. 掌握分支程序的结构及分支程序的设计,调试方法 3. 学习数据传送及算术和逻辑运算指令的用法 4. 熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程 2、实验内容 1. 从键盘上接收一位十进制数X,计算Y值,并以十六进制形式显示出来,Y按下列公式计算。 2. 从键盘上接收两个一位十六进制数X和Y,然后再输入一个A-D之间的字符,按下列要求计算。 A)当输入字符为A,则计算X+Y,并以十六进制形式显示出来 B)当输入字符为B,则计算|X-Y|,并以十六进制形式显示出来 C)当输入字符为C,则计算X*Y,并以十六进制形式显示出来 D)当输入字符为D,则计算X/Y,并以十六进制形式显示出来 3、实验结果 1、结果截图 2、结果截图 4、源代码 1、代码 DATA SEGMENT X DB ? TABLE DW L1,L2,L3,L4 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AH,1 INT 21H CMP AL,33H JB L0 CMP AL,36H JA L0 AND AL,0FH MOV X,AL SUB AL,3 SHL AL,1 XOR AH,AH MOV BX,OFFSET TABLE ADD BX,AX JMP [BX] L1:MOV AL,X MUL AL ADD AL,X JMP L7 L2:MOV AL,X MUL AL SUB AL,X SUB AL,X JMP L7 L3:MOV AL,X MUL AL JMP L7 L4:MOV AL,X MUL AL MOV CL,2 DIV CL JMP L7 L7:MOV BL,AL MOV CL,4 SHR AL,CL CMP AL,9 JLE L5 ADD AL,7 L5:ADD AL,30H MOV DL,AL MOV AH,2 INT 21H AND BL,0FH CMP BL,9 JLE L6 ADD BL,7 L6:ADD BL,30H MOV DL,BL MOV AH,2 INT 21H L0:MOV AH,4CH INT 21H CODE ENDS END START 2、代码 DATA SEGMENT X DB ? Y DB ? Z DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX XOR AX,AX MOV AH,1 INT 21H MOV X,AL MOV AH,1 INT 21H MOV Y,AL MOV AH,1 INT 21H MOV Z,AL MOV AL,X MOV BL,Y MOV AH,Z CMP AL,39H JBE M1 SUB AL,7 M1:SUB AL,30H MOV X,AL CMP BL,39H JBE M2 SUB BL,7 M2:SUB BL,30H MOV Y,BL MOV AL,X MOV BL,Y CMP AH,41H JE  L1 CMP AH,42H JE  L4 CMP AH,43H JE  L6 CMP AH,44H JE  L7 L1:ADD AL,BL JMP L5 L4:CMP AL,BL JA L8 SUB BL,AL MOV AL,BL JMP L5 L8:SUB AL,BL JMP L5 L6:MOV AL,X MUL BL JMP L5 L7:XOR AX,AX MOV AL,X DIV BL L5:MOV BH,AL MOV CL,4 SHR AL,CL CMP AL,9 JLE L2 ADD AL,7 L2:ADD AL,30H MOV DL,AL MOV AH,2 INT 21H AND BH,0FH CMP BH,9 JLE L3 ADD BH,7 L3:ADD BH,30H MOV DL,BH MOV AH,2 INT 21H L0:MOV AH,4CH INT 21H CODE ENDS END START  五、实验心得 通过本次实验,我对汇编语言程序设计的方法和特点有了一点理解,并有以下心得体会。 1. 标号并不是一个独立于主程序的代码段,它只是标明了代码行指令的符号地址,如果指令中没有跳到某个标号的指令,那么这段代码是一直按顺序执行的,即使有标号存在。 2. 对于要从键盘中键入字符的指令,写一次指令,只能输入一个字符,若想输入几个字符,就要用几次指令,并且要及时将输入时存入AL中的内容转移到相应的存储位置,否则,将会在原来的基础上覆盖,则只能留下最后一次输入的结果。 3. 程序中的数据均为十六进制,运算也为十六进制数的运算,但是输入一个字符,是将它对应的的ASCII码值存放在相应的位置,输出的时候,也是将相应的ASCII码对应的字符输出,因此,比如当运算结果为0AH时,必须在0AH的基础上+37H,转化成'A'字符对应的ASCII码值,再输出,才能显示为A,这才是对应的十六进制数。例如,输入一个十进制数5,则存入的是35H,只有将35H减去30H,转化成05H,才能继续用它进行运算。 4. 设计程序时,可以先将一种情况的程序设计出来,如x=3时的,然后经调试成功之后,再将x=4,5,6时的情况补上,这样程序设计更清晰,更易于理解设计过程。 5. 注意:补写程序时要在结束语句之前补写,否则补写的部分无法执行。补写时,要充分考虑到程序执行的顺序,注意体会标号的含义,必要时使用JMP+标号,跳脱不必要执行的代码段,避免程序出错。 6. 在程序设计中,经常使用一些巧妙的运算来达到所需的目的。如将AH与AH异或,可以将AH置零。 总之,通过这第一次的实验,我觉得对汇编语言程序设计的感觉由茫然转变为了略知一二,通过自己对题目的反复尝试,也渐渐的有了编程的感觉,以后的实验中,一定会更加认真地体会这门课程的内涵与学习方法。
本文档为【汇编语言程序设计实验报告一】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_036899
暂无简介~
格式:doc
大小:27KB
软件:Word
页数:12
分类:工学
上传时间:2018-11-21
浏览量:103