(完整版)专接本计算机C语言程序设计模拟试题及答案_第1页
(完整版)专接本计算机C语言程序设计模拟试题及答案_第2页
(完整版)专接本计算机C语言程序设计模拟试题及答案_第3页
(完整版)专接本计算机C语言程序设计模拟试题及答案_第4页
(完整版)专接本计算机C语言程序设计模拟试题及答案_第5页
免费预览已结束,剩余61页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、专接本计算机C语言程序设计模拟试题及答案(一)一、单项选择题(每小题 2分,共20分)1 .若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是(A) p=2*(int*)malloc(sizeof(int);B) p=(int*)malloc(2*sizeof(int);C) p=(int*)malloc(4*2);D) p=(int*)calloc(2,sizeof(int);2 .设有intx=11;则表达式(x+*1/3) 的值是()A)3B)4C)11D) 123 .下列程序执行后的输出结果是(小数点后只写一位)()#include <stdio.h>

2、void main()double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %fn”,i,l,f,d);A) 6 6 6.0 6.0B)6 6 6.7 6.7C) 6 6 6.0 6.7D)6 6 6.7 6.04 .下列变量定义中合法的是()A) short_a=1-.le-1B) double b=1+5e2.5C) long d1=0xfdaLD) float 2_and=1-e-3;5 .设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是k+B)k+=1C)+kD)k+16

3、 .有以下程序,其中u表示按无符号整数输出,输出结果是 ()#include <stdio.h>void main()unsigned short x=0xFFFF;/* x的初值为十六进制数 */printf("%un",x);A) -1B) 65535C) 32767D)0xFFFF7 .有以下程序,输出结果是()#include <stdio.h>void main()int i,j;for(i=1;i<4;i+)for(j=i;j<4;j+) printf("%d*%d=%d ",i,j,i*j);printf

4、("n");B) 1*1=11*2=21*3=32*2=42*3=63*3=9A) 1*1=11*2=21*3=32*1=22*2=43*1=3C) 1*1=1D) 1*1=11*2=22*2=42*1=22*2=41*3=32*3=63*3=93*1=33*2=63*3=98 .在C语言中,函数返回值的类型最终取决于 ()A)函数定义时在函数首部所说明的函数类型B)return语句中表达式值的类型C)调用函数时主函数所传递的实参类型D)函数定义时形参的类型9 .设已有定义:float x;则对指针变量p进行定义且赋初值的语句中正确的是()Afloat *p=1024B)i

5、nt *p=(float x)C)float p=&xD)float *P=&x;10 .以下叙述中正确的是()A)break语句只能用于switch语句体中B)continue语句的作用是:使程序的执行流程跳出包含它的所有循环C)break语句只能用在循环体内和 switch语句体内D)在循环体内使用break语句和continue语句的作用相同二、完成下列的程序填空(每空 3分,共18分)1 .写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。#include <stdio.h>#include <string.h>void ma

6、in()void inverse(char str);char str100;printf("input string:");scanf("%s",str);inverse(str);printf("inverse string:%sn",str);void inverse(char str)chart;int i,j;for (i=0,j=strlen(str);i<(strlen(str)/2);i+,j-);2 .有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组。#include <stdio.h

7、>void main()int a11=1,4,6,9,13,16,19,28,40,100;int temp1,temp2,number,end,i,j;printf("array a:n");for (i=0;i<10;i+)printf("%5d",ai);printf("n");printf("insert data:");scanf("%d",&number);end=a9;if (number>end);elsefor (i=0;i<10;i+)if

