东华大学微机实验报告答案(软件)

合集下载

东华大学数据结构上机实验报告

东华大学数据结构上机实验报告

东华大学信息科学与技术学院实验报告实验名称:线性表的基本操作指导教师:学生姓名:学生学号:实验日期:2012/11一、实验目的1、熟悉C或VC++语言上机环境。

2、会定义线性表的顺序存储结构和链式存储结构。

3、熟悉顺序表和单链表的一些基本操作和应用。

4、加深对线性表的理解,逐步培养解决实际问题的编程能力。

二、实验环境运行C或VC++的微机。

三、实验内容:分别使用顺序表和单链表存储结构实现以下操作:1.建立线性表L={12,13,21,24,28,31,42,77};2.在第5个元素之前插入26;3.删除第5个元素28;4.查找28。

四、实验设计思路及算法流程(一)使用顺序表实现操作:建立顺序表,完成顺序表的基本操作:初始化、插入、删除、输出、查找元素、判线性表是否为空;问题分析:利用顺序表,设计一组输入数据,能够对顺序表进行如下操作:创建一个新的顺序表,实现动态空间分配的初始化;已给定的值插入到指定位置和删除指定位置的值,形成有序顺序表;按值查找,根据给定数据元素的值,查找该元素的位置,对查找结果进行返回;实现顺序表的各个元素的输出;“初始化算法”的操作结果:构造一个空的顺序线性表,对顺序表的空间进行动态管理,实现动态分配、回收和增加存储空间;“位置插入算法”的初始条件:顺序线性表L已存在,给定的元素位置为i,且1≤i≤ListLength(L)+1 ;其操作结果:在L中第i个位置之前插入新的数据元素e,L的长度加1;“位置删除算法”的初始条件:顺序线性表L已存在,1≤i≤ListLength(L) ;其操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减1 ;“输出算法”的初始条件:顺序线性表L已存在;其操作结果:依次对L的每个数据元素进行输出;“按值查找算法”初始条件:顺序线性表L已存在,元素值为e;其操作结果:返回L 中数据元素值为e的元素位置;线性表的顺序存储结构的定义及其基本操作的参考程序(顺序表)文件一:pubuse. h 是公共使用的常量定义和系统函数调用声明。

东华大学2018年软件测试(姚砺)试题带答案

东华大学2018年软件测试(姚砺)试题带答案

选择题部分㈠单项选择题(1) 以下不属于软件测试的作用的是:A) 可以减少软件系统在运行环境中的风险B) 可以提高软件系统的质量C) 可能是为了满足合同或法律法规的要求D) 可以用于评价开发团队的能力(2) 在判断测试是否足够时,下列哪些方面是不需要考虑的?A) 风险B) 项目在时间上的限制C) 项目在预算上的限制D) 投入的测试人员的数量(3) 以下哪个不是软件测试的目标?A) 发现缺陷B) 增加对质量的信心C) 为决策提供信息D) 改进测试流程(4) 以下哪些是测试出口准则A) 代码测试覆盖率B) 客户需求的实现C) 功能测试覆盖率D) 缺陷发现率E) 以上都是(5) 软件测试基本过程有哪些主要活动组成?(1) 计划和控制(2) 分析和设计(3) 实现和执行(4) 评估出口准则和报告(5) 测试结束活动(A) 1,3,5 (B) 1,2,3 (C) 2,3,4,5 (D) 1,2,3,4,5(6) 下面哪个通常不作为组件/单元测试的测试依据?(A) 组件需求说明(B) 详细设计文档(C) 代码(D) 软件和系统设计文档(7)下面关于等价类和的说法错误的是?(A) 等价类划分可以分为两种类型的数据:有效数据和无效数据。

(B) 等价类划分也可以基于输出、内部值、时间相关的值以及接口参数等进行(C) 等价类技术属于基于规格说明的测试技术(D) 等价类划分主要应用于系统测试(8)以下哪个不属于良好的测试应该具有的特点?(A) 每个开发活动都有相对应的测试活动(B) 每个测试级别都有其特有的测试目标(C) 对于每个测试级别,需要在相应的开发活动过程中进行相应的测试分析和设计(D) 在开发生命周期中,测试员应该在文档正式发布后再参与文档的评审(9)在评审过程中,主持人的主要职责是?(A) 决定是否需要进行评审(B) 主持文档或文档集的评审活动(C) 标识和描述被评审产品存在的问题(如缺陷)(D) 记录所有的事件、问题(10)下面关于测试设计技术的描述错误的是?(A)使用测试设计技术的目的是为了识别测试条件和开发测试用例(B)黑盒测试设计技术是依据分析测试基础文档来选择测试条件、测试用例或测试数据的技术。

