文档库 最新最全的文档下载
当前位置:文档库 › 实验五-参考答案--计算机C语言汇编

实验五-参考答案--计算机C语言汇编

实验五-参考答案--计算机C语言汇编
实验五-参考答案--计算机C语言汇编

实验四参考答案(参考答案)

(1) 设计程序sy5-1.c,从键盘上输入一个3行3列矩阵各个元素的值,输出其主对角线元素和反向对角线元素之和。

算法分析:

对角线上的元素,1维和2维下标相同,反对角线元素,如果行下标为i,列下标就为2-i;

参考答案:

#include

int main()

{

int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};

int i,j,sum=0;

for(i=0;i<3;i++)

sum=sum+a[i][i]+a[i][2-i]; //a[i][i]当前行的主对角线元素

//a[i][2-i]当前行的反对角线元素printf("矩阵的正、反对角线元素之和为:%d\n",sum);

return 0;

}

运行结果:

(2) 设计程序sy5-2.c,找出一个3×4的矩阵中的最小值及其位置。

算法分析:

首先把二维数组中的第一个数即a[0][0]看成最小值,然后逐行逐列的去遍历每个元素,逐一判断每一个元素是否比最小值还好小,如果是,就改写最小值,并记录他的下标。

参考答案:

#include

#include

int main()

{

int a[3][4]={{10,21,41,5},{12,15,46,35},{40,21,26,30}};

int i,j,row,colum,min;

printf("数组a:\n");

for(i=0;i<3;i++)

{ for(j=0;j<4;j++)

printf("%5d",a[i][j]);

printf("\n");

}

min=a[0][0];row=0;colum=0; //首先把第一个数a[0][0]看成最小数

for(i=0;i<3;i++) //双重循环逐一遍历每个元素a[i][j]

for(j=0;j<4;j++)

if(min>a[i][j]) //如果当前值a[i][j]比最小值还要小

{min=a[i][j];row=i;colum=j;} //用a[i][j]改写最小值,并记下他们的下标printf("矩阵中最小元素是:%d,行下标是:%d,列下标是%d\n",min,row,colum);

return 0;

}

运行结果:

(3) 设计程序sy5-3.c,定义一个3×3的二维数组,通过随机函数自动赋值。然后输入一个整数n,使数组左下三角(含对角线元素)元素中的值乘以n 。例如:若n的值为3,a 数组中的值为

| 1 9 7 |则程序运行后a数组中的值应为| 3 9 7 |

| 2 3 8 | | 6 9 8 |

| 4 5 6 | | 12 15 18 |

算法分析:

主要理解到对角线即以下元素包含哪些元素,即他们的下标变化。对每一行i来说,对角线以下的元素,他们的列下标是0,1,2,---,i;所以用外循环i遍历行,内循环j(从0到i),逐一遍历每一个a[i][j],并给a[i][j]赋值为他的n倍。最后输出矩阵。

参考答案:

#include

#include

int main()

{

int a[3][3];

int i,j,n;

printf("原来a的值:");

for(i=0;i<3;i++) //生成数组元素,并按矩阵形式输出

{ for(j=0;j<3;j++)

{a[i][j]=rand()%20; //rand()参看教材385页

//rand()%20 产生一个20以内的整数

printf("%5d",a[i][j]);

}

printf("\n");

}

printf("请输入n :");

scanf("%d",&n);

for(i=0;i<3;i++) //i 表示每一行

for(j=0;j<=i;j++) //j 从0到i ,即每行的对角线及前面的数的列下标

a[i][j]=a[i][j]*n;

printf("\n 数组左下三角元素乘以n 后值为:");

for(i=0;i<3;i++)

{for(j=0;j<=i;j++)

printf("%5d",a[i][j]);

printf("\n");

}

return 0;

}

运行结果:

