云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 汇编语言程序设计实验指导书

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

  • 62 次阅读
  • 3 次下载
  • 2025/5/28 3:48:26

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

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

搜索更多关于: 汇编语言程序设计实验指导书 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

《汇编语言》实验指导书 二、实验内容 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

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com