东华大学微机系统及应用习题参考答案(第一章)

东华大学微机系统及应用习题参考答案(第一章)

微机系统及应用习题参考答案第一章计算机基础知识1-3 写出下列机器数的真值(1)01101110 真值=+1101110B=+110(2)10001101 真值=-0001101B=-13(3)01011101 真值=+1011001B=+89(4)1100110 真值=-1001110B=-781-4 写出下列二进制数据的原码、反码和补码(设字长为8位)(1)+010111原码=反码=补码=00010111(2)+101011原码=反码=反码=00101011(3)-101000原码=10101000 反码=11010111 补码=11011000 (4)-111111原码=10111111 反码=11000000 补码=110000011-5 写出等效的十进制数值:(1)[X]原=[X]反=[X]补= 0001110 真值X=+14(2)[X]原=11111111 真值X= -127[X]反= 11111111 真值X= -0[X]补= 11111111 真值X= -1(3)[X]原= 10000000 真值X=-0[X]反= 10000000 真值X=-127[X]补= 10000000 真值X=-128(4)[X]原=10000001 真值X= -1[X]反= 10000001 真值X=-126[X]补= 10000001 真值X= -1271-6 计算下列各式(1)00020200+00100001= 00110101(2)00010100+00100001=00110101(3)11101100+00100001=00001101(4)11101100+ 11011111=11001011(5)00010100+10111110=11010010(6)11101100+ 11111100=111010001-7用补码来完成下列计算,并判断有无溢出产生(字长8位)(1)85+6001010101+ 0011110010010001CS=0 CP=1 CS XOR CP=1 所以产生溢出OV=1(2)-85+60+0011110011100111CS=0 CP=0 CS XOR CP=0 无溢出(3)85-6001010101+110001001 00011001CS=1 CP=1 CS XOR CP=0 无溢出(4)-85-6010101011+ 110001001 01101111CS=1 CP=0 CS XOR CP=1 产生溢出1-8补码加法判断有无溢出(1)01001010+01100001 = 10101011 Cp=1,Cs=0 有溢出(2)01101100 —01010110=01101100+10101010=00010110Cp=1,Cs=1 无溢出1-9 转换BCD码(1)30D = (00110000)BCD (2)127D = (000100100111) BCD (3)00100010B=34D=(00110100) BCD (4)74H=116D=(000100010110) BCD 1-10 ASCⅡ码表示的字符41H =’A’ ; 71H=’r’ , 65H=’e’ , 20H=SP1-11 字符的ASCⅡ码‘9’= 39H , ‘*’= 2AH , ‘=’ = 3DH , ‘$’ = 24H , ‘ !’ = 21H1-12 加偶校验的字符的ASCⅡ码‘9’: 39H ; ‘*’:AAH ; ‘=’ : BDH‘$’ : 2DH ; ‘!’ : 21H1-13 补码表示的定点小数时,数值范围为-1 ——+(1- 2-9)补码表示的定点整数时,数值范围为-29 ——+ (—29–1)—补码表示阶码,原码表示尾数时,数值范围为-27 (1-2-5) ——+27 (1-2-5) 1-14试将下列数表示成浮点的规格化数。

东华大学微机实验原理实验报告

东华大学微机实验原理实验报告

实验一基本程序编程和程序调试一、实验目的1、掌握数码转换等基本程序设计的技巧和方法。

2、熟悉DEBUG命令。

3、学会和掌握用DEBUG调试程序的方法。

二、实验设备PC机一台,装有DOS基本系统三、实验内容及步骤用DEBUG建立、汇编和运行调试程序的操作。

DEBUG是DOS系统支持的用于汇编语言源程序调试的系统软件。

它共有19条命令完成相应的功能,命令及其格式可参阅附录一。

(一)DEBUG操作练习1)实验调试程序程序的功能是从3500H内存单元开始建立0-15共16个数据。

