汇编语言与接口技术实验总结-A卷 下载本文

内容发布更新时间 : 2024/12/29 12:30:42星期一 下面是文章的全部内容请认真阅读。

在D:盘以考生的学号+姓名创建一个考试文件夹ASM,按下面各题的要求将所要创建的文件保存于该文件夹中,答题结束后将文件夹提交到服务器。

一、 实验操作题

1、 将内存单元4000:2000H开始的32个单元的内容全部填充为字符’A’ 。

答题要求:创建一个名为“操作一.DOC”的文件,将本题的操作过程截图到该文中,保存于文件夹。

2、 将标志寄存器的进位标志和溢出标志修改为有进位、有溢出 。 答题要求:创建一个名为“操作二.DOC”的文件,将本题的操作过程截图到该文件中,保存于文件夹。P70

3、 在 内存2000:1000H处开始输入如下指令:

MOV AX,1200 MOV BX,3500

ADD AX,BX 完成指令的反汇编并从2000:1000H运行到2000:1008H处。

答题要求:创建一个名为“操作三.DOC”的文件,将本题的操作过程截图到该文件中,保存于考试夹。

第 1 页 共 6 页

二、程序调试

1、下面程序完成运算:X+Y*Z→M,理解并调试程序,并在指令后的注解括号中填入修正后的正确语句。(10分)

答题要求:在汇编语言编译环境中新建一个名为“调试一.ASM” 的程序,将下面的程序代码复制到该程序中,修改错误语句并在相应的注解括号中填写正确的语句后,保存于文件夹中。

DATAS SEGMENT

X DB B2H ;( X DB 0B2H ) Y DB 40 Z DB 50 M DW ? DATAS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS

START: MOV AX,DATAS MOV DS,AX MOV AL,Y MOV CL,Z

MUL AL,CL ;( MUL CL ) MOV BX,AX MOV AL,X

CWD ;( CBW ) ADD AX,BX

MOV M,AX

MOV AL,4CH ;( MOV AH,4CH )

第 2 页 共 6 页

INT 21H

CODES ENDS END START

2、下面程序中X、Y、Z、RESULT是带符号的字变量,程序的功能是:先将X求负,再将X和Y相或,然后对与的结果和Z求平均值,最后将运算结果保存在RESULT单元中。要求开辟200个字节的堆栈空间。理解并调试程序,修正其中的错误,并在指令后的注解括号中填入修正后的正确语句。

答题要求:在汇编语言编译环境中新建一个名为“调试二.ASM” 的程序,将下面的程序代码复制到该程序中,修改错误语句并在相应的注解括号中填写正确的语句后,保存于文件夹中。

DATAS SEGMENT

X DB 1212H ;( DW 1212H ) Y DW 2233 H

Z DW 5678 RESULT DW ? DATAS ENDS

STACKS SEGMENT

DB 200DUP(?) ; ( DB 200 DUP(?) ) STACKS ENDS CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS START:

MOV AX,DATAS MOV DS,AX MOV AX,X

NEG AX AND AX,Y ADD AX,Z

SHR AX,1 ;( SAR AX,1 ) MOV RESULT,AX MOV AH,4CH

INT 21 ;( INT 21H ) CODES ENDS END START

3、下面程序的功能是: X和Y分别是内存中两个字符串变量,X指向的是”HELLO” ,编程是实现将X指向的字符串复制到Y指向的内存区域。理解并调试程序,修正其中的

第 3 页 共 6 页