8、(ai>number);ai=number;for (j=i+1;j<11;j+)temp2=aj;aj=temp1;break;三、写出下列程序的运行结果(每小题9分,共36分)1 .以下程序运行后的输出结果是(#include <stdio.h>void f(int *q)int i=0;for( ; i<5;i+)(*q)+;void main()int a5=1,2,3,4,5,i;f(a);for(i=0;i<5;i+)printf("%d,",ai);2 .以下程序运行后的输出结果是()#include <stdio.h

9、>f(int b,int m,int n)int i,s=0;for(i=m;i<n;i=i+2) s=s+bi;return s;void main()int x,a=1,2,3,4,5,6,7,8,9;x=f(a,3,7);printf("%dn",x);3 .以下程序的输出结果是(#include <stdio.h>int f()static int i=0;int s=1;s+=i;i+;return s;void main()int i,a=0;for(i=0;i<5;i+)a+=f();printf("%dn",

10、a);4 .以下程序的输出结果是()#include <stdio.h>void main()char ch25= "6937", "8254",*p2;int i,j,s=0;for(i=0;i<2;i+) pi=chi;for(i=0;i<2;i+)for(j=0;pij> '0'j+=2)s=10*s+pij- '0'printf("%dn",s);四、按要求编写下列程序(每小题 13分,共26分)编写程序,用函数的递归调用求x的n次方的值,其中n为正整数。输入正整数

11、m和n,如果m+n是质数,输出"Yes",否则,输出"N6'。要求定义并调用函数myfun(x)来判断x是否为质数,在下面空出的位置完成程序,不能定义新的变量,可不用已定义的某些变量。#include<stdio.h>#include<math.h>void main()int m,n;int myfun(int x)int k;参考答案一、单项选择题(每小题 2分,共20分)AAACA BBADC二、完成下列的程序填空(每空 3分,共18分)1.t=stri;stri=strj-1;strj-1=t;2.a10=number;te

12、mp1=ai;temp1=temp2;三、写出下列程序的运行结果(每小题9分,共36分)1、6,2,3,4,5,2、103、154、 6385四、按要求编写下列程序(每小题 13分,共26分)1 .编写程序,用函数的递归调用求x的n次方的值,其中n为正整数#include <stdio.h>float mypow(float x,int n)float m;if(n=1) m=x;else m=x*mypow(x,n-1);return m; void main()float x;int n;scanf("%f,%d",&x,&n);printf

13、("%f的d次方是 %f",x,n,mypow(x,n);2 .输入正整数m和n,如果m+n是质数,输出"Yes",否则,输出"NO'。要求定义并调用函数myfun(x)来判断x是否为质数,在下面空出的位置完成程序,不能定义新的变量,可不用已定义的某些变量。#include<stdio.h>#include<math.h>void main()int m,n;scanf("%d%d",&m,&n);if(myfun(m+n) printf("Yes")els

14、e printf("No");int f(int x)int k;for(k=2;k<x;k+)if(x%k=0) return 0;return 1;专接本计算机C语言程序设计模拟试题及答案(二)一、单项选择题(每小题2分,共20分)1 .在说明语句:int *f();中,标识符f代表的是()A) 一个用于指向整型数据的指针变量B) 一个用于指向一维数组的行指针C) 一个用于指向函数的指针变量D) 一个返回值为指针型的函数名2 .下列程序的输出结果是()#include <stdio.h>void main()double d=3.2; int x,y;

15、x=1.2; y=(x+3.8)/5.0;printf("%d n", d*y);A) 3B) 3.2C) 0 D) 3.073 .设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2); 语句为变量 a1和a2赋数值10和20,为变量c1和c2赋字符'X'和'Y'。以下所示的输入形式中正确的是(注: 口弋表空格字符)()A) 10DXD 20口?回车B) 10DX20DY回车C) 10DX回车D) 10X回车20DY回车20Y回车4 .以下选项中,当

16、x为大于1的奇数时,值为 0的表达式()A)x%2=1B)x/2C)x%2!=0D)x%2=05 .以下叙述中正确的是()A)break语句只能用于 switch语句体中B)continue语句的作用是:使程序的执行流程跳出包含它的所有循环C)break语句只能用在循环体内和switch语句体内D)在循环体内使用 break语句和continue语句的作用相同6 .以下合法的字符型常量是()A)'x13'B)'018' C) 65D) "n"7 .在C语言中,函数返回值的类型最终取决于()A)函数定义时在函数首部所说明的函数类型B)retur

