汇编实验报告,()(例文)

上传人:hong****2021 文档编号:53318361 上传时间:2022-02-10 格式:DOCX 页数:9 大小:20.64KB
收藏 版权申诉 举报 下载
汇编实验报告,()(例文)_第1页
第1页 / 共9页
汇编实验报告,()(例文)_第2页
第2页 / 共9页
汇编实验报告,()(例文)_第3页
第3页 / 共9页
资源描述:

《汇编实验报告,()(例文)》由会员分享,可在线阅读,更多相关《汇编实验报告,()(例文)(9页珍藏版)》请在装配图网上搜索。

1、本文格式为Word版,下载可任意编辑汇编实验报告,()(例文) 汇编语言程序设计 试验报告 2021 年 11 月FGL 试验一:汇编语言运行环境及方法、简洁程序设计 I: 试验要求: 1、绘制程序流程图 2、结合你的调试过程,整理其中用到的 debug 命令的使用方法和效果截图,并解释每一步骤的结论 3、调试中遇到的问题及解决方法 II:详细试验过程: a.程序流程图 1、 开头 输入源程序 依据试验步骤进行汇编 比较 string1与 string2 输 出 NO 输出 Match 结束 b.调试过程及 debug 命令使用方法 -u 命令反汇编: -g0b -d0:查看数据段内容 -g:

2、执行完程序显示结果 依据数据段显示的数据内容可知,在;两字符串分别为Move the cursor backward.和Move the cursor dackward.,因而可依据 debug 命令中的-e 将其次个字符串中的 d 修改为 b 则可使结果显示为 MATCH!详细步骤如下: 如下图所示,对内存中 1436:0029 的存储单元进行-e29 命令修改的前后数据的显示,可看到已经将 d 修改为 b,从而-g 命令运行的结果是 Match.(注:-a 和-f命令亦可修改数据区内容但使用时有肯定的区分) -q 命令退出 debug 调试: -t 命令的单步调试:(该过程中 IP 不断变

3、化着 ) 试验二:用 DEBUG 编程:使用堆栈段将 AX 和 BX 的内容进行交换等 I: 试验要求: 1、任务 1 的指令序列 2、整理本次试验中用到的 debug 命令的使用方法及效果截图 II: 试验目的: 1、 娴熟把握 DEBUG 的常用命令,学会用 DEBUG 调试程序。 2、把握数据在内存中的存放方式和内存操作数的几种寻址方式。 3、把握简洁指令的执行过程。 III: 试验内容: 任务一、设堆栈指针 SP=2021H,AX=3000H,BX=5000H;请编一程序段将 AX 和 BX 的内容进行交换。请用堆栈作为两寄存器交换内容的中间存储单元,用 DEBUG 调试程序进行汇编与

4、调试。 任务二、设 DS=当前段地址,BX=0300H,SI=0002H;请用 DEBUG 的命令将存储器偏移地址 300H304H 连续单元挨次装入 0AH,0BH,0CH,0DH,0EH。在 DEBUG 状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时,AX 中的内容是什么。 程序清单如下: MOV AX,BX MOV AX,0304H MOV AX,0304H MOV AX,BX MOV AX,0001BX MOV AX,BXSI MOV AX,0001BXSI HLT IV.详细试验过程: 任务 1 -r 命令显示当前各寄存器的内容: - -a a

5、 命令编写指令: - -g g 命令从 183E :0 0100 出开头执行之前编写的指令: - -t t 命令进行单补调试过程(执行 mov sp , 2021 ): - -t t 执行 mov ax , 3000 - -t t 执行 mov bx , 5000 - -t t 执行 push ax - -t t 执行 mov ax , bx - -t t 执行 pop bx( 完成 ax 、b bx x 交换) ) 任务二: - -r r 命令符查看没设置前各寄存器的值: - -a a 编写指令设置寄存器 si 、 bx 、s ds 值的代码: - -r r 设置完成后寄存器的值: - -d

