汇编语言实验指导(7)

2019-06-17 11:11

实验六 循环程序是设计

一、实验目的:

1.灵活运用各类许循环指令,掌握循环程序的设计方法 2. 学会针对不同的问题,选用不同的组织循环的方法。 3.伪指令 EQU 及操作符 '$'的使用。 4. COM文件的要求和生成过程。 二、实验准备

1.编写任务要求的程序 2.学习COM文件的生成过程

code segment org

100h

cs:code,ds:code start

1234h,5673h,7fffh,8000h,0dffh 0ab5h,0369h,005fh,5634h,9069h $-array cx,count cx,1 cx bl,-1 dx,cx bl,bl exit bl,bl si,si

assume

main: array count start:

jmp dw dw equ mov shr dec mov

again: mov and je xor xor

30

again1: mov

cmp jle mov mov

nchg:

inc inc dec jnz

exit: code

int ends end

ax,array[si] ax,array[si+2] nchg array[si],ax bl,-1 si si dx again1 20h main

xchg array[si+2],ax

loop again

1)输入,汇编并连接此程序。忽略连接时的无堆栈告警。 2)用EXE2BIN将 .exe文件转换为 。COM文件,命令格式:

EXE2BIN? ???.EXE ????.COM

3)在DEBUG下运行此程序,记录运行结果。

4)思考:将转移指令JLE改为JBE,JGE和JAE,分别运行并记录排序结果。

三、实验任务

1.编写程序:将一个包含有20个有符号数据的数组arrayM分成两个数组,正数数组arrayP 和负数数组arrayN,并分别把两个数组中的数据个数显示出来

2.编程实现把键入的一个字符,用二进制形式(0/1)形式显示出它的ASCII码

四、 实验步骤

1. 用EDIT或其它编辑软件,编写.ASM源程序,

31

2. 对其进行汇编及连接,产生.EXE文件。 3. 对.EXE文件进行调试运行。 4. 在MS-DOS下运行这两个.EXE文件。

五、实验报告要求

1. 画出任务1,2 两个程序的流程图,列出相应的程序清单。 2. 说明本实验是如何利用DEBUG进行调试的

32

实验七 子程序设计

一、实验目的:

1.掌握子程序设计方法。

2.掌握调用程序与子程序间参数传递的几种方法。

二、 实验准备

(1) 预习子程序设计的基本方法,根据实验任务要求,画出子程

序及主程序的流程图。

(2) 熟悉键盘键入字符串及用堆栈传送参数的程序段编制方法。

三、实验任务

1.编制一个子程序把一个十六位二进制数用十六进制形式在屏幕上显示出来,采用堆栈方法传递这个二进制数,并用一个主程序验证它。 2.设有一个数组存放学生的成绩(0~100),编制一个子程序统计0~59分,60~69分, 70~79分, 80~89分,90~100分的人数,并分别存放到scoreE, scoreD, scoreC, scoreB, scoreA单元中,编写一~个主程序与之配合使用。

四、 实验步骤

1. 用EDIT或其它编辑软件,编写.ASM源程序, 2. 对其进行汇编及连接,产生.EXE文件。 3. 对.EXE文件进行调试运行。 4. 在MS-DOS下运行这两个.EXE文件。

五、实验报告要求

1. 画出任务1,2 两个程序的流程图,列出相应的程序清单。

2.说明本实验是如何利用DEBUG进行调试的 3.说明用堆栈传送参数的过程及其具体方法。

4.分析实验结果及所遇到问题,并说明解决的方法。

33

附录:汇编语言试卷一

一、单项选择题(本大题共20小题,每小题1分,共20分) 1.CPU要访问的某一存储单元的实际地址称( )

A.段地址 B.偏移地址 C.物理地址 D.逻辑地址 2.某存储单元的物理地址是12345H,可以作为它的段地址有( ) A.2345H B.12345H C.12340H D.1234H 3.执行后使BX=0的同时也使CF=0,OF=0的指令是( ) A.XOR BX,BX B.OR BX,BX C.AND BX,BX D.CMP BX,BX

4.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是( ) A.CX≠0且ZF=1 B.CX≠0且ZF=0 C.CX≠0或ZF=1 D.CX≠0或ZF=0

5.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是( ) A.DAA校正指令的功能已自动加在AH中

B.进位值在AF中,校正后根据AF内容再加在AH中 C.进位值在CF中,校正后根据CF内容再加在AH中

D.进位值在AL最高位上,校正后根据AL最高位内容再加在AH中 6.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是( )

A.指令XOR AX,AX执行后,AX内容不变,但设置了标志位 B.指令OR DX,1000H执行后,将DX最高位置1,其余各位置0 C.指令AND AX,OFH执行后,分离出AL低四位 D.NOT AX,执行后,将AX清0

7.在执行下列指令时,需要使用段寄存器DS的指令是( ) A.STOSW B.ADD AL,CL C.NEG BX D.INC DA[BX] 8.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是( )

A.ADD BH,01H B.OR BH,01H C.XOR BH,01H D.TEST BH,01H 9.完成对CL寄存器的内容乘以4的正确操作是( ) A.ROL CL,1 B.MUL 4 ROL CL,1

34


汇编语言实验指导(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:生态学理念在室内装潢设计中的应用

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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