17、n语句中表达式值的类型C)调用函数时主函数所传递的实参类型D)函数定义时形参的类型8 .设 int x=1, y=1;表达式(!x|y-)的值是()A) 0B) 1C) 2D) -19 .若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是()A) p=2*(int*)malloc(sizeof(int); B) p=(int*)malloc(2*sizeof(int);C) p=(int*)malloc(4*2);D) p=(int*)calloc(2,sizeof(int);10 .以下函数的功能是 ()int fun(char *s)char *t=s;while(*

18、t+);return(t-s);A)比较两个字符的大小B)计算s所指字符串占用内存字节的个数C)计算s所指字符串的长度D)将s所指字符串复制到字符串t中二、完成下列的程序填空(每空 3分,共27分)1 .输入20个数,用起泡法对这20个数升序排列。#include <stdio.h>void main()int a20;int i,j,t;printf("input 20 numbers :n");for (i=0;i<20;i+)scanf("%d”,&ai);printf("n");for(j=0;j<19;

19、j+)for(i=0;i+)if ()printf("the sorted numbers :n");for(i=0;i<20;i+)printf("%d ",ai);printf("n");2 .写一个函数,输入一个十六进制数,输出相应的十进制数。#include <stdio.h>void main()char a6;scanf("%s",a);printf("%dn",htoi(a);int htoi(char s)int i,n;n=0;for (i=0;si!=

20、9;0'i+)if (si>='0'&& si<='9')n=n*16+;if (si>='a' && si<='f) n=n*16+;if (si>='A' && si<='F') n=n*16+;return(n);3 .用指针的方法编写的函数,将一个 3的整型二维数组行列互换。#include <stdio.h>void main()void move(int *pointer);int a33,*

21、p,i;printf("input matrix:n");for (i=0;i<3;i+)scanf("%d %d %d",&ai0,&ai1,&ai2);p=&a00;move(p);printf("Now,matrix:n");for (i=0;i<3;i+)printf("%d %d %dn",ai0,ai1,ai2);void move(int *pointer)int i,j,t;for (i=0;i<3;i+)for (j=i;j<3;j+);三、

22、写出下列程序的运行结果(每小题8分,共24分)1 .以下程序运行后的输出结果是()#include <stdio.h>void main()void f(int n,int *r);int m=7,r;f(m,&r);printf("%dn",r);void f(int n,int *r)int r1=0;if (n%3=0)r1=n/3;else if(n%5=0) r1=n/5;else f(-n,&r1);*r=r1;2 .以下程序的输出结果是()#include <stdio.h>f(int a)int b=0;static

23、int c=3;b+;c+;return(a+b+c);void main()int a=2, i;for(i=0;i<3;i+) printf("%dn",f(a);3 .以下程序的输出结果是()#include <stdio.h>void fun(int *x, int *y)printf("%d %d", *x, *y);*x=3;*y=4;void main()int x=1,y=2;fun(&y,&x);printf("%d %d",x, y);四、按要求编写下列程序(第 1小题16,第2小

24、题13分,共29分)1.编程实现下面的函数,要求输入一个x的值,输出y值,函数如下:-5 (x<0)y= 0 (x=0) 5 (x>0) 2.编写一个程序,将一组数据 6, 5, 8, 1, 0, 4, 7, 3, 2, 9按从小到大的顺序排列, 程序显示排序前和排序后的结果。一、单项选择题(每小题2分,共20分)DCDDC AABAB二、完成下列的程序填空(每空 3分,共27分)1.i<19-j(ai>ai+1)t=ai;ai=ai+1;ai+1=t;2.si-'0'si-'a'+10si-'A'+103.t=*(poi

25、nter+3*i+j)*(pointer+3*i+j)=*(pointer+3*j+i)*(pointer+3*j+i)=t三、写出下列程序的运行结果(每小题 8分,共24分)1、22、783、2 14 3四、按要求编写下列程序(第 1小题13,第2小题16分,共29分)1 .编程实现下面的函数,要求输入一个x的值,输出y值,函数如下:-5 (x<0)y= 0 (x=0)5 (x>0)#include <stdio.h>void main ()int x,y;printf("enter x:");scanf("%d",&x