程序如下:地址(H)机器码(H)助记符2000BF0035MOV DI,35002003B91000MOV CX,00102006B80000MOV AX,000020099E SAHF200A8805MOV BYTE[DI],AL200C47INC DI200D40INC AX200E27DAA200F E2F9LOOP 200A2011F4HLT2)实验步骤:(1)输入与修改①启动DOS,在DOS提示符下输入D E B U G后回车,屏幕立即显示DEBUG提示符“—”,表明已进入DEBUG状态,可以执行DEBUG的各种命令。

②用DEBUG中的汇编命令“A 地址”将程序建立在内存单元中。

在提示符“—”下键入:“A 2000 ”此时显示器上将会显示程序的段地址CS和偏移地址IP,你就可以输入以上的程序了。

即显示169C :2000 键入MOV DI,3500169C:2003 MOV CX,0010169C:2011HLT:::③用反汇编命令“U 地址”检查程序在提示符“—”下,键入“U 2000↵”,将从2000内存单元开始的内容反汇编,屏幕上显示169C:2000 BF0035 MOV DI,3500169C:2003 B91000 MOV CX,0010169C:2006 B8000 MOV AX,0000::::::169C:2011 F4 HLT当发现程序有错时,可用汇编命令“A 地址”进行修改,如要修改200A单元中的指令,则键入“A 200A↵”,屏幕显示169C:200A ,然后再键入MOV BYTE[DI],AL↵,就把错误的程序改正了。

东华大学微机上机三道解答题程序(C语言)

东华大学微机上机三道解答题程序(C语言)

截距: b=%f\n\n\n",m,b);
义慧
迭ቤተ መጻሕፍቲ ባይዱ求根:
#include<stdio.h> #include<math.h> int main() { int m=0,n; float i,A,B,x,x1,y1,y2,f,fx,a,b,c,d,s,eps,f1,f2; printf("请输入精度 eps:\n"); scanf("%f",&eps); printf("请依次输入 a,b,c,d 的值\n"); scanf("%f,%f,%f,%f",&a,&b,&c,&d); printf("输入区间等分数:n\n"); scanf("%d",&n); printf("输入区间初始值 A=、B=:\n"); scanf("%f,%f",&A,&B); for(i=1;i<=n;i++) { y1=A+(i-1)/n*(B-A); y2=A+i/n*(B-A); f1=a*y1*y1*y1+b*y1*y1+c*y1+d; f2=a*y2*y2*y2+b*y2*y2+c*y2+d; if(f1*f2<=0) { x=(y1+y2)/2; loop:f=a*x*x*x+b*x*x+c*x+d; fx=3*a*x*x+2*b*x+c; x1=x-f/fx; m=m+1; s=(x-x1)/x; if(fabs(s)>eps) { x=x1; goto loop; } else { printf("x=%f\n",x1); printf("m=%d\n",m); } } } return 0; }

东华大学微机实验报告答案(软件)

东华大学微机实验报告答案(软件)

目录实验一DEBUG的启动及其基本命令的使用实验二内存操作数及寻址方法实验三汇编语言程序的调试与运行实验四查表程序设计实验五系统功能调用实验六分支程序设计实验七循环程序设计实验八子程序设计实验九综合程序设计实验心得体会参考文献实验一 DEBUG的启动及其基本命令的使用源程序:(指导书中给出)DA TA SEGMENTSTRING1 DB 'Move the cursor backward'STRING2 DB 'Move the cursor backward'MESS1 DB 'Match.',13,10,'$'MESS2 DB 'No Match.',13,10,'$'DA TA ENDSSTACK SEGMENT STACKDB 40 DUP (?)STACK ENDSPROGNAM SEGMENTASSUME CS:PROGNAM,DS:DA TA,ES:DA TA,SS:STACKMAIN PROC FARSTART: PUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV ES,AXMOV AX,STACKMOV SS,AXLEA SI,STRING1LEA DI,STRING2CLDMOV CX,25REPZ CMPSBJZ MA TCHLEA DX,MESS2JMP SHORT DISPMATCH: LEA DX,MESS1DISP: MOV AH,09hINT 21HRETMAIN ENDPPROGNAM ENDSEND START运行结果:用DEBUG调试将输出字符串改为‘No Match’用E指令修改“backward”为“forward”再次用d命令查看修改结果。

用g命令运行程序实验二内存操作数及寻址方法1、(1)程序说明:设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。

东华大学微机系统及原理实验报告

