第一范文网 - 专业文章范例文档资料分享平台

汇编语言程序设计实验指导书

来源:用户分享 时间:2025/8/10 16:15:01 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

《汇编语言》实验指导书 二、实验内容

1、编写一个程序,将内存1000H开始的连续100个字节送往2000H开始的连续100个内存单元中。要求使用三种不同的方法(不用串操作指令、用单一的串操作指令、用带重复前缀的串操作指令),下面已给出一种实现方法,请给出另外两种方法的程序清单:

实验程序参考清单: DATA SEGMENT

ORG 1000H

DB 100 DUP(‘A’) ORG 2000H DB 100 DUP(‘B’) DATA ENDS

CODE SEGMENT ASSUME Ds:DATA,ES:DATA,CS:CODE START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV SI,1000H MOV DI,2000H MOV CX,100 CLD REP MOVSB MOV AH,4CH INT 21H CODE ENDS END START

2、在数据段变量名为A的数据区内有10个字符,编程实现将这10个字符以相反次序传送到附加段变量名为B的内存区中。

源程序已部分给出,请将程序补充完整,并调试运行结果。 data segment

A db '1234567890' n equ $-a

B db n dup(?) data ends code segment

assume cs:code,ds:data,es:data start:

mov ax,data mov ds,ax mov es,ax lea si,a lea di,b add di, mov cx, move:

-

12

《汇编语言》实验指导书 mov al,[si]

mov es:[di],al inc si

loop move mov ah,4ch int 21h code ends end start

3、对string1和string2两个字符串进行比较,若串相同,在result单元中置0,否则置-1。以下是部分程序,请将程序补充完整,并调试运行程序。

mov si,offset string1 mov di,offset string2 mov cx,count cld

again: cmpsb ;比较两个字符 jnz unmat ;有不同字符,转移 dec cx jnz again ;进行下一个字符比较 mov al,0 ;字符串相等,设置00h jmp output ;转向output unmat: mov al,0ffh ;设置ffh output: mov result,al ;

4、以下是在一字符串中查找某一字符的程序,若找到了,将0送入BX寄存器中;若未找到,将-1送入BX寄存器中。程序中有空缺的地方,请补充完整并调试运行。 data segment

string db 'howareyou?' count equ $-string data ends code segment

assume cs:code,ds:data,es:data start:

mov ax,data mov ds,ax

mov di,offset string mov al,20h mov cx,count cld scasb jz found mov bx,-1

- 13

《汇编语言》实验指导书 jmp exit

found: mov bx,0

exit: mov ah,4ch int 21h code ends

end start

5、数据段开始区域中,连续存放着10个无符号数,编程序找出这10个数中最大的一个数,并将其存到该数据区的后面。 五、实验要求:

1、写出以上程序的源程序清单。

2、写出观察实验结果的DEBUG调试命令。 五.实验报告要求

1、列出程序清单和执行结果;

2、分析实验中所遇到的一些问题。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。

实验6 DOS中断调用程序设计

一.实验目的

1、了解DOS中断功能调用的概念;

2、掌握使用INT 21H中断的1#、2#、9#和10#功能调用。 二.实验内容与要求

1、从键盘键入10个字符,然后以与键入相反的顺序输出。 源程序如下: DATA SEGMENT

info1 db 0dh,0ah,'input string: $' info2 db 0dh,0ah,'output string: $' STR DB 20 dup(?) DATA ENDS

STACK SEGMENT STACK DB 100 DUP(0) STACK ENDS CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK BEGIN: MOV AX,DATA MOV DS,AX xor si,si xor cx,cx lea dx,info1 mov ah,9 int 21h next: mov ah,1

-

14

《汇编语言》实验指导书 int 21h

test al,'0' jz disp1

mov str[si],al inc si inc cx jmp next disp1:

LEA DX,info2 MOV AH,9 INT 21H

disp2: mov dl,str[si] mov ah,2 int 21h dec si

loop disp2 mov dl,str[si] int 21h MOV AH,4CH INT 21H CODE ENDS

END BEGIN

执行以上程序,观察执行结果。

2、从键盘输入一个字符,判断其是不是大写字母,如果是则请输出这个大写字母,如果不是,请输出“这不是一个大写字母”的英文信息(要求:能连续输入)。

3、编程实现查找子串。要求从键盘输入两个不等的字符串,查找长串中是否包含短串,若包含,则输出“Y”,否则输出“N”。(字符串自行定义)

三.实验报告要求

1、程序说明。说明程序的功能、结构。

2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。

3、写出源程序清单和执行结果,并给出程序流程图。 4、分析实验结果及所遇到的问题的解决方法。 5、体会和意见。

实验7 子程序设计

一.实验目的

1、掌握主程序与子程序之间的调用关系及其调用方法; 2、掌握子程序的调用与返回的方法;

3、掌握CALL指令的使用方法。掌握子程序设计、编写、调试和运行的方法; 4、了解子程序的嵌套与递归。 5、了解参数传递的三种不同方法

- 15

搜索更多关于: 汇编语言程序设计实验指导书 的文档
汇编语言程序设计实验指导书.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c5bqsu59ire5ap1c1l9je_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top