6、 d 开头时 183e :0 300 中存储的数据: - -e e 命令修改后的偏移地址 300- -4 304 被转入 0A 、 0B 、 0C 、 0D : 完成上述操作后在 g debug 中输入试验中的代码的执行过程 - -a a 在 在 g debug 中输入试验中给出的程序代码: - -g g 命令开头从 13AE :6 0106 编写的指令(- -t t 单步执行的过程): 可以看出执行完全部指令后 X AX 的 内容是 0E0D. 试验三:存储器块清零和内存块移动 I:要求: 1、使用串处理指令写出完成试验任务 1、2 的完整程序(要求从高地址开头,用地址减一的方式操作;不要使

7、用过程写法;任务完成后要能返回操作系统) 2、调试中遇到的问题及解决方法 II:试验任务: 任务一:存储器块清零 任务二:存储块移动 III:试验详细过程: 试验任务一 程序代码: data segment block db 256 dup(55h) data ends code segment assume cs:code,ds:data start proc near mov ax,data ; 对段寄存器给值 mov ds,ax mov bx,offset block ; 起始地址 mov bx,255 ; 目的是实现从高地址向低地址清零 mov cx,256 ; ;清 清 6 256

8、字节 again: mov bx,byte ptr 0 ; 字节填充 0 0 dec bx Loop again ; 计数加一 mov ah,4ch int 21h code ends end start 执行过程截图: -u 显示试验指令: 由于指令中存在循环指令,故-915 从循环之后查看 ds 的值 依据 ds 的值查看内存中数据可推断存储器已完成清零: 程序正常返回操作系统: 试验任务二 程序代码: data segment source db 256 dup(055h) target db 256 dup(0aah) data ends code segment assume cs:

9、code,ds:data,es:data start proc near mov ax,data mov ds,ax mov es,ax mov si,offset source mov di,offset target mov cx,256 rep movsb mov ah,4ch int 21h code ends end start 试验过程: - -u u 反汇编查看程序指令: - -0 g10 查看没移动前指定内存中的数据值: -g12 查看执行 b rep movsb 之后指定内存中的数据值可看出完成交换: 试验四:将键盘输入的小写字母用大写字母显示出来 I: 要求: 1、写出源程

10、序清单并附上执行效果截图 2、调试中遇到的问题及解决方法 II: 试验目的: 1、把握接受键盘数据的方法,并了解将键盘数据显示时,须转为ASCII码的原理。 2、把握 DOS 功能调用的编程方法。 III: 试验内容: 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。 IV: 编程提示: 利用 DOS 功能调用 INT21H 的 1 号功能从键盘输入字符和 2 号功能在显示器上显示一个字符。 V:试验详细过程: 试验代码: data segment string1 db Input error!Please input between a to z!,0ah,0dh,$ s

11、tring2 db $ ; S DOS 功能调用 H int 21H 中 中 9 9 号功能要求的要显示字符串的结束标志。 data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax L0: mov ah,1 ; 从键盘输入一个字符(1 int21 的 的 1 1 号功能) int 21h cmp al,0dh ; ; 检验寄存器中的值是不是十进制的 13 (p cmp ) 指令的使用!) jz exit cmp al,a jae L1 ; 假如大于等于 a, 则转到 1 L1 处执行 jb L3 ; 假

12、如小于 a, 则转到 3 L3 处执行 L1:cmp al ,z ;与 与 z z 相比 jna L2 ; 小于等于 z z 则转到 2 L2 处执行 ja L3 ; 大于 z z 则转到 3 L3 处执行 L2:sub al,20h ;al=al- - 20h mov cl,al lea dx,string2 mov ah,9 int 21h mov dl,0 mov dl,cl mov ah,2 ; 输出 L DL 寄存器里面的内容(1 int21 的 的 2 2 号功能) i i nt 21h mov dl,0ah ;0ah 表示回车 mov ah,2 int 21h h mov dl,0dh ;0dh 表示换行 mov ah,2 int 21h jmp L0 L3: lea dx,string1 mov ah,9 ; 输出字符串(1 int21 的 的 9 9 号功能) int 21h jmp L0 exit : mov ah,4ch ; 返回 DOS int 21h code ends end start -u 反汇编查看内存中对应的源程序: -g 执行程序,及其正确的测试结果: 错误的测试结果 回车结束程序,返回操作系统: 第 9 页 共 9 页

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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