微机系统及应用实验实验报告实验一DEBUG的启动及其基本命令的使用实验内容:6:设堆栈指针SP=2000H,AX=3000H,BX=5000H;请仿照例程的格式编一程序段将AX和BX的内容进行交换。

请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试。

写出在DEBUG状态下编写、运行步骤6所要求的程序过程(要求包含源程序)以及调试所中遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。

程序清单:STACK SEGMENT STACKDB 2003H DUP(0)STACK ENDSCODE SEGMENTASSUME CS:CODE,SS:STACKSTART: MOV AX,STACKMOV SS,AXMOV SP,2000HMOV AX,3000HMOV BX,5000HPUSH AXMOV AX,BXPOP BXMOV AH,4CHINT 21HCODE ENDSEND START运行及调试:进入调试后,运行正常。

进行反汇编调试:通过追踪指令观察SP、AX、BX变化可知对SP、AX、BX赋值正确。

将AX入栈后用显示内存单元内容的命令D观察堆栈段中SP为1FFF,2000的内容[1FFF]=00 ,[2000]=30 说明已经AX=3000已经放入到堆栈段中。

结果可以看出:AX=5000,BX=3000结果完成正确!实验二内存操作数及寻址方法实验内容:1、设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。

请用堆栈作为两寄存器交换内容的中间存储单元,用字处理程序编辑程序,用masm.exe和link.exe对源程序进行汇编程和连接,用DEBUG 调试程序。

2、用masm和link 对以下程序进行汇编和连接,调试程序在DEBUG调试程序状态下进行。

用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时,AX中的内容是什么。

微机实验报告 东华

微机实验报告东华东华微机实验报告一、引言微机作为现代科技的重要组成部分,已经广泛应用于各个领域。

本次实验旨在通过对东华微机的实验,深入了解微机的结构和工作原理,提高我们对计算机系统的认识和理解。

二、实验目的1. 了解东华微机的硬件结构和主要组成部分;2. 掌握微机的工作原理和基本操作;3. 进一步理解微机的编程和应用。

三、实验内容1. 东华微机的硬件结构东华微机的硬件结构主要包括中央处理器(CPU)、内存、输入输出设备等。

其中,CPU是微机的核心部件,负责执行各种指令和控制微机的运行。

内存用于存储数据和程序,输入输出设备则用于与外部环境进行信息交互。

2. 微机的工作原理微机的工作原理是基于冯·诺依曼体系结构的,即将程序和数据存储在同一存储器中,并通过控制器和运算器来执行指令。

当微机启动时,CPU会从内存中读取指令,并按照指令的要求进行操作。

3. 微机的基本操作通过对东华微机的实验,我们可以学习到微机的基本操作。

包括启动和关机,输入和输出数据,以及运行程序等。

这些基本操作是我们日常使用微机时必须掌握的。

四、实验步骤1. 启动东华微机按下电源按钮,等待微机启动。

在启动过程中,我们可以观察到屏幕上显示的启动信息,以及听到微机发出的声音。

2. 输入数据通过键盘输入一组数据,例如数字或字母。

输入完成后,按下回车键确认。

3. 运行程序选择一个程序,并按下运行按钮。

在程序运行过程中,我们可以观察到屏幕上的变化,以及听到微机发出的声音。

4. 输出结果程序运行结束后,我们可以通过屏幕或打印机等输出设备查看程序的运行结果。

五、实验结果与分析通过对东华微机的实验,我们可以获得一些实验结果。

例如,输入的数据是否被正确接收,程序是否能够正常运行,以及输出结果是否符合预期等。

通过对实验结果的分析,我们可以判断微机的工作状态和性能。

六、实验总结通过本次实验,我们对东华微机的硬件结构和工作原理有了更深入的了解。

同时,我们也掌握了微机的基本操作和应用。

微机实验报告答案

《微机原理与接口技术》实验报告系部:指导教师:学号:姓名:实验一 8255A并行口实验A一、实验目的⑴掌握8255A和微机接口方法。

⑵掌握8255A的工作方式和编程原理。

二、实验内容用8255 PA作开关量输入口,PB作输出口。