(4) 设计程序sy5-4.c ,输入一个整数m (2≤m ≤9〕,在m 行m 列的二维数组中存放如

下所示规律的数据。例如,若输入2,则输出:???? ??4221,若输入4,则输出: ??????? ??16128412963864243

21 算法分析:

分析:m 的值是不定的,所以可以申明一个二维数组int a[10][10],当m=2时,只用前两行两列,当m=4时,就只用前四行四列;元素a[i][j]的值和他的行列下标可找到规律如下:每行的第0列元素a[i][0]=i+1;除第0列元素其它元素a[i][j]=a[i][0]*(j+1)。

参考答案:

#include

void main()

{

int a[10][10],i,j,m;

printf("Input m:");

scanf("%d",&m);

for(i=0;i

a[i][0]=i+1;

for(i=0;i

for(j=1;j

a[i][j]=a[i][0]*(j+1);

for(i=0;i

{ for(j=0;j

printf("%5d",a[i][j]);

printf("\n");

}

}

运行结果:

(5) 设计程序sy5-5.c,将3×3矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左边。例如,有下列矩阵

1 2 3

4 5 6

7 8 9

计算结果为

3 1 2

6 4 5

9 7 8

算法分析:

二维数组的移动,类似于一维数组的元素移动;只是在一维数组移动的外面加上外循环。即:对每一行元素(i行),首先把最后一列即a[i][2]用中间变量t保存;然后就从第1列到第0列,每个元素向后移动一列(a[i][j]=a[i][j-1]);最后再给a[i][0]赋值为t(以前的a[i][2])。

计算机组成原理实验1-汇编语言实验

微处理器与接口技术 实验指导

实验一监控程序与汇编语言程序设计实验 一、实验要求 1、实验之前认真预习,明确实验的目的和具体实验内容,设计好主要的待实验的程序,做好实验之前的必要准备。 2、想好实验的操作步骤,明确通过实验到底可以学习哪些知识,想一想怎么样有意识地提高教学实验的真正效果。 3、在教学实验过程中,要爱护教学实验设备,认真记录和仔细分析遇到的现象与问题,找出解决问题的办法,有意识地提高自己创新思维能力。 4、实验之后认真写出实验报告,重点在于预习时准备的内容,实验数据,实验过程、遇到的现象和解决问题的办法,自己的收获体会,对改进教学实验安排的建议等。善于总结和发现问题,写好实验报告是培养实际工作能力非常重要的一个环节,应给以足够的重视。 二、实验目的 【1】学习和了解TEC-XP16教学实验系统监控命令的用法; 【2】学习和了解TEC-XP16教学实验系统的指令系统;

【3】学习简单的TEC-XP16教学实验系统汇编程序设计。 三、实验注意事项 (一)实验箱检查 【1】连接电源线和通讯线前TEC-XP16实验系统的电源开关一定要处于断开状态,否则可能会对TEC-XP16实验系统上的芯片和PC机的串口造成损害。 【2】五位控制开关的功能示意图如下: 【3】几种常用的工作方式【开关拨到上方表示为1,拨到下方为0】 (二)软件操作注意事项 【1】用户在选择串口时,选定的是PC机的串口1或串口2,而不是TEC-XP16实验系统上的串口。即选定的是用户实验时通讯线接的PC机的端口; 【2】如果在运行到第五步时没有出现应该出现的界面,用户需要检查是不是打开了两个软件界面,若是,关掉其中一个再试; 【3】有时若TEC-XP16实验系统不通讯,也可以重新启动软件或是重新启动PC再试; 【4】在打开该应用软件时,其它的同样会用到该串口的应用软件要先关掉。

汇编语言实验一

淮阴工学院 汇编语言程序设计实验报告 选题名称:实验一调试工具的使用方法训练 系(院):计算机工程学院 专业:计算机科学与技术 班级: 1101 姓名:康志杰学号: 1101301132 指导教师:王福德 学年学期:2013 学年第 2 学期 2013 年 4 月15 日

实验一利用DEBUG调试程序调试程序段 <1 > 实验目的: (1)熟悉DEBUG有关命令的使用方法 (2)利用DEBUG掌握有关指令的功能 (3)利用DEBUG运行简单的程序段 <2 > 实验内容 (1)进入和退出DEBUG程序 1)开始——运行,输入cmd,点确定或回车键进入DOS环境 2)在命令窗口输入debug进入debug程序 3)进入debug程序后,按q退出

(2) 学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。对于U命 令、N命令、W命令等,也应试一下。 1 显示存储器单元命令D 格式:D [<地址范围>] 功能:显示指定地址范围内的存储区数据,包括十六进制数据形式及其对应的ASCII码字符显示。 2 写存储器单元命令E 格式:E <地址> [<字符串>] 功能:逐个修改指定单元内容或将字节串写入指定的一组连续单元。 例:将字节串′computer′写入以100H为起始地址的存储器区。 -E 100′computer′ 3显示和修改某个指定寄存器内容, 格式为:-R 寄存器名 例如打入:-R AX 系统将响应如下: AX 0000

: 表示AX当前内容为0000,此时若不对其作修改,可按ENTER键,否则,打入修改后内容,如: -R BX BX 0000 :1000 则BX内容由0000改为1000 4显示和修改标志位状态, 命令格式为:-RF 系统将给出响应,如 NV UP EI PL NZ NA PO NC- 这时若不作修改可按ENTER键,否则在“-”号之后键入修改值,键入顺序任意。如 NV UP EI PL NZ NA PO NC-ZR CY

汇编语言程序设计实验报告

微机原理实验报告 实验名称汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH, 97H,64H,BBH,7FH,0FH,D8H。编程并显示结果:如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H 的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD 码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再 将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 第1页

99223344H = xxxxxxxxH 四、实验代码及结果 实验代码见代码附录 1.1程序运行结果 图1 无符号最大值结果截图 1.1 程序运行结果

图2 有符号最大值截图2.0 程序运行结果

图3 BCD码显示3.0 程序运行结果

图4 ASCII码显示4.0 程序运行结果

图5 移动次数显示5.0 程序运行结果

汇编语言实验2

计算机工程系实验报告 课程名称:汇编语言 实验项目名称:用机器指令和汇编语言指令编程 班级:15级计科4班姓名:梁红梅学号:15091413 一、实验目的: 1.学习Debug中D命令的使用方法,掌握查看指定内存单元的内容的指令,其中本实验中 主要掌握“d段地址:偏移地址”的格式; 2.了解Debug 中D命令程序的执行者:CPU,了解D命令的执行过程; 3.掌握CPU在访问内存单元时的主要过程; 4.学习怎样利用在Debug中cs、ds、ss、es这4个段寄存器,简化debug命令格式。 二、实验要求: 使用Debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。Mov ax,ffff Mov ds,ax Mov ax,2200 Mov ss,ax Mov sp,0100 Mov ax,[0] ;ax= Add ax,[2] ;ax= Mov bx,[4] ;bx= Add bx,[6] ;bx= Push ax ;sp= 修改的内存单元的地址是内容为 Push bx ;sp= 修改的内存单元的地址是内容为 Pop ax ;sp= ;ax= Pop bx ;sp= ;ax= Push [4] ;sp= 修改的内存单元的地址是内容为 Push [6] ;sp= 修改的内存单元的地址是内容为

三、实验数据记录: 1.进入Debug后使用-a命令将程序写入内存 2.通过使用-t命令将写入内存的程序逐一执行,直到命令执行完毕

三、实验结果及分析: 1.mov ax,[0] 执行完成后 ax=C0EA; 2.add ax,[2]执行完成后ax=C0FC; 3.mov bx,[4] 执行完成后 bx=30F0; 4.add bx,[6]执行完成后 bx=6021; 5.push ax 执行完成后 sp= 00FE 修改的内存单元的地址是 2200:00FE 内容为C0FC 6.push bx 执行完成后 sp= 00FC 修改的内存单元的地址是 2200:00FC 内容为6021

汇编语言实验5-循环程序设计

汇编语言实验报告 Assembly Language Programming Lab Reports ______________________________________________________________________________ 班级:_________ 姓名:___________ 学号:___________ 实验日期:_____________ 学院:_____计算机与通信工程学院____ 专业:_______计算机科学与技术___________ 实验顺序:___实验五____ 实验名称:____________循环程序设计________________ 实验分数:_______ 考评日期:________ 指导教师: ______________________________________________________________________________ 一.实验目的 1、掌握两种循环结构,DO WHILE的循环结构用CMP指令和条件转移指令构成。DO UNTIL用loop,loope,loopne这三种指令实现。 2、掌握以下指令 掌握循环指令,loop,loope,loopne。 掌握串处理指令,movs,cmps,scas,lods,stos 以及和他们联合使用的重复前缀指令rep,repz,repnz。 掌握伪指令EQU 及操作符'$'的使用。 掌握cmp,test和条件转移指令构成的循环结构。 3、掌握循环程序的设计过程,写出设计方法,给出程序框图,写出循环程序。 4、掌握多重循环中,可以由内层循环向外层循环跳转,或者直接向外层程序跳转,但是不允许从外向内跳转。 5、会用循环实现排序算法。 ______________________________________________________________________________ 二.实验环境

汇编语言实验报告——累加

《汇编语言》实验报告 ——累加器制作 2014级计算机科学与工程学院 学号: 姓名 一、实验要求: 1.显示 INPUT N :,提示用户输入数字字串 2.检测输入字串的合法性,非法给出提示 3.将输入数字字串转化为数值,存入变量n 4.累加1~n ,存入变量sum 5.以十进制显示sum 二、流程图: 开始 输入 判断是否为回车 判断是否为数字 是 转化为数值,将堆栈中 的高位数字乘10然后与低位数字相加,放入堆 栈 否 显示“error ” 结束 否 是 判断cx=0 否 将CX加到A X中 是 得出sum的值 将结果除以10并将余数存入堆栈,累计位数cx,直至商为0 将堆栈中的数字依次输出显示,直至cx=0

三、源代码: DATAS SEGMENT str1 db "Input N:","$" str2 db "sum=","$" str3 db 0ah,"error","$" n dw 0 sum dw 0 DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV DS,AX LEA dx,str1;输出提示符 mov ah,9 int 21h input: mov ah,01;输入数字 int 21h cmp al,0dh;判断是否为回车 jz step1 cmp al,"0";判断字符合法性 jb error cmp al,"9" ja error sub al,"0";转化为ASCII码 mov ah,0;此段将高位乘10 push ax mov ax,n shl ax,1 push ax mov cl,2 shl ax,cl

计算机组成原理与汇编语言(课后习题).

《计算机组成原理与汇编语言》习题 第一章 1. 计算机中为什么都采用二进制数而不采用十进制数? 2. 写出下列用原码或补码表示的机器数的真值: a (1 01101101 (2 10001101 (3 01011001 (4 11001110 3. 填空: a (1 (123410=(2=(16 b (2 (34.687510=(2=(16 c (3 (271.33 10 = ( 2= ( 16 d (4 (101011001001 2 = ( 10 = ( 16 e (5 (1AB.E 16 = ( 10 = ( 2 f (6 (10101010.0111 2= ( 10 = ( 16 4. 已知X=36,Y=-136,Z=-1250,请写出X、Y、Z的16位原码、反码、和补码。 5. 已知[X]补=01010101B,[Y]补=10101010B,[Z]补=1000111111111111B,求X、Y、Z及X+Y,Y-Z的十进制值为多少? 6. 用8位补码进行下列运算,并说明运算结果的进位和溢出: a (1 33+114 (233-114 (3(-33+114 (4(-33 -114 7. 将下列十进制数表示为8421BCD码: (18609 (25254 (32730 (42998

8. 将下列8421BCD码表示为十进制数和二进制数: a (101111001 (2001010000101 (3022********* (4 010********* 9. 将下列数值或字符串表示为相应的ASCII码: (151 (27FH (3C6H (4Computer (5 how are you? 10. 定点数和浮点数表示方法各有什么特点? 11. 微处理器、微型计算机和微型计算机系统三者之间有什么不同? 12. 微型计算机由哪几部分组成,各部分功能是什么? 13. CPU在内部结构上由哪几部分组成,CPU应具备什么功能? 14. 简述计算机执行指令和执行程序的过程。以书中的例子为例,说明在此三条指令执行中,哪些信号属于数据流,哪些信号属于控制流? 15. 微型计算机外部为什么采用三总线结构? 16. 数据总线和地址总线在结构和作用上有什么不同? 17. 如果某几种CPU的地址总线分别有8、16、20、32条,它们各自能寻址的存储器的容量是多少? 18. 什么是硬件,什么是软件,硬件和软件的关系如何? 19. 说明位、字节、字长的概念及它们之间的关系。 20. 计算机的发展趋势有哪些?你如何看待冯?诺依曼计算机体系结构理论? 21. 说出几种型号的CPU,它们各有什么特点? 22. 说出目前流行的几种主机板的类型以及它们的性能特点。

计算机组成原理与汇编语言综合练习题

计算机组成原理与汇编语言综合练习题 一、填空题 1.表示一个数值数据的基本要素是、、。 2.8位二进制补码所能表示的十进制整数范围是至,前者的二进 制补码表示为,后者的二进制补码表示为。 3.某机定点整数格式字长8位(包括1位符号位),用二进制表示最小负数的反 码为,最大正数的反码为。 4.在数的表示范围方面,浮点比定点。在运算规则方面,浮点比定 点。在运算精度方面,浮点比定点。 5.浮点数表示中,数据的范围由的位数据决定,数的精度由决 定。 6.已知0和9的ASCII码分别为0110000和0111001,则3的ASCII码 为,5的ASCII码为。 7.已知字符A的ASCII码为1000001,则字符B的ASCII码为,字符D 的ASCII码为。 8.15的8421码为。 9.每条指令由两部分组成,即部分和部分。 10.有一机器字16位,其中操作码占4位。若采用三地址寻址,则每个地址位为 位,可直接寻址空间为字节;若采用单地址寻址,则每个地址位为位, 可直接寻址空间为字节。 11.零地址指令是不带的机器指令,其操作数是由提供 的。 12.存储器堆栈中,需要一个,用它来指明的变化。 13.运算器的主要功能是进行。 14.SN74181 ALU是一个位运算单元,由它组成16位ALU需使用片 SNN74182 ,其目的是为了实现并行操作。 15.在微程序控制器中,微操作是由控制实现的最基本操作。一条机器指 令是由若干组成的微程序来解释执行的。 16.微程序顺序控制常用的两种方式是方式和方式。 17.控制器的控制方式有、和三种形式,其中方 式最节省时间,方式最浪费时间,而方式介于两者之间。 18.在控制器中,指令寄存器(IR)的作用是,它的位数与有 关。 19.使用Intel 2114(1K×4位)芯片32片可组成容量为 KB内存,每片片 内地址线有位。 20.若有一个512K字的存储器,它由四个存储体组成,每个存储体为16K,则该 存储体的字长是位。 21.计算机的I/O系统由、、和组成。 22.通常外部设备寻址方式有、和等三种方式。 23.中断请求是中断源向发出的申请中断要求,发出中断请求的条件 是。和。 24.中断返回时要恢复和,才能返回主程序继续执 行。 25.发向量地址和执行中断隐指令在程序中断处理过程的阶段,执 行中断服务程序在阶段,自动恢复程序断点地址在阶段。 26.中断隐指令的功能是:在响应中断之后立即中止现行程序,保护 . 和。内容,取出新的送入程序状态字寄存器,取出相应的送程序计 数器。 27.一个完整的程序中断处理过程应包括、、、 和▁五个阶段。

汇编语言实验

实验四屏幕字符显示程序 实验目的: 通过实验掌握下列知识: 1、8088指令: JMP,ROR,XOR,HLT。 2、利用DOS功能调用INT21H的2号和9号功能进行屏幕显示的方法。 3、直接向视频RAM(VRAM)送ASCII码进行屏幕显示的方法。 4、IBM-PC机的ASCII码表及控制字符。 5、命令(。COM)文件及使用方法。 6、利用^Break退出程序的方法及局限性。 实验内容及步骤: 一、利用INT 21 0AH号功能调用显示字符串。 1、用A命令在100H处键入下列程序: MOV AH, 9 MOV DX,110 INT 21 INT 20 2、用A命令在110H处键入下列字符串的ASCII码: DB 'This is a sample!$' 3、用N命令和W命令将此程序(包括数据区)存入文件名为AA。COM的磁盘文件中。(存入前BX:CX必须置为文件长度值)。 4、用Q命令退出DEBUG。 5、在DOS命令下打AA,运行此程序,即在屏幕上显示'This is a sample!'字符串,若不出现,用DEBUG检查程序有无错误。

二、利用INT 21H 2号功能显示字符: 1、用A命令在100H处键入下列程序: XOR DL,DL MOVCX,100 LOP:MOV AH,2 INT 21 INC DL PUSH CX MOV CX,8 DELY: PUSH CX MOV CX,0 J: LOOP J POP CX LOOP DELY POP CX LOOP LOP INT 20 2、用G命令运行程序,即在屏幕上依次缓慢的显示256个ASCII字符。仔细观察每个字符,和IBM-PC ASCII码表对照,看07H-0DH处控制字符显示结果与表上有何不同? 3、按CTRL+BREAK退出此程序,若一次不行可多做几次。

汇编语言与计算机系统组成单选题

题干A B C D答案难度[1]电子计算机技术在半个世纪中虽有很大的进步,但至今其运行 仍遵循着一位科学家提出的基本原理。他就是( )。 牛顿爱因斯坦爱迪生冯·诺依曼D中 目前我们所说的个人台式商用计算机属于( )。巨型机中型机小型机微型机D中 冯·诺依曼机工作方式的基本特点是( )。多指令流单数据流按地址访问并顺序执行指令堆栈操作存储器按内容选择地址B中 至今为止,计算机中的所有信息仍以二进制方式表示,其理由 是( )。 节约元件运算速度快物理器件性能决定信息处理方便C中 对计算机的软、硬件资源进行管理,是( )的功能。操作系统数据库管理系统语言处理程序用户程序A中 CPU的组成中不包含( )。存储器寄存器控制器运算器A中 主机中能对指令进行译码的器件是( )。ALU运算器控制器存储器C中 许多企事业单位现在都使用计算机计算、管理职工工资,这属 于计算机的( )应用领域。 科学计算数据处理过程控制辅助工程B中 微型计算机的发展以( )技术为标志。操作系统微处理器磁盘软件B中 邮局对信件进行自动分拣,使用的计算机技术是( )。机器翻译自然语言理解机器证明模式识别D中 电子邮件是指( )。用计算机管理邮政信件通过计算机网络收发消息用计算机管理电话系统用计算机处理收发报业务B中 微型计算机的工作环境要求室温一般在15~35度,室温过低容 易造成( )。 磁盘读写出错静电干扰机内元器件受潮变质散热不好,烧毁电源A中 下列关于微处理器的描述中,( )是正确的。微处理器就是一台微机微处理器是微机系统微处理器就是主机微处理器可以用作微机的CPU D中 下列的四个叙述中,只有一个是正确的,它是( )。系统软件就是买来的软件,应用软 件就是自己编写的软件 外存上的信息可以直接进入CPU被 处理 用机器语言编写的程序可由计算机 直接执行 说一台计算机配置了FORTRAN语 言,就是说它一开机就可以用 FORTRAN语言编写和执行程序 C中 将有关数据加以分类、统计、分析,以取得有利用价值的信 息,我们称其为( )。 数值计算辅助设计数据处理实时控制C中微型计算机的分类通常以微处理器的( )来划分 。规格芯片名字长寄存器数目A中下列( )型号计算机标志了计算机时代的真正开始。ENIAC EDVAC EDSAC UNIVAC-I D中地址是内存储器各存储单元的编号,现有一个32KB的存储器, 用十六进制数表示它的地址码,则地址码应从0000H到( ) H。 3276780007FFF8EEE C中 Intel的创始人高登·摩尔总结的摩尔定律说:单片集成电路 所包含的晶体管数目大约每( )个月增加一倍。 12152418D中 在计算机未来发展展望中,计算机科学家们提出的最有可能取 代电子计算机的计算机探索方案是( )计算机。 光子计算机DNA计算机分子计算机量子计算机D中 The fundamental conceptual unit in a computer is: ( ) CPU Hard Drive Operating System Transistor D中 Virtually all computer designs are based on the von Neumann architecture. A high level view of this architecture has the following three components:( )Buses, memory, input/output controllers Hard disks, floppy disks, and the CPU memory, the CPU, and printers memory, input/output modules, and the CPU D中 Which of the following programming languages has an instruction set closest to the machine language of a computer? ( ) BASIC Fortran Assembly Language C++C中 Program that manages the resources of a computer for the benefit of the programs that run on that machine is ( ). Compiler Operating System ALU Control Unit B中 Program that translates from a high-level notation to assembly language is ( ). Compiler Instruction Set CPU Operating System A中计算机中表示地址时使用( )。无符号数原码反码补码A中对于二进制码10000000,若其值为-0,则它是用( )表示 的。 原码反码补码阶码A中对于二进制码10000000,若其值为-128,则它是用( )表 示的。 原码反码补码阶码C中对于二进制码10000000,若其值为-127,则它是用( )表 示的。 原码反码补码阶码B中字长16位,用定点补码小数表示时,一个字所能表示的范围是 ( )。 0~(1-2^-15)-(1-2^-15)~(1-2^-15)-1~+1-1~(1-2^-15)D中某机字长32位,其中1位符号位,31位尾数。若用定点整数补 码表示,则最小正整数为( )。 +1+2^31-2^32-1A中 某机字长32位,其中1位符号位,31位尾数。若用定点整数补 +1+2^31-2^32-1C中

汇编语言上机实验

汇编语言程序设计的实验环境及实验步骤 知识提要: 1、汇编语言源程序编写好以后,必须经过下列几个步骤才能在机器上运行: (1) 编辑源程序(生成.ASM文件) (2) 汇编源程序(.ASM → .OBJ) (3) 连接目标程序(.OBJ → .EXE ) (4) 调试可执行程序(使用调试程序Debug调试生成的.EXE文件) (5) 运行程序输出结果。 2、Windows环境下的汇编语言集成编程环境的使用 实验一汇编语言上机实验(一) 一、实验要求和目的 1、掌握汇编语言程序设计的基本方法和技能; 2、熟练掌握使用全屏幕编辑程序EDIT编辑汇编语言源程序; 3、熟练掌握宏汇编程序MASM的使用; 4、熟练掌握连接程序LINK的使用。 二、软硬件环境 1、硬件环境:微机CPU 486以上,500MB以上硬盘,32M以上内存; 2、软件环境:装有MASM、DEBUG、LINK等应用程序。 三、实验内容与步骤 1、实验内容 编写程序,判断一个年份是否是闰年。 2、实验步骤 汇编语言程序设计上机过程如图1.1所示。 图1.1 汇编语言程序上机过程 (一)用编辑程序EDIT建立汇编语言源程序文件(ASM文件)

建议源程序存放的目录名为MASM中,MASM子目录在D盘的根目录下。 可以在DOS模式下用编辑程序EDIT.EXE建立汇编语言源程序文件ABC.ASM,注意文件名的扩展名必须是.ASM。也可以在Windows 2000或者在Windows XP环境下鼠标单击“开始”→“运行”,在“运行”中输入“CMD”进入DOS模式,运行EDIT软件,例如:C:\documents and settings\administrator>cd\ *进入C盘根目录 C:\>d: *进入D盘 D:\>md masm *在D盘创建MASM文件夹D:\>cd masm *进入MASM文件夹 D:\masm>edit run.asm *建立run源文件 进入EDIT的程序编辑画面时,编写程序,判断一个年份是否是闰年的汇编语言源程序,输入汇编语言源程序如下: DATA SEGMENT INFON DB 0DH,0AH,'Please input a year: $' Y DB 0DH,0AH,'This is a leap year! $' N DB 0DH,0AH,'This is not a leap year! $' W DW 0 BUF DB 8 DB ? DB 8 DUP(?) DATA ENDS STACK SEGMENT 'stack' DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START: MOV AX,DATA MOV DS,AX LEA DX,INFON MOV AH,9 INT 21H LEA DX,BUF MOV AH,10 INT 21H MOV CL, [BUF+1] LEA DI,BUF+2 CALL DATACATE CALL IFYEARS JC A1 LEA DX,N MOV AH,9 INT 21H JMP EXIT A1: LEA DX,Y MOV AH,9 INT 21H EXIT: MOV AH,4CH INT 21H DATACATE PROC NEAR

汇编程序调试实验报告

微机原理与接口技术 作 业 班级: 目录 一、........................................................... 实验目的:2 二、............................................................. 实验环境2 三、............................................................. 实验过程3 (一)................................................. 基础知识储备3

(二)............................................. 汇编语言程序设计3

(三)汇编程序调试 (3) 四、............................................................. 调试实例4 (一)....................................................... 实例一4 (二)....................................................... 实例二6 (三)....................................................... 实例三9 (四)....................................................... 实例四12五、............................................................. 实验总结15 (一)..................................................... 实验收获15 (二)..................................................... 实验感悟16 一、实验目的: 汇编语言是一种用助记符表示的程序设计语言。用汇编语言编写的源程序生成的目标 代码短,占内存少,执行速度快,适合于系统软件、实时控制软件、I/O接口驱动等程序设计。通过本次实验,熟练掌握汇编程序的调试,深入了解MAS汇编语言及其程序设计方法。 、实验环境 EDIT编辑器、MASME编程序、LINK连接程序、TD调试程序

实验一基础汇编语言程序设计

实验一基础汇编语言程序设计 实验目的 1.学习和了解TEC-XP十六位机监控命令的用法; 2.学习和了解TEC-XP十六位机的指令系统; 3.学习简单的TEC-XP十六位机汇编程序设计。 实验内容 1.使用监控程序的R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容; 2.使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况。 3.学习联机使用TEC-XP教学试验系统和仿真终端软件。 实验要求 在使用该教学机之前,应先熟悉教学机的各个组成部分及其使用方法。 实验步骤 1.关闭电源,将大板上的COMl口与PC机的串口相连; 2.接通电源,在PC机上运行PCEC.EXE文件,设置所用PC机的串口为“l”或“2”,其它的设置一般不用改动,直接回车即可; 3.置控制开关为001110(连续、内存读指令、组合逻辑、16位、联机),开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意。其它实验相同; 4.按一下“RESET”按键,再按一下“START”’按键,主机上显示: 5.用R命令查看寄存器内容或修改寄存器的内容 1.用R命令查看寄存器或修改寄存器内容 1)在命令行提示符状态下输入: R↙;显示寄存器的内容 注:寄存器的内容在运行程序或执行命令后会发生变化。

2)在命令行提示符状态下输入: R R0↙;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格, 也可有—个或数个空格 主机显示: 寄存器原值:xxxx 在后面输入新的值0036 再用R命令显示寄存器内容,则R0的内容变为0036。 2.用D命令显示存储器内容 在命令行提示符状态下输入: D 2000↙ 会显示从2000H地址开始的连续128个字的内容; 连续使用不带参数的D命令,起始地址会自动加128(即80H)。

计算机组成原理与汇编语言

计算机组成原理及汇编语言试卷10 一、选择题(共20道题) 1.计算机硬件能直接执行的只有()。 A 符号语言 B 机器语言 C 机器语言和汇编语言 D 汇编语言 2.中央处理机(CPU)是指()。 A 运算器 B 控制器 C 运算器和控制器 D 运算器、控制器和主存贮器 3.MOV AX,ES:COUNT[DI] 源操作数的寻址方式是:()。 A 基址寻址 B 立即寻址 C 变址寻址 D 基址变址寻址 4.所谓第二代计算机是以()为主要元器件。 A 超大规模集成电路 B 集成电路 C 晶体管 D 电子管 5.大部分计算机内的减法是用( )来实现的。 A 将被减数加到减数中 B 从被减数中减去减数 C 补数的相加 D 从减数中减去被减数

6.个人计算机是属于()。 A 大型计算机 B 小型机 C 微型计算机 D 超级计算机 7.运算器的主要功能是进行()。 A 逻辑运算 B 算术运算 C 逻辑运算与算术运算 D 初等函数运算 8.计算机中()负责指令译码。 A 算术逻辑单元 B 控制单元 C 存储器译码电路 D 输入输出译码电路 9.如果要处理速度、温度、电压等连续性数据可以使用()。 A 数字计算机 B 模拟计算机 C 混合型计算机 D 特殊用途计算机 10.有些计算机将部分软件永恒地存于只读存储器中,称之为()。 A 硬件 B 软件 C 固件 D 辅助存储 E 以上都不对 11.下列()不属于系统程序。 A 数据库系统 B 操作系统 C 编译程序 D 编辑程序 12.一个完整的计算机系统应包括()。 A 运算器、存贮器、控制器 B 主机和外部设备 C 主机与应用程序 D 配套的硬件设备和软件系统

汇编语言程序设计实验报告三(子程序设计实验)

汇编语言程序设计实验报告三(子程序设计实验) 一、实验目的 1、掌握主程序与子程序之间的调用关系及其调用方法。 2、掌握子程序调用过程中近程调用与远程调用的区别。 3、熟练掌握码型变换的程序。 二、实验内容 1、从键盘输入二位非压缩BCD数,存入AX寄存器中,编程实现将其转换为二进制 数,并在屏幕上显示。要求码型转换程序用远程子程序编写,字符显示用近程子程序编写。数据可循环输入,遇‘00’结束。 三、实验准备 1、预习子程序设计的基本方法,根据实验内容要求编写出实验用程序。 2、熟悉键盘输入和字符显示的程序段的编制。 四、实验步骤 1、编辑、汇编源程序,生成可执行文件。 2、执行程序,检查输入、输出结果,看是否正确。如不正确,用DEBUG检查,修改 源程序,再汇编、运行,直到程序正确为止。 3、用DEBUG的T命令或P命令跟踪程序的执行,观察在远程和近程调用过程中,堆 栈的变化情况。 五、实验报告要求 1、分析近程调用和远程调用的主要区别。用DEBUG命令观察执行过程有何不同。 2、分析实验结果及所遇到的问题的解决方法。 主程序流程图 转换子程序TRAN流程图

七、程序清单 STA SEGMENT STACK ’STACK’ DB 100 DUP(0) STA ENDS GSAG SEGMENT PARA ‘CODE’ ASSUME CS:CSAG MAIN PROC FAR STRA T: PUSH DS SUB AX,AX PUSH AX REV: MOV AH,1 INT 21H MOV BL,AL INT 21H MOV AH,AL MOV AL,BL CMP AX,3030H JE ENDTRAN CALL NEAR PTR TRAN CALL FAR PTR CON MOV AL,0DH CALL FAR PTR DISP MOV AL,0AH CALL FAR PTR DISP MOV AL,0AH CALL FAR PTR DISP JMP REV ENDTRAN: RET MAIN ENDP TRAN PROC NEAR AND AX,0F0FH MOV BL,AL MOV BL,AL MOV CL,3 SHL AL,CL MOV CL,1 SHL BL,CL ADD AL,BL ADD AL,AH RET TRAN ENDP CSAG ENDS CSBG SEGMENT PARA’CODE’ ASSUME CS:CSBG

汇编语言第四次上机实验报告

汇编语言第四次上机实验报告 时间: 2013/5/10 7:00-9:30 地点:南一楼803 实验人员:计科10班王涛学号: U201114445 一、题目 1、用三种方式获取中断类型码10H对应的中断处理程序的入口地址。 (1)直接运行调试工具(TD.EXE),观察中断矢量表中的信息,指出中断类型码10H 对应的中断处理程序的入口地址。(使用TD观看即可)。使用TD观看时,在调试工具下调入以前编好的运行程序,跟踪执行INT 21H(即进入中断处理程序,方法是:执行到INT 21H 时,按ALT+F7),观察CS及IP是否改变成了前面记录的值。 (2)编写程序,用DOS系统功能调用方式获取,观察相应的出口参数与(1)看到的结果是否相同(使用TD观看即可)。 (3)编写程序,直接读取相应内存单元,观察读到的数据与(1)看到的结果是否相同. 2、编制时钟显示程序。要求每隔1s在屏幕右下角显示“年-月-日时:分:秒”,并将程序驻留在内存。 3、安装MASM32软件包,以其中的一个例子(如example\3dframes)为例,试用软件包中的集成汇编、连接和调试(TD32.EXE)功能。软件包从汇编教学网站上下载,操作参见《80X86汇编语言程序设计上机指南》第七章。 二、实验要求 1. 在调试工具下调入之前编好的运行程序,跟踪执行INT 21H(即进入中断处理程序,方法是:执行到INT 21H时,按ALT+F7),观察CS及IP是否改变成了前面记录的值。 操作提示:由于INT 21H内部的代码较长,为便于从中断处理程序返回到主程序,可在主程序INT 21H后面的指令上先设置好断点,当不再想跟踪中断处理程序时按F9即可。 实验报告的3、4、5 三个部分不用写。 2. 提示:CMOS内部07,08,09单元中分别存放着日、月、年的信息,“年”只显示低2位即可。汇编教学网站(http://202.114.1.86)上有CMOS参考资料。程序可参见教材6.2节的例1和例2。实验报告要完整。 3.在TD32中注意观察调用WIN API函数的指令序列特点,注意感受WINDOWS消息机制,掌握WINDOWS窗口程序的基本调试方法。 实验报告的3、4、5 三个部分不用写。 三、寄存器分配和变量定义说明 题目一:(1)略 (2)系统功能调用35H,入口参数为AL=10H,取中断信息。 (3)直接把主存中的DS:[40H]→IP,DS:[42H]→CS赋值给寄存器BX和CX 题目二:略 题目三:略

汇编语言实验(1)

课程名称汇编语言与微机原理实验名称字符串显示实验 实验目的、要求 1.掌握汇编语言程序设计的编写链接调试运行的完整过程 2.掌握利用masm.exe、link.exe等进行汇编、连接的方法及执行目的程序的方法。 3.初步认识ASCII码 4.初步认识利用DOS系统功能调用显示字符与字符串的方法 5.认识汇编源程序结构(框架)。 实验原理 利用DOS的中断调用在屏幕上显示字符串”Hello World”。 主要设备 计算机一台汇编语言软件 实验步骤及原始数据记录 程序源代码 1.显示数据区中的字符串"Hello World" assume cs:code,ds:data,ss:stack stack segment stack dw 256 dup (0) stack ends data segment msg db 'Hello World!',0dh,0ah,$ data ends code segment start: mov ax,data mov ds,ax mov ah,09h mov dx,offset msg int 21h exit: mov ah,4ch int 21h code ends end start

四、操作步骤: 1.在C盘生成一个新文件夹,例如P1,在该文件夹中拷入masm.exe、link.exe、debug.exe等工具程序 2.打开记事本,将上面第1个程序复制生成纯文本文件,文件名以.asm为扩展名。例如:A1.ASM。(注意保存时要选择保存类型为“所有文件”)。 3.从“开始”→程序→附件→命令提示符,进入DOS命令界面。 4. 使用CD命令,进入新文件夹,例如:P1,命令为:CD C:\P1 5. 执行MASM <文件名>,对源程序进行编译。 6. 执行LINK.EXE <文件名>,连接生成执行程序。例如:LINK A1 7. 执行生成的程序,记录屏幕响应的情况。例如:A1 可以不带扩展名EXE。程序运行正常的话,应该要显示字符串"Hello World!"。 实验结果 程序运行之后,屏幕上显示字符串“Hello World”。 闲来无聊,想重新学习一下汇编,第一个helloworld,想起绝影的一句话"你们学高级语言,但是高级语言会变,我学低级语言,学了永远也不会变!" - -b stack segment stack ; 定义堆栈段 db 100 dup(?) ;堆栈段长100字节, 这里db就是字节的意思,如果是用dw就是字,100 dup(?) 中的dup是重复的意思,这句话是重复100遍,一遍定义一个字节,每个字节里全填0 stack ends ; 堆栈段结束 data segment ;数据段 szHello db 'hello,world',0dh,0ah,'$' ;定义szHello , 0dh,0ah分别是回车键,换行键的ASCII码, '$'是DOS功能调用INT 21H中9号功能要求的要显示字符串的结束标志,写成szHello db

计算机组成原理及汇编语言.

计算机组成原理及汇编语言试卷 10 一、选择题(共20道题) 1.计算机硬件能直接执行的只有()。 A 符号语言 B 机器语言 C 机器语言和汇编语言 D 汇编语言 2.中央处理机(CPU)是指()。 A 运算器 B 控制器 C 运算器和控制器 D 运算器、控制器和主存贮器 3.MOV AX,ES:COUNT[DI] 源操作数的寻址方式是:()。 A 基址寻址 B 立即寻址 C 变址寻址 D 基址变址寻址 4.所谓第二代计算机是以()为主要元器件。 A 超大规模集成电路 B 集成电路 C 晶体管 D 电子管 5.大部分计算机内的减法是用( )来实现的。 A 将被减数加到减数中 B 从被减数中减去减数 C 补数的相加 D 从减数中减去被减数 6.个人计算机是属于()。 A 大型计算机 B 小型机 C 微型计算机 D 超级计算机 7.运算器的主要功能是进行()。 A 逻辑运算 B 算术运算 C 逻辑运算与算术运算 D 初等函数运算 8.计算机中()负责指令译码。 A 算术逻辑单元 B 控制单元 C 存储器译码电路 D 输入输出译码电路 9.如果要处理速度、温度、电压等连续性数据可以使用()。 A 数字计算机 B 模拟计算机 C 混合型计算机 D 特殊用途计算机 10.有些计算机将部分软件永恒地存于只读存储器中,称之为()。 A 硬件 B 软件 C 固件 D 辅助存储 E 以上都不对 11.下列()不属于系统程序。 A 数据库系统 B 操作系统 C 编译程序 D 编辑程序

12.一个完整的计算机系统应包括()。 A 运算器、存贮器、控制器 B 主机和外部设备 C 主机与应用程序 D 配套的硬件设备和软件系统 13.下列()不是输入设备。 A 磁盘驱动器 B 键盘 C 鼠标器 D 打印机 14.以真空管为主要零件的是()。 A 第一代计算机 B 第二代计算机 C 第三代计算机 D 第四代计算机 15.MOV AX,ES:[1000H] 源操作数的寻址方式是:()。 A 立即寻址 B 直接寻址 C 变址寻址 D 基址寻址 16.计算机经历了从器件角度划分的四代发展历程,但从系统结构来看,至今为止绝大多数计算机仍是()式计算机。 A 实时处理 B 智能化 C 并行 D 冯·诺依曼 17.将有关数据加以分类、统计、分析,以取有利用价值的信息,我们称其为()。 A 数值计算 B 辅助设计 C 数据处理 D 实时控制 18.下列()为计算机辅助教学的英文缩写。 A CAD B CAM C CAE D CAI 19.下列描述()是正确的。 A 控制器能理解、解释并执行所有的指令及存储结果 B 一台计算机包括输入、输出、控制、存储及运算五个单元 C 所有的数据运算都在CPU的控制器中完成 D 以上答案都正确 20.第三代计算机采用()。 A 晶体管 B 电子管 C 集成电路 D 超大规模集成电路 二、填空题(共20道题) 1.(D4E5)H ∨()H=(152345)H 2.主存储器的读取规则:“高高低低”规则,即____地址对应高字节,低地址对应____字节。 3.在浮点补码二进制加减运算中,当尾数部分出现_____和_____形式时,需进行左规,此时尾数______移一位,阶码_____,直到______为止。 4.设操作数字长16位(不包括符号位),机器作原码两位乘运算,共需作__次___操作,最多需做___次____操作,才能得到最后的乘积,乘积的符号位需_______。

相关文档
相关文档 最新文档