河北工业大学-汇编实验报告

河北工业大学-汇编实验报告

ID:48278058

大小:309.50 KB

页数:30页

时间:2019-11-28

河北工业大学-汇编实验报告_第1页
河北工业大学-汇编实验报告_第2页
河北工业大学-汇编实验报告_第3页
河北工业大学-汇编实验报告_第4页
河北工业大学-汇编实验报告_第5页
资源描述:

《河北工业大学-汇编实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、汇编实验实验一顺序与分支程序设计一、实验目的1)掌握顺序程序设计方法。2)掌握分支程序的结构及分支程序的设计,调试方法。2)学习数据传送及算术和逻辑运算指令的用法。3)熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程。二、实验内容1)有一字变量BUF1是以原码表示的有符号数,要求将其转换为反码和补码,分别存入BUF2和BUF3单元,并在屏幕上显示出来。2)有两个两字节无符号数分别放在存储单元A、B起始的缓冲器中,求其和,结果放在A起始的缓冲区并在屏幕上显示。相加若有进位不存入存储单元。3)在

2、BUF和BUF+1、BUF+2单元分别放有一个无符号字节型数,编程序将其中最大数存入MAX单元,并在屏幕上显示。4)要求同上,只是比较的数为有符号数。5)将1000H单元开始的10个字节数,采用奇偶校验,将奇数在前偶数在后仍存回原数据区。本实验要求在DEBUG调试状态下进行,包括汇编程序、运行程序、检查结果。6)从键盘上接收一位十进制数X,计算Y值,并以十六进制形式显示出来,Y按下列公式计算。7)从键盘上接收两个一位十六进制数X和Y,然后再输入一个A-D之间的一个字符,按下列要求计算。a)当输入字符为A

3、,则计算X+Y,并以十六进制形式显示出来b)当输入字符为B,则计算

4、X-Y

5、,并以十六进制形式显示出来c)当输入字符为C,则计算X*Y,并以十六进制形式显示出来d)当输入字符为D,则计算X/Y,并以十六进制形式显示出来三、实验设备PC机一台四、实验准备1)分析题目,将程序中的原始数据和最终结果的存取方法确定好。2)画出流程图。3)写出源程序。4)对程序中的结果进行分析,并准备好上机调试与用汇编程序及汇编调试的过程。五、实验步骤1)输入源程序。2)汇编、连接程序,生成.EXE文件,执行文件,检查结果。六、

6、实验报告的要求1)列出源程序,说明程序的基本结构,包括程序中各部分的功能。2)说明程序中各部分所用的算法。3)说明主要符号和所用到寄存器的功能。4)总结为什么在设计分支程序时必须解决三个问题:判断、转向和定标号。5)说明标志位CF、SF和OF的意义。6)上机调试过程中遇到的问题是如何解决的。7)对调试源程序的结果进行分析。Exam1:DATA  SEGMENT;数据段BUF1  DW 7898HBUF2  DW 4 DUP(0),0AH,0DH,'$'BUF3  DW 4 DUP(0),'$'DATA 

7、 ENDS;数据段结束CODE  SEGMENT;代码段    ASSUME CS:CODE,DS:DATA;段寄存器关联说明伪指令BEGIN: MOV AX,DATA    MOV DS,AX;将数据段的基地址装入数据段寄存器DS    MOV AX,BUF1;将字型变量BUF1的值装入AX寄存器    ADD AX,0;AX寄存器里的数据加0,以便进行转移测试        JS NEXT;判断(AX)的正负,若为负则转到NEXT,为正则往下顺序执行。        MOV BUF2,AX;为正,反

8、码与原码一样        MOV BUF3,AX;为正,补码与原码一样        JMP  EEENEXT:AND AX,7FFFH;将符号位变为0        NOT AX;求反码        MOV BUF2,AX;将BUF1的反码装入BUF2        INC  AX;求补码        MOV BUF3,AX;将补码装入BUF3EEE:MOV CX,0004H;将0004H装入CX计数器寄存器中      MOV DI,OFFSET BUF2;将DI指向变量BUF2开始的存储单元

9、      MOV DX, [DI];将DI所指的数据装入DX寄存器中      ADD DI,03;将DI指针下移三个字BBB:MOV AX,DX;将DX中的内容装入AX寄存器中      AND AX,000FH;即使BUF2的低四位不变,其余均变为0      CMP AL,0AH;比较[AL]与0AH的大小,以便能正确转换为0-9的ASCII值      JB QQQ;若[AL]<0AH,则转到QQQ,否则,顺序执行      ADD AL,07H;因为[AL]>0AH,所以[AL]+07H,使

10、得AL能转换成相应数字的ASCII值QQQ:ADD AL,30H;将[AL]转换成相应数字的ASCII值    MOV [DI],AL;将AL中的内容装入以DS中的内容为段基地址,以DI的内容为偏移地址的存储单元中    DEC DI;DI=DI-1,即将DI指向前一个存储单元    PUSH CX;保存CX寄存器的内容    MOV CL,04H;给CL寄存器赋值为04H    SHR DX,CL;将[DX]逻辑右移四位    POP C

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。