三、程序框图四、实验电路五、实验程序;--------------8255A并行口实验(2) PA输入,PB输出-------------CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODEORG 32E0HPA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHH2: MOV DX,PCTLMOV AL,90HOUT DX,ALP2: MOV DX,PAIN AL,DXINC DXOUT DX,ALJMP P2CODE ENDSEND H2六、思考题1.该实验证明了8255A的什么特点?实验二 8255A并行口实验B一、实验目的掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。

二、实验内容用8255作输出口,控制十二个发光二极管燃灭,模拟交通灯管理。

三、程序框图四、实验电路五、实验程序;----------------8255A并行口实验(3) 控制交通灯----------------CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODEORG 32F0HPA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHH3: MOV AL,88HMOV DX,PCTLOUT DX,AL ;MOD:0,MOV DX,PAMOV AL,0B6HOUT DX,ALINC DXMOV AL,0DHCALL DELAY1 P30: MOV AL,75H MOV DX,PA OUT DX,AL INC DXMOV AL,0DH OUT DX,AL CALL DELAY1 CALL DELAY1 MOV CX,08H P31: MOV DX,PA MOV AL,0F3H OUT DX,AL INC DXMOV AL,0CH OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL,0F7H OUT DX,AL INC DXMOV AL,0DH OUT DX,AL CALL DELAY2MOV DX,PA MOV AL,0AEH OUT DX,AL INC DXMOV AL,0BH OUT DX,AL CALL DELAY1 CALL DELAY1 MOV CX,08H P32: MOV DX,PA MOV AL,9EH OUT DX,AL INC DXMOV AL,07H OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL,0BEH OUT DX,AL INC DXMOV AL,0FH OUT DX,AL CALL DELAY2 LOOP P32DELAY1: PUSH AXPUSH CXMOV CX,0030HDELY2: CALL DELAY2LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HLOOP $POP CXRETCODE ENDSEND H3六、思考题1.改变延时常数,使发光二极管闪亮时间改变。

2022年东华大学软件工程专业《操作系统》科目期末试卷A(有答案)

2022年东华大学软件工程专业《操作系统》科目期末试卷A(有答案)一、选择题1、所谓(),是指将一个以上的作业放入内存,并且同时处于运行状态。

这些作业,共享处理器的时间和外设及其他资源。

A.多重处理B.多道程序设计C.实时处理D.并行执行2、下列关于操作系统的论述中,正确的是()。

A.对于批处理作业,必须提供相应的作业控制信息B.对于分时系统,不一定全部提供人机交互功能C.从响应角度看,分时系统与实时系统的要求相似D.在采用分时操作系统的计算机系统中,用户可以独占计算机操作系统中的文件系统3、现行3个同时到达的作业J1,J2,J3,它们的执行时,间分别是T1,T2和T3,且T1,<T2<T3。

若系统按单道方式运行且采用短作业优先调度算法,则平均周转时问是()。

A.T1+T2+T3B. T1+T2+T3 /3C.(3T1+2T2+T3)/3D.(T1+2T2+3T3)/34、系统中有3个不同的临界资源R1,R2和R3,被4个进程pl,p2,p3 及p4共享。

各进程对资源的需求为:pl申请RI和R2,p2申请R2和R3,p3申请R1和R3,p4申请R2。

若系统出现死锁,则处于死锁状态的进程数至少是()。

A.1B.2C.3D.45、有3个作业J1,J2,J3,其运行时间分别为2h,5h,3h,假定同时到达,并在同…台处理器上以单道方式运行,则平均周转时间最短的执行序列是()。

A.J1,J2,J3B.J3,J2,J1C.J2,J1,J3D.J1,J3,J26、若I/O所花费的时间比CPU的处理时间短很多,则缓冲区()A.最有效B.几乎无效C.均衡D.以上都不是7、如果I/O设备与存储设备间的数据交换不经过CPU来完成,则这种数据交换方式是()。

