




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、汇编器实验报告 篇一:汇编实验报告 实验一( 1)熟悉汇编语言程序调试环境及顺序程序设 计 一、实验目的及要求: 1学习及掌握汇编语言源程序的书写格式和要求,明 确程序中各段的功能和相互之间的关系。 2. 学会使用 EDIT、MASM LINK、DEBUGS软件工具。 3熟练掌握在计算机上建立、汇编、连接、调试及运 行程序的方法。 二、熟悉汇编语言程序调试环境 1汇编语言源程序的建立 本例中给出的程序是要求从内存中存放的 10 个无符号 字节整数数组中找出最小数,将其值保存在 AL 寄存器中。 设定源程序的文件名为 ABC。 DATA SEGMENT BUFDB 23H,16H,08H,20H
2、,64H,8AH,91H,35H,2BH,7FH CN EQU $-BUF DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: PUSH DS XOR AX,AX PUSH AX MOVAX,DATA MOV DS,AX MOV BX,OFFSET BUF MOV CX,CN DEC CX MOV AL,BX INC BX LP:CMP AL,BX JBE NEXT MOV AL,BX NEXT: INC BX DEC CX JNZ LP MOV AH,4CH INT 21H CODE ENDS END START 键入以下命令: 1 所示
3、。 C:EDIT ABC.ASM 此时屏幕的显示状态如图 1 图1 用EDIT编辑ABC.ASM程序窗口 程序输入完毕后一定要将源程序文件存入盘中,以便进 行汇编及连接,也可以再次调出源程序进行修改。 2将源程序文件汇编成目标程序文件 一般情况下,MASM匚编程序的主要功能有以下3点: ( 1 )检查源程序中存在的语法错误,并给出错误信息。 ( 2)源程序经匚编后没有错误,则产生目标程序文件, 扩展名为 .OBJ。 ( 3)若程序中使用了宏指令,则匚编程序将展开宏指 令。 源程序建立以后,在DOS犬态下,采用宏汇编程序 MASM 对源程序文件进行匚编,其操作过程如图 2 所示。 图 2 MAS
4、M 宏匚编程序工作窗口 匚编过程的错误分警告错误( Warning Errors )和严重 错误( Severe Errors )两种。其中警告错误是指匚编程序 认为的一般性错误;严重错误是指匚编程序认为无法进行正 确匚编的错误,并给出错误的个数、错误的性质。这时,就 要对错误进行分析,找出原因和问题,然后再调用屏幕编辑 程序加以修改,修改以后再重新匚编,一直到匚编无错误为 止。 3用连接程序生成可执行程序文件 经汇编以后产生的目标程序文件 (.OBJ 文件)并不是可 执行程序文件, 必须经过连接以后, 才能成为可执行文件 (即 扩展名为 .EXE)。 2 连接过程如图 3 所示。 图 3 L
5、INK 连接程序工作窗口 上述提示行回答以后,连接程序开始连接,如果连接过 程中出现错误,则显示出错误信息,根据提示的错误原因, 要重新调入编辑程序加以修改, 然后重新汇编, 再经过连接, 直到没有错误为止。连接以后,便可以产生可执行程序文件 (.EXE 文件)。 4程序的执行 当我们建立了正确的可执行文件以后,就可以直接在 DOS犬态下执行该程序。 如: C:ABC 本程序当中没有用到 DOS中断调用指令,所以在屏幕上 看不到程序执行的结果。 实验二( 2)分支及循环程序设计 、实验目的及要求 熟练掌握转移指令,掌握分支程序设计的原理和方法 重点掌握各种分支程序中形成条件和判断条件的方法和技
6、 掌握循环程序设计的方法(单重循环结构和两重循环结 构),正确分配与使用寄存器,根据实际问题选择控制循环 的方法(循环次数已知和循环次数未知) 。 二、实验内容 编写下列程序并调试通过。 1. 通过键盘输入一个小写字母,找出对应的前导字母和 后续字母,再按顺序显示这三个字母。 2. 编写一个程序,要求比较数组 ARRAYS的三个16位补 码,并根据比较结果在终端上显示如下信息: 1 )如果三个数都不相等,显示 0; 2) 如果三个数都两个相等,显示1; 3)如果三个数都相当,显示 2。 3 3. 编写一个程序,要求通过键盘接收一个个位数N,然 后显示 N 个字母 $。 4. 从键盘上输入一个
7、8 位二进制数,在显示器上显示其 相应的十六进制数。 (教材 P170 习题 5) 5. 要求从键盘上接收一个 4 位十六进制数,然后再显示 器上显示其对应的 16 位二进制数。 6. 用15行*16列的表格形式显示 ASCII码为10H-FFH的 所有字符。 三、实验设计方案说明 实验 1 流程图: 实验完整代码: DATAS SEGMENT ; 此处输入数据段代码 DATAS ENDS STACKS SEGMENT ; 此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS ;告诉汇编程序哪个是代码段,哪
8、个是数据段,哪个是 堆栈段 START: MOV AX,DATAS MOV DS,AX ;初始化数据段的段地址 MOV CL,3 L: MOV AH,01H ;输入一个小写字母,常用DOS功能 调用,入口参数为 AH INT 21H CMP AL,61H JB L (本文来自:WWW.xiaocaoFanwEn.cOM小草范文网:汇编器实 验报告 ) CMP AL,7AH JA L MOV BL,AL MOV DL,0DH ;回车 MOV AH,02H ;常用DOS功能调用,入口参数为 AH 4 ; 对输入进行判断,确保输入的字符为az INT 21H MOV DL,0AH ;换行 MOV A
9、H,02H INT 21H SUB BL,01H ; 按顺序输出三个字母 CMP BL,61H ;判断前导字母是否合法 JNB L1 ADD BL,1AH MOV DL,BL MOV AH,02H INT 21H SUB BL,19H JMP L2 L1: MOV DL,BL ;输出录入字母的前导字母 MOV AH,02H INT 21H INC BL L2: MOV DL,BL ;输出录入字母本身 MOV AH,02H INT 21H INC BL CMP BL,7AH ;判断后 续字母是否合法 JNA L3 SUB BL,1AH L3: MOV DL,BL ;输出录入字母的后续字母 MOA
10、H,02H ;常用DOS功能调用,入口参数为 AHINT 21H MOV AH,4CH INT 21H CODES ENDS END START 5 篇二:汇编实验报告 课程设计(大作业)报告 课程名称:微机原理与汇编语言程序设计 设计题目: 简单计算器程序设计 院 系: 班 级: 12 级计算机应用 技术1班设 计者:陈娟 学号:XX110XX6指导教师: 周 曦 设计时间: 昆明学院课程设计(大作业)任务书 目录 1 题 目 分 析 5 2 基本理 论 5 3 总体设 计 6 3.1 本 程 序 的 功 能 结 构 图 6 3.2 字符输入及存 储设计 83.3加、 减、 乘、除法运算的判
11、断设计 8 3.4 加、 减、 乘、除法运算的设计 9 4 实验器 材 错误! 未定义书签。 5 方法步骤 错误!未定义书 签。 6 成效分析 错误!未 定义书签。 6.1 运行界面分析 错误! 未定义书签。 6.2 调试过程及分析 错 误!未定义书签 。 7 心 得 体 会 错误! 未定义书签。 8 参考文献 错误!未定义书 签。 9 附录 错误!未 定义书签。 课程设计(大作业)报告 一、 题目分析 本次设计的简单计算器,主要是为了解决数学中的加、 减、乘、除四则运算的问题。重点和难点主要包括以下几个 方面: (1)利用 BIOS 调用中 INT 16H 调用中的子程序完成 清屏、设置显示
12、方式、设 置窗口等操作。 (2)利用 INT 21H DOS 系统功能调用中的键盘输入接 收十进制操作数和运算符 由程序完成字符转换为二进制数,并存储起来。( 3) 根据运算符完成运算,由程序在屏幕上显示运算结果。 1 、 十进制数转换为二进制数过程如下: ( 1) 将 BX 清 0. ( 2) 从键盘接收一个按键的 ASCII 送 AL 中,并判断 是否为 0到 9 之间的 字符,若不是转退出;否则将 AL中内容减30H,转换为 相应数字的二进制数,并扩展到 AX中,然后将BX中内容乘 以10后,再加上AX中的内容。 (3)转( 2)继续执行 因此程序退出后,BX中的内容即为所输入十进制数的
13、二 进制值。例如:首先将BX清0后,先输入数字“5”,则(AL) =35H,属于0到9之间的数字,减 30H后,(AL)=05H,扩 展后,(AX)=0005H, BX乘以10后,加上AX中的内容,(BX) =0005H。 然后输入数字“ 8”,则(AL)=38H,属于0到9之间的 数字,减 30H 后,(AL)=38H,扩展后,(AX)=0008H,( BX) 乘以10后,加上AX中的内容,(BX)=0037H,为十进制数 “58”的二进制值。 十进制数显示过程如下(被显示的数据( 1 )将被 显示的内容送入 BX中; (2) BX除以1000,余数送BX,商在AL中,范围为09; 3)显示
14、 AL 中的内容; (4) (BX)除以100,余数送BX,商在AL中,范围为 09; ( 5)显示 AL 中的内容。以此类推,直到分离出个位 数字为止。 在这里有一个特殊问题需要讨论:例如“53” 这个十进制数,除以 1000 除以 100 的商都为 0,不应显示。 为了能够实现高位的“ 0”不显示,程序中设置一个标志M, 初始值都设置为 1 。若 M=1 且商为 0,则这个 0 不现实;若 M=1 且商不为 0,则说明这是第一个非 0 数字,开始显示, 并将M设置为0 ;若M=0, 篇三:汇编实验报告 汇编语言实验报告 学院:计算机学院 专业:网络工程 指导老师:纪平 实验一汇编语言程序调
15、试方法 一、实验目的 ,1 ,熟悉汇编语言运行环境和方法 2 ,了解如何使用汇 编语言编制程序 3 ,熟悉 debug 有关命令的使用方法 4 ,利 用 debug 掌握有关指令的功能 5 ,利用 debug 运行简单的程 序段 二、实验内容 1 ,学会输入、编辑汇编语言程序 2,学会对汇编语言程序进行汇编、连接和运行 3 ,进 入和退出 debug 程序 4,学会debug中的D命令、E命令、R命令、T命令、A 命令、G命令等的使用。对于 U命令、N命令、W命令等,也 应试一下。 三、实验准备 1,仔细阅读有关汇编语言环境的内容,事先准备好使 用的例子。 2 ,准备好程序清单、设计好调试步骤
16、、测试方 法、对运行结果的分析 3,编写一个程序:比较 2 个字符串所含的字符是否相 同。若相同则显示 Match. ,否则显示 No match! 。 4,仔细阅读有关 debug 命令的内容,对有关命令,都 要事先准备好使用的例子。 四、实验步骤 1, 在DOS提示符下,进入 masm目录。 2, 在MASM目录下启动edit编辑程序,输入源程序, 并对其进行汇编、连接和运行。 (1) 调用 edit 输入、编辑源程序并保存在指定的目 录中。例:edit abc.asm ( 2) 用汇编程序 masm对源程序 汇编产生目标文件 obj 。例: masm abc ( 3) 用连接程序 lin
17、k产生执行文件exe。例:link abc (4) 执行程序 3, 详细记录每一步所用的命令,以及查看结果的方法 和具体结果。 五、实验结果 1 ,输入 sample.asm 的源码 ;PROGRAM TITLE GOES HERE-Compare string * , * datarea segment ;define data segment string1db Move the cursor backward. string2db Move the cursor backward. ; mess1 db Match,13,10,$ mess2 db No match!,13,10,$ d
18、atarea ends * , * program segment ;define code segment main proc far assume cs:program,ds:datarea,es:datarea start: ;starting execution address ;set up stack for return to current pushds ;save old data segmentsub ax,ax ;put zero in AXpushax ;save it on stack;set DSregister data segment mov ax,datarea;datarea segment addr mov ds,ax ;into DS register mov es,ax ;into ES register;MAIN PART OF PROGRAMGOES HERE lea si,string1 lea di,string2 cld mov cx,25 repz cmpsb
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石油天然气运输公司经理在基层单位的考察讲话
- 大庆服务外包产业发展面临的问题及对策
- 公司职级体系管理制度
- 分布式条件下一种基于演化算法的聚类算法优化与应用
- 江苏开放大学2025春国家公务员制度期末复习3
- 2025授权代理协议样本
- 广西平果市2024-2025学年高二下册期中数学测试卷附解析
- 2024年四川绵阳中医药高等专科学校招聘真题
- 2024年滨州阳信县温店镇招聘乡村公益性岗位真题
- 陕西延长石油招聘笔试真题2024
- GB/T 28650-2012公路防撞桶
- GB/T 25820-2010包装用钢带
- 围手术期低体温护理研究进展课件
- 高质量心肺复苏
- 锅炉防磨防爆总结汇报课件
- 茶叶企业营销课件
- 井巷工程课程设计-2篇
- 经口鼻腔吸痰操作评分标准
- 某印刷有限公司安全逃生平面图
- 口腔执业医师解剖生理学试题b1型题
- DB14T1049.3-2021 山西省用水定额 第3部分:服务业用水定额
评论
0/150
提交评论