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

时间:2025-04-05

选填,简要介绍文档的主要内容,方便文档被更多人浏览和下载。

实 验 报 告

实验名称 专业班级:信息安全

学 号:

姓 名: | |

选填,简要介绍文档的主要内容,方便文档被更多人浏览和下载。

实验一 汇编语言上机过程和Debug常用调试命令

一. 实验目的:

学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行

程序的方法。

二. 实验题目:

熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)的

使用方法。在调试过程中,学习及掌握debug程序的各种操作命令。

三. 问题描述:

试编写一程序:比较两个字符串string1和string2所含的字符是否相同,若相同

则显示‘match’; 否则,显示‘no match’。

四. 方法说明:

a) 使用ws、tc或EDIT编辑程序来建立源文件,然后存盘,使系统返回DOS。 b) 用汇编程序masm(或asm)对源文件汇编产生目标文件obj

如:汇编指示出错则需重新调用编辑程序修改错误,直至汇编通过为止。 c) 用连接程序link 产生执行文件EXE. d) 执行程序,可直接从DOS执行程序。 e) 使用debug程序调试程序的方法。 五. 实验步骤:

1. 调用字处理程序EDIT 建立以sample.asm文件 datarea segment

string1 db ‘move the cursor backward.’ string2 db ‘move the cursor backward.’ mess1 db ‘Match..’,13,10,’$’ mess2 db ‘No match!..’,13,10,’$’ datarea ends prognam segment main proc far

assume cs:prognam,ds:datarea,es:datarea

start:

push ds sub ax,ax push ax mov ax,datarea mov ds,ax mov es,ax lea si,string1 lea di,string2 cld

mov cx,25

选填,简要介绍文档的主要内容,方便文档被更多人浏览和下载。

repz cmpsb jz match lea dx,mess2 jmp short disp

match:

lea dx, mess1 disp:

mov ah,09 int 21h ret main endp prognam ends

end start

2. 对源文件汇编产生目标文件obj

D:\masm 文件名。Asm

3.用连接程序link产生执行文件exe D:\link文件名。Obj 4.执行程序 D:\ 文件名

5. 使用debug程序调试程序的方法。 d>debug 文件名.exe _ 1. 2. 3. 4. 5. 6. 7. 8.

五、实验总结

第一次进行汇编实验,主要是学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法,只有多上机练习,才能更好的掌握汇编语言程序设计的思想。

用G命令运行程序 用U命令显示程序 学会设置断点。

学会查看数据段的内容情况D 用E命令修改数据区的字符串。 用A 命令把数据区的内容恢复原状 T命令逐条跟踪程序的执行

学会使用F命令、R命令、Q命令等等

选填,简要介绍文档的主要内容,方便文档被更多人浏览和下载。

实验二 循环程序设计1

循环结构是控制重复执行某一程序段的基本程序结构. 在汇编语言程序设计中, 循环程序的地位也是极为重要,从本质上来看, 循环程序结构是分支程序结构的一种手特殊形式, 也是使用条件转移指令来控制执行循环的.

一.实验目的:

学会用循环结构进行程序编程。

二.实验题目:

设计一个按表格形式显示ASC||码为10H—100H的所有字符的程序。

三.实验要求:

按15行*16列的表格形式显示ASC||码为10H----100H的所有字符,

即以行为主的顺序及ASC||码递增的次序依次显示对应的字符。每16个字符为一行,每行中的相邻两个字符之间用空白符(ASC||为0)隔开。

四.方法说明:

(1) 显示每个字符可使用功能号为02的显示输出功能调用,使用方法如下:

mov ah,02h mov dl,0AH int 21h

本题中可把dl 初始化为10H, 然后不断使其加1(用INC指令) 以取得下一个字符的ASC||码。

(2) 显示空白符时,用其ASC||码0置入dl 寄存器,每行结束时,用显示回车(ASC||为0dh)和换行符(ASC||为oah)来结束本行并开始下一行。 (3) 由于逐个显示相继的ASC||字符时,需要保存并不断修改dl寄存器的内容,而显示空白、回车、换行符时也需要使用dl寄存器,为此可使用堆栈来保存相继的ASC||字符。具体用法是:在显示空白或回车,换行符前用指令

push dx 把dl 的内容保存到堆栈中去。在显示空白或回车,换行符后用指令

pop dx 恢复dl寄存器的原始内容。

五、实验代码

stack segment

db 100 dup (?) stack ends

code segment assume cs:code,ss:stack start:

选填,简要介绍文档的主要内容,方便文档被更多人浏览和下载。

mov dl,10h mov cl,0fh loopc:

mov ah,02h mov al,dl int 21h

inc dl

push dx mov dl,0h

mov ah,02h mov al,dl int 21h

pop dx

loopnz loopc

push dx mov dl,0dh

mov ah,02h mov al,dl int 21h

mov dl,0ah

mov ah,02h mov al,dl int 21h

pop dx

mov cl,0fh

cmp dl,0h jne loopc

mov ah,4ch int 21h

code ends 六、实验结果

end start

选填,简要介绍文档的主要 …… 此处隐藏:9878字,全部文档内容请下载后查看。喜欢就下载吧 ……

汇编语言程序设计实验报告.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    Copyright © 2023-2025 学科文库 版权所有
    本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
    客服QQ:370150219 邮箱:370150219@qq.com
    苏ICP备16052595号-5

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219