A.程序查询方式B.中断方式C.DMA方式D.外部总线方式8、采用直接存取法来读写磁盘上的物理记求时,效率最高的是()A.连续结构的文件B.索引结构的文件C.链接结构文件D.其他结构文件9、文件的顺序存取是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录实验一DEBUG的启动及其基本命令的使用实验二内存操作数及寻址方法实验三汇编语言程序的调试与运行实验四查表程序设计实验五系统功能调用实验六分支程序设计实验七循环程序设计实验八子程序设计实验九综合程序设计实验心得体会参考文献实验一 DEBUG的启动及其基本命令的使用源程序:(指导书中给出)DA TA SEGMENTSTRING1 DB 'Move the cursor backward'STRING2 DB 'Move the cursor backward'MESS1 DB 'Match.',13,10,'$'MESS2 DB 'No Match.',13,10,'$'DA TA ENDSSTACK SEGMENT STACKDB 40 DUP (?)STACK ENDSPROGNAM SEGMENTASSUME CS:PROGNAM,DS:DA TA,ES:DA TA,SS:STACKMAIN PROC FARSTART: PUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV ES,AXMOV AX,STACKMOV SS,AXLEA SI,STRING1LEA DI,STRING2CLDMOV CX,25REPZ CMPSBJZ MA TCHLEA DX,MESS2JMP SHORT DISPMATCH: LEA DX,MESS1DISP: MOV AH,09hINT 21HRETMAIN ENDPPROGNAM ENDSEND START运行结果:用DEBUG调试将输出字符串改为‘No Match’用E指令修改“backward”为“forward”再次用d命令查看修改结果。

用g命令运行程序实验二内存操作数及寻址方法1、(1)程序说明:设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。

请用堆栈作为两寄存器交换内容的中间存储单元,用字处理程序编辑程序。

(2)调试说明:对SP的地址分配不到2000,计算机自动分配为0000,此时我就人为的把堆栈的首地址定义为2000。

(3)写出源程序清单和执行结果:源程序:STACK SEGMENT STACKDW 100 DUP(0)STACK ENDSCODE SEGMENTASSUME SS:STACK,CS:CODESTART:MOV AX,3000HMOV BX,5000HMOV SP,2000HPUSH AX ;将AX中的内容压栈MOV AX,BX ;BX中的内容给AXPOP BXMOV AH,4CHINT 21HCODE ENDSEND START用debug调试结果:2、程序说明:用masm和link 对以下程序进行汇编和连接,调试程序在DEBUG 调试程序状态下进行。

用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时,AX中的内容是什么。

源程序:DA TA SEGMENTORG 0300HA DB 12H,23H,34H,45H,56H,67H,78H,89H,9AHDA TA ENDSPROGNAM SEGMENTASSUME CS:PROGNAM,DS:DA TASTART: MOV AX,DATAMOV DS,AXMOV BX,0300HMOV AX,0300H ;立即数寻址MOV AX,[0300H] ;存储器寻址方式中的直接寻址方式MOV AX,[BX] ;寄存器间接寻址MOV SI,2MOV AX,0001[BX] ;基址寻址MOV AX,[BX][SI] ;基址加变址MOV AX,0001[BX][SI] ;带偏移量的基址加变址MOV AH,4CHINT 21HPROGNAM ENDSEND START用debug调试结果:实验三算术运算指令1、程序说明:编写三个完整的汇编语言源程序,完成以下计算。

其中X、Y、Z、R、W均为存放16位带符号数单元的地址。

(1)Z←W+(Z-X)(2)Z←W-(X+6)-(R+9)(3)Z←(W*X)/(Y+6),R←余数2、调试说明:当编译完成后,计算机未能生成.OBJ的文件,经检查错误发生在ADD使用上,我把两个寄存器操作数同时用在ADD语句里,结果出错了。

把ADD语句稍作写该后,程序运行正确。

3、写出源程序清单和执行结果本实验我们只做前两个,即:(1)Z←W+(Z-X);(2)Z←W-(X+6)-(R+9)源程序:(1) Z←W+(Z-X)DA TA SEGMENTX DD 0001HZ DD 0003HW DD 0005HDA TA ENDSCODE SEGMENTASSUME CS:CODE, DS:DA TASTART: MOV AX,DA TAMOV DS,AXMOV AX,XMOV BX,ZSUB BX,AXMOV AX,WADD BX,AXMOV Z,BXMOV AH,4CHINT 21HCODE ENDSEND START用debug调试结果:源程序:(2)Z←W-(X+6)-(R+9)DA TA SEGMENTX DW 0006HR DW 003AHW DW 0110HZ DW ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATAMOV DS,AXMOV AX,XADD AX,6MOV BX,RADD BX,9MOV CX,WSBB CX,AXSBB CX,BXMOV Z,CXMOV AH,4CHINT 21H CODE ENDSEND START 用debug调试结果:实验四查表程序设计1、程序说明:用查表的方法将一位十六进制数转换成与它相应的ASCII码,并将结果存放到ASCI单元中。