26、);if(x<0)y=-5;elseif(x=0) y=0;else y=5;printf("x=%d,y=%dn",x,y);2.编写一个程序,将一组数据 6, 5, 8, 1, 0, 4, 7, 3, 2, 9按从小到大的顺序排列, 程序显示排序前和排序后的结果。# include <stdio.h>#define N 10Void main()int aN= 6 , 5, 8, 1, 0, 4, 7, 3, 2, 9int i,j,t;printf( "The array before sorted:");for (i=0;i&l

27、t;N;i+)printf(" %4d' ,ai);for (i=0;i<9;i+) for (j=i+1;j<10;j+) if ( ai>aj) t=ai;ai=aj;aj=t;printf( "The array after sorted:");for (i=0;i<N;i+)printf(" %4d' ,ai);专接本计算机微机原理与汇编语言模拟试题及答案(一、单项选择题(每小题 1分,共15分)1. 8088/8086的存储器组织是将存储器划分为段,可作为段的起始地址的是()。A. 185A2HB. 00

28、020H C. 01003H D. 0AB456H2 .指令POP BX中,目的操作数的段寄存器是()。A. DS B. ES C. SS D. CS3 . CPU执行“OUT 40H AL”指令时,下列信号为高的是()。A. RDR WKC. M/fSD. INTA4 .执行1号DOS系统功能调用后,从键盘输入的字符应存放在()。A. AL B. BL C. CLD. DL5 .间接寻址方式中,操作数处在()中。A.通用寄存器B .内存单元C.程序计数器D.堆栈6 . 8086在最小模式下,分时使用 AD0AD15,所以必须外接地址锁存器,当总线上为地址信息时,通过()信号将地址送入地址锁存

29、器。A. DENB. ALEC.日野显D. DT/ R7 .在对汇编语言程序的处理过程中,用编辑程序产生汇编语言的源程序的扩展名是()。A. .EXEB. .OBJC. .BATD. .ASM8 .表示过程定义结束的伪指令是()。A. END B. ENDP C. ENDS D. ENDM9 .默认状态下,在寄存器间接寻址中与SS段寄存器对应的寄存器是()。B. BXC. SID. DI10 .标志寄存器中属于控制标志的是()。A. DF、SF、OFB. DF、IF、TFC. OF、CF、PFD. AF、OF、SF11 .两个组合十进制数 46H、35H相力口,调整指令 DAA完成的是()。A

30、.加00H调整C.加06H调整12.在8086的I/O指令中,A. BX B. SI13.浮点加减中的对阶是(B.力口 60H调整D.力口 66H调整间接端口寄存器是()。C. DX D. DI)。A .将较小的一个阶码调整到与较大的一个阶码相同B.将较大的一个阶码调整到与较小的一个阶码相同C.将被加数的阶码调整到与加数的阶码相同D.将加数的阶码调整到与被加数的阶码相同14 .保护断点就是保存()。A.中断类型码B.中断服务程序入口地址C.现场D .当前CS、IP的值15 .对以下类型的中断,优先级最低的是()。A .指令中断B.非屏蔽中断C.可屏蔽中断D.单步中断、填空题(每空1分,共20分

31、)1 .指令 MOV BX , MASKBP,若 MASK=3500H , SS=1200H, DS=1000H , BP=1000H , 那么有效地址为,物理地址为。2.对于十六进制表示的数码19.8H,转换为十进制数时为;该数码用压缩 BCD码表示时数据为。3 .已知X的补码为10011001 ,其原码是;真值为 。4 .使用DOS功能调用时,子程序的功能号应放在寄存器中。5.设堆栈段寄存器SS所存放的数据为2250H,堆栈指示器SP所存放的数据为0140H, 如压入堆栈7个数据库字,问栈顶地址、SS和SP各为、。6 .使CF标志置1的指令是 ;使DF标志清0的指令是。7 .组成16Mx8

32、位的存储器,需要1MX 4位的存储芯片 片。1 .8253可编程定时/计数器按照二进制计数,其计数范围是从 0到 ;按照BCD码计数,其计数范围是从 0到 。9 . PC机的中断类型有、和不可屏蔽中断三种,不可屏蔽中断的请求信息送CPU的 引脚。10 . 8255A的控制字的最高位 D7=1时,表示该控制字为控制字。11 .CPU可访问8259的端口地址数为。三、简答题(每小题 5分,共20分)1 .定时器和计数器有什么相同和不同?2 .什么是接口?硬接口和软接口的含义各是什么?3 .在A/D转换过程中,采样保持电路有什么作用?在什么情况下可以不使用采样保持电 路?4 .什么是中断?常见的中断

33、源有哪几类?CPU响应中断的条件是什么?四、分析题(每小题 5分,共15分)1 .若STR是字符串的首地址,阅读程序段,回答问题:LEA BX , STRMOV CX, 30LP:CMP BX ,'$'JNZ NEXTMOV BX ,'&'NEXT : INC BXLOOP LPHLT(1)指出程序的功能;(2)对程序的各个语句加上注解。2 .阅读程序段,完成指定问题:NUM DB 'ABCDEFGHIMOV AH,01HINT 21HAND AL , 0FHDEC ALXOR AH , AHMOV BX , OFFSET NUMADD BX ,

34、 AXMOV DL , BXMOV AH , 02HINT 21H试回答:(1)上述程序段的功能是什么?(2)如从键盘输入字符5'程序段有什么结果?3 .请把下列程序中所缺语句补充完整,并回答问题:TITLE EXAMPLE.ASMDATA SEGMENTA DW 0B DW 0C DW 230,20,54CODE SEGMENTASSUMEPROG PROC FARSTART: PUSH DSMOV AX.0MOV AX,DATAMOVBX, OFFSET CMOVAX, BXMOV B, AXMOV AX, 2BXADDAX, BMOVA, AXEXIT:CODE ENDS问题:(

35、1)程序执行完后,A单元的内容是多少?(2)写出上机运行本程序的步骤。五、应用题(每小题 10分,共30分)1 .首地址为DAT的数据区中有3个互不相等的8位无符号整数,编写一个完整的程序, 将这3个数的最大者存放到 MAX单元。2 .设8253计数器0工作在方式 2, CLK0为5MHz,输出OUTo为1KHz方波,二进制计数;计数器1用OUT。作计数脉冲,计数值为1000,二进制计数,计数器减到0时向CPU发出中断请求,CPU响应这一中断请求后继续写入计数值1000,开始重新计数,保持每一秒钟向CPU发出一次中断请求。试编写出对8253的初始化程序。(8253端口地址为04B0H04B3H

36、 )3 .在如图所示的电路中,试分析电路图,回答以下问题。%一叶一 85ff171- MLMW*131内4*13 - Ci寸卜_咒A7415151前C日 富、A(1) 74LS138的作用是什么?(2) 74LS138在什么条件下才工作?(3) RAM 的地址范围是多少?1.B 2.C3.A 4.A 5.B 6.B 7.D 8. B 9.A 10.B11.C 12.C 13.A 14.D 15.D解释:1 .段的起始地址必须从节开始,而每节是16个字节,所以段的起始地址用十六进制表示时应该末尾是0。2 .指令POP BX中的目的操作数为 BX指向的内存单元,而BX默认使用DS;源操作数是 堆栈

37、中的数据。二、填空题(每空1分,共20分)1.4500H、16500H(计算有效地址 EA=MASK 的 3500H+BP 的 1000H=4500H物理地址=1200H*16+EA=12000H+4500H=16500H)2、 25.5、00100101.0101B3、 11100111、-1034. AH5.22640H、2250H、0132H解:已知:DS=2250H ,栈顶地址的偏移地址 =0140H栈顶地址=(2250H '10H)+ 0140H=22640H压入7个数据字后:SP = 0140H - 2 7 = 0132HSS = 2250H6. STC、CLD7.328.

38、65535、99999.软件中断、可屏蔽中断、NMI10.方式11.2三、简答题(每小题 5分,共20分)1 .答:定时器和计数器是同一器件一-计数器,其共同的特点是都有一个计数脉冲输入端,每输入一个脉冲,计数器就进行加1或减1计数。若计数器件的计数脉冲的频率固定,则可利用计数实现定时,这就是定时器。若计数器件的作用仅仅是记录输入脉冲的多少,则称为计数器。2 .答接口是位于主机与外设之间的一些转换电路的总称.是CPU与外设交互通信的中间接点,一般由若干组存储单元组成,用于暂存数据发实现CPU与外设之间的通信,并有缓冲的功能用来平衡CPU与外设的不匹配。硬接口是用硬件来实现接口的功能,而软接口是

39、通过程 序设计来实现接口的功能的。3 .答:采样一保持电路广泛应用于数据采集系统和实时控制系统中,它的功能有两种:(1)采样跟踪状态:在此期间应尽可能快地接受输入信号,使输出和输入信号相一致(2)保持状态:把采样结束前瞬间的输入信号保持下来,使输出和保持的信号一致。由于模/数转换需要一定时间,在转换期间,要求模拟信号保持稳定,因此当输入信号变化 速率较快时,都应采用采样 一保持电路,如果输入信号变化缓慢,则可不用保持电路。4 .答:中断是指CPU在正常执行程序时,由于内部 /外部时间或程序的预先安排引起CPU暂时终止执行现行程序,转而去执行请求CPU为其服务的服务程序,待该服务程序执行完毕,又

40、能自动返回到被中断的程序继续执行的过程。常见的中断源有:一般的输入 /输出设备请求中断;实时时钟请求中断;故障源;数据通道 中断和软件中断。CPU响应中断的条件:若为非屏蔽中断请求,则CPU执行完现行指令后,就立即响应中断。 CPU若要响应可屏蔽中断请求,必须满足以下三个条件:无总线请求;CPU允许中断; CPU执行完现行指令。四、分析题(每小题 5分,共15分)1. (1)程序功能:将字符串 STR (长度30字节)中所有$ 用代替。(2) LEA BX, STR ;置地址指针MOV CX, 30;置计数器初值LP:CMP BX ,;取字符与$ '比较JNZ NEXT;不是 飞

41、9;转 NEXTMOVBX ,;是$ 则用替换NEXT : INC BX;地址加 1LOOP LP; CX 1 为。继续HLT2 .答:(1)程序段功能:根据从键盘输入的字符产9'确定在显示器上显示 NUM中第几个字符。(2)显示器显示字符'E'解释如下:MOV AH,01;从键盘输入 5'INT 21H; AL=35HAND AL , 0FH; AL=05HDEC AL ; AL=04HXOR AH , AH;AH=0MOV BX , OFFSET NUM ;BX 指向 NUM 的首地址ADD BX, AX ;BX指针向高地址移动 4下MOV DL, BX ;

42、DL= ' BX旨针指向的内容即E' MOV AH , 02HINT 21H;显示输出E'3 . (1)程序执行完后,A单元的内容是250。(2)写出上机运行本程序的步骤是:答:C>MASM EXAMPLEC>LINK EXAMPLEC>EXAMPLE五、应用题(每小题 10分,共30分)1 .参考程序如下:DATA SEGMENTDAT DB 23H,32H,13HMAX DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,DAT;AL 23H

43、MOV BL,DAT+1;BL 32HMOV CL,DAT+2;CL 13HLOP1: CMP AL,BLJA LOP2;AL中的数据高于 BL中的数据则跳转致 LOP2XCHG AL,BLLOP2: CMP AL,CL;AL中的数据高于 CL中的数据则跳转致 LOP3JA LOP3XCHG AL,CL;AL中的数据为最大值LOP3: MOV MAX,AL ;将最大者存放到 MAX 单元MOV AH,4CHINT 21HCODE ENDSEND START2 .参考答案:计数器。工作在方式2,初值N=5M/1K=5000 ,控制字为34H, 计数器1工作在方式0,计数初值为1000,控制字为7

44、0H;程序段如下:;计数器0初始化,写入控制字MOV AL , 34HMOV DX , 04B3HOUT DX, AL;计数器0赋初值,先写低 8位再写高8位MOV AX , 5000MOV DX , 04B0HOUT DX , ALMOVAL , AHOUT DX, AL;计数器1初始化,写入控制字MOV AL , 70HMOV DX , 04B3HOUT DX , AL;计数器1赋初值MOV DX , 04B1HOUT DX, ALMOVAL , AHOUT DX , AL3.答:(1) 74LS138的作用是地址译码;(2) 74LS138在G1为高电平,G2A和G2B都为低电平时才工作

45、;(3) RAM 的地址范围是 72000H73FFFH。解释:RAM芯片的片内地址是 Ai2Ao,片外地址为 Ai9Ai3 ,其中地址为 Ai5Ai3 是译码器输入端,应该为 00i; Ai9 Ai8 Ai7 Ai6应该为0iii 。所以 20 为地址是 0111 001 00000000000000111 001 1111111111111 。专接本计算机微机原理与汇编语言模拟试题及答案(二 )一、单项选择题(每小题1分,共15分)1 .十进制正数38的八位二进制补码是()。A. 00011001 B. 10100110 C. 10011001 D, 001001102 .以下属于总线仲裁

46、器的是()。A. 8288 B. 8289 C. 0809 D. 80893 .在数据定义中,如果将 STRING ABC作为字符串表示时,应使用的伪指令是()。A. DB B. DW C. DD D. DQ4 .若将AH的内容的高四位分离,则应选用()。A . AND AL , 0F0HB. OR AL , 0F0HC. XOR AL , 0F0HD. TEST AL , 0F0H5 .不能实现将AX清零和CF清零的指令是()。A. SUB AX , AXB. MOV AX , 0C. XOR AX , AXD. AND AX , 06 . LDS指令要求源操作数必须为()。A. 一个16位

47、寄存器B. 一个存储器操作数C. 一个有效地址D. 一个段寄存器7 .条件转移指令JNE的测试条件为 ()。A. ZF=0 B. CF=0 C. ZF=1 D. CF=18 . ORG设定当前可分配内存单元的()。A.段地址 B.偏移地址C.类型 D.字节数9 .计算机系统软件中的汇编程序是一种()。A.汇编语言程序B.编辑程序C.翻译程序D.链接程序10 . CPU在对存储器进行访问时,地址线有效和数据线有效的时间关系应该是()。A .同时有效同时无效B.地址线较先有效C.数据线较先有效D.地址数据复用同时有效11 .响应NMI请求的必要条件是()。A. IF=1B. IF=0C. 一条指令

48、结束D.无INTR请求12 .在微机系统中采用 DMA方式传输数据时,数据传送是()。A .由CPU控制完成B .由执行程序(软件)完成C.由DMAC发出的控制信号完成D .由总线控制器发出的控制信号完成13 .若8259A工作在优先级自动循环方式,则IRQ3的中断请求被响应并且服务完毕后,优先权最高的中断源是()。A. IRQo B. IRQ2 C. IRQ3 D. IRQ414.在中断系统中,中断类型号是在()的作用下送往CPU的。A.读信号C.中断请求信号INTRD.中断响应信号B.地址译码信号15. 8086响应以下中断时,需要到数据总线读入中断类型码的是(A.单步中断B.指令中断C.

49、可屏蔽中断D .非屏蔽中断二、填空题(每空1分,共20分)1.8086CPU 具有条地址线,可直接寻址容量的内存空间,在访问I/O端口时,使用地址线,最多可寻址个I/O端口。2 .每次进行串扫描指令 SCAS时,使用的段寄存器是,变址寄存器是。3 .已知一个具有14位地址和8位数据的存储器,该存储器能存储字节的信息,如果存储器由8Kx4位RAM芯片组成,需要 片。4 . 8255A的工作方式有基本型输入 /输出方式、I/O方式和 I/O方式。5 . 8086/8088微处理器被设计为两个独立的功能部件是 和。6 .所谓指令的寻址方式是指寻找的方式。7 .在Intel2116动态RAM存储器中,

50、对存储器刷新的方法是每次刷新个单元.8 . DMA9.中断向量是中断服务程序的 ,每个中断向量占 字节。Intel 8086将 对应256类中断的中断向量组成一张 ,占据内存从0到 一 H区间。三、简答题(每小题 5分,共20分)1.8086系统中的存储器分为几个逻辑段?各段之间的关系如何?每个段寄存器的作用是什 么?2 . BHE低电平信号的作用是什么?试说明当起始地址为奇地址、偶地址、一次读写一个字 节和一个字时,BHE和A0的状态。3 .试分析8253的6种工作方式的特点和功能, 各方式下的日钟信号 CLK和门控信号GATE 分别起什么作用?4 .在一个微型计算机系统中,确定采用何种方式

51、进行数据传送的依据是什么?四、分析题(每小题 5分,共15分)1 . DATA DB 46H, 84, 34, 3, 20H, 122, 73MOV CX , 7LEA S1, DATANEXT : MOV AL , SIINC SITEST AL , 81HLOOPZ NEXTMOV BL , SI程序段运行后,请回答:(AL ) =(BL)=。2 .阅读程序段,回答问题:D1 DB 300 DUP (?)D2 DB 100 DUP (?).MOV CX , 100MOV BX , 200MOV SI , 0MOV DI , 0NEXT : MOV AL , D1BXSIMOV D2DI ,

52、 ALINC SIINT DILOOP NEXT(1)该程序段的功能:2 2) “LOOP NEXT指令可以用什么指令取代:3 .执行完下列程序后,回答指定的问题。MOV AX , 0MOV BX , 2MOV CX , 50LP: ADD AX , BXADD BX , 2LOOP LP问:(1)该程序的功能是(2)程序执行完成后,(AX)=。五、应用题(每小题 10分,共30分)1 .已知在内存中从 DA单元起存放有10个带符号字节数据,统计其中负数的个数并放入FU单元。2 .编写程序,计算下面函数的值。产(X < 0)(0 X <- 10) *4工x >103.用查询方

53、式的打印机接口如图,已知 8255的A 口作为输出打印的数据口,工作于方 式0, PC 口高4位工作于输出方式,PC6产生STB信号(低电平有效),PC 口的低4位工作于输入方式,PC2接收打印机的BUSY信号。设打印字符存放在数据段中有效地址为2000H的内存单元。请写出8255A的初始化程序和打印子程序。(8255的口地址为80H83H )pcf十, - pa+j/P打印机" , 针aA心泰泌Busk参考答一、单项选择题(每小题1分,共15分)I .D 2.B 3. A 4.A 5.B 6.B 7.A 8.B 9.II .C 12.C 13.D 14.D 15.C1C 10.B解

54、释:2. 8288为总线控制器;0809为模数转换器;8089为I/O处理器9 .常用的汇编程序是 MASM ,属于汇编翻译程序,是把汇编源程序翻译为机器目标程序的 程序。10 .在8086/8088中尽管地址数据复用,但是是分时复用,即在总线周期的T1传送地址,在T2-T4传送数据,所以地址线较先数据线有效。15.8086响应可屏蔽中断中断时,由硬件提供中断类型号,是在响应信号 INTA (低电平有 效)的第二个响应周期时放入数据总线; 非屏蔽中断无响应信号; 内部中断由指令直接获取 中断类型号。二、填空题(每空1分,共20分)1.20、1MB、16 条、64K2. ES、DI3. 16K、

55、4片4.字节选通、双向5. EU、BIU6.操作数7.128 (2116容量为16KX1,即7位地址线行线和列线复用,每次刷新一行的128个单元)8.外设、存储器 9.入口地址、4、中断向量表、003FFH三、简答题(每小题 5分,共20分)1.8086系统中的存储器分为几个逻辑段?各段之间的关系如何?每个段寄存器的作用是什 么?答:8086CPU将1MB的存储空间分成逻辑段来进行管理:每个逻辑段最小为16B。所以最多可分成64K个段;每个逻辑段最大为 64KB,最少可分成16个逻辑段。各段的起始位置 由程序员指出,可以彼此分离,也可以首尾相连、重叠或部分重叠。4个16位的段寄存器用来存放每一个逻辑段的段起始地址:CS中为代码段的起始地址;DS中为数据段的起始地址;SS中为堆栈段的起始地址;ES

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论