2、调试说明:开始生成.OBJ文件时,调试不成功,以为是程序编译有误,后经再三检查都未发现错误,这时只好从头做检查,结果发现了错误:从本实验有的提示语段中拷贝过来的语句书写有误,即符号的书写为中文书写,以至于整个程序未能通过编译。

把中文书写修改为英文书写后,编译成功。

3、源程序清单和执行结果:源程序:DA TA SEGMENTTABLE DB 30H,31H,32H,33H,34H,35H,36H,37HDB 38H,39H,41H,42H,43H,44H,45H,46HHEX DB 08HASCI DB ?DA TA ENDSCODE SEGMENTASSUME DS:DA TA,CS:CODESTART: MOV AX,DATAMOV DS,AXMOV BX,OFFSET TABLEMOV AL,HEX ;查找对象的下标存在AL中XLATMOV ASCI,ALMOV AH,4CHINT 21HCODE ENDSEND START用debug调试结果:实验五系统功能调用1、程序说明:试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。

2、调试说明:在DEBUG显示字符窜时,曾显示乱码,未能按预期显示,经检查发现在编译字符窜时出现错误,因为调用21H中断输出一串字符要求用'$'结尾,我没用上‘$’。

还有,键盘输入字符是被存放在AX内,当要多次使用AX 时应该把输入内容另存一地址3、源程序清单和执行结果:源程序:DA TA SEGMENTDB ?DA TA ENDSSTACK SEGMENT STACKDB 5 DUP(0)STACK ENDSCODE SEGMENTASSUME DS:DA TA, SS:STACK,CS:CODESTART: MOV AX,DATAMOV DS,AXMOV AH,01H ;从输入端读取字符INT 21HSUB AL,20H ;小写转换成大写MOV DL,ALMOV AH,02H ;输出字符到终端INT 21HMOV AH,4CHINT 21HCODE ENDSEND START运行结果:实验六分支程序设计1、实验说明:假设有一组数据:5,-4,0,3,100,-51,请编一程序,判断:每个数大于0,等于0,还是小于0;并输出其判断结果。

即:1 当x>0y= 0 当x=0-1 当x<02、调试说明:在最初的程序中,我使用了MOV BX,XX等语句,后来发现像这样的语句在实际使用中有些累赘,于是我便做了修改,简化了汇编语言。

其次,在调试中,发现符号无法显示的问题,于是采用两次显示符号的方法,较理想的解决了负号问题。

34、源程序清单和执行结果:源程序:DA TA SEGMENTXX DB 05H,0FCH,00H,03H,64H,0CDHY1 DB 'Y=1',0DH,0AH,'$'Y2 DB 'Y=0',0DH,0AH,'$'Y3 DB 'Y=-1',0DH,0AH,'$'DA TA ENDSSTACK SEGMENT STACKDB 10 DUP(0)STACK ENDSCODE SEGMENTASSUME DS:DA TA,SS:STACK,CS:CODE START: MOV AX,DATAMOV DS,AXLEA SI,XXMOV AX,0MOV CX,6L1: MOV AL,[SI]CMP AL,0 ;与0比较JG BIGERJE EQUALMOV DX,OFFSET Y3MOV AH,09HINT 21HJMP OUTPUTBIGER: MOV DX,OFFSET Y1MOV AH,09HINT 21HJMP OUTPUTEQUAL: MOV DX,OFFSET Y2MOV AH,09HINT 21HOUTPUT:INC SILOOP L1MOV AH,4CHINT 21HCODE ENDSEND START运行结果:思考题:程序中的原始数据是以怎样的形式存放在数据区中的?请用DEBUG调试程序观察并分析。

以补码形式存放实验七循环程序设计实验内容:1. 编制程序计算S=1+2•3+3•4+4•5+……+N(N+1)+……直到N(N+1)大于200为止,并将结果由屏幕上显示出来。

其程序的流程图如图7. 1所示。

2. 将从3000H内存单元开始的100个字节存储单元全部清0。

本实验要求在DEBUG调试状态下进行,包括汇编程序、运行程序、检查结果。

源程序:(1)编制程序计算S=1+2•3+3•4+4•5+……+N(N+1)+……直到N(N+1)大于200为止,并将结果由屏幕上显示出来。

相关文档
最新文档