当前位置:文档之家› 福建省历年C语言选择题汇编

福建省历年C语言选择题汇编

福建省历年C语言选择题汇编
福建省历年C语言选择题汇编

福建省历年C 语言选择题汇编

1、若定义:int x=2; y=3; float i ; 则以下符合C 语言语法的表达式是(B )

A 、x=x* 3=2

B 、x=(y= = 1)

C 、i=float(x)

D 、i%(-3)

2、若有定义:int a=5, b=2, c=1;则表达式a-b

A 、0

B 、1

C 、2

D 、-1

3、若有定义:float x=3.5; int z=8; 则表达式x+z%3/4的值是(B )

A 、3.75

B 、3.5

C 、3

D 、4

4、有如下定义 int a[ ][3]={1,2,3,4,5,6,7,8,};则数组a 的行数(B )

A 、 2

B 、 3

C 、 4

D 、无法确定

5、C 程序中main 函数的位置(D )

A 、必须在最开始

B 、必须在系统库函数后面

C 、可以在自定义函数后面

D 、必须在最后

6、下面关于C 语言用户标识符的描述,正确的是(D )

A 、不能区分大小写

B 、用户标识符不能描述常量

C 、类型名也是用户标识

D 、用户标识符可以作为变量名

7.若有定义:int a=1,b=2,c=3;语句++a||++b &&++a 运行后b

的值为(D ) A .1 B.0 C.2 D.3

8.设单精度型变量+,g 的值均为2.0,使+为4.0的表达式为(A )

A.1

B.0

C.2

D.3

9.对于整型变量x 。下述计语句(B )与赋值句:x=x%2= =0?1:0;不等价

A .if (x%2!=0)x=0;else x=1;

B if (x%2)x=1;else x=0;

C.if (x%2= =0)x=1;else x=0; D .if (x%2==1) x=0;else x=1;

10.以下数组定义中,正确的是(B )

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

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

C.int a[2] []={1,2,3,4,5,6};

D.int a[] [4]={6};

11.若有定义:#define PI 3,则表达式PI *2*2的值为(A )

A.12

B.4

C.3

D.不确定

12.下面语句正确的是( B )

A int *P ;*P=20; B.char *s=“abcdef ”;printf (“%s\n ”,S );

C char str[]=“abcdf ”;printf (“%S ”,str );

D.[](){',','};int "%",;char str a b c pr f s str =

13.若有定义:int a=2;则正确的赋值表达式是(A)

A.a- =(a *3) B.double(-a) C.a * D.a *4=3

14.若有定义:int a=6,b=2;char C1=‘a ’,C2=‘b ’;则表达式a+b%5+C2-C1的值是(C )

A .7 B.8 C.9 D 表达式错误

15.若有定义:char str[6]=“abcdm ”,*ps ,*str2=“abcdef ”;正确的是(B )

A.stycpy (str1,str2);

B.表达式strcmp (str1,str2)的值>0

C.str1=str2;

D.表达式strlen (str1)的值为6

16.关于C 语言函数的描述中,正确的是(B )

A. 函数的定义可以嵌套,但函数的调用不可以嵌套

B. 函数的定义不可以嵌套,但函数的调用得意嵌套

C. 函数的定义和函数的调用都可以嵌套

D . 函数的定义和函数的调用都不可以嵌套

17.设有如下定义typedef int *INTEGER;INTEGER P,*q;则(C)是正确的表述

A.P是int型变量 B .q是基类型为int的指针变量

C.P是基类型为int的指针变量

D.程序中可用INTEGER代替int类型名。

18.若有定义:int m=5. n=3则表达式(m+1,n+1,(- -m)+(n--))的值是(D)

A.6

B.7

C.8

D.9

19.已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B)

A.scanf(“%d”,&a);

B.scanf(“%lf”,&a),

C.scanf(“%c,&a)

D.scanf(”%u“,&a)

20.C语言对于计嵌套语句的规定:else总是与(B)配对

A.第一个if

B.之前最近且尚未配对

C.缩进位置相同的if D之前最近的if

21.对于基类型相同的两个指针变量之间,不能进行的运算是(C)

A.<

B.=

C.﹢

D.﹣

22.若函数fun的函数头为:int fun(int i,int j)且函数指针变量P定义如下:int (*P)(int i,int j);则要使指针P指向函数fun的赋值语句是(B)

A. P=*fun

B. P=fun;

C. P=fun(i,j)

D. P=&fun

23.在对于无符号数的位运算中,操作数右移一位相当于(A)

A.操作数除于2

B.操作数乘以2

C.操作数除于4 D .操作数乘以4

24.关于C语言的叙述中,不正确的是(D)

A. C程序可由一个或多个函数组成

B. C程序必须包含一个main()函数

C. C程序的基本组成单位是函数

D. 注释说明只能位于一条语句的后面

25.若有说明语句:char C=‘\95’;则变量C包含(A)个字符

A.1

B.2

C.3

D.语法错误

26.若有定义:int a;则语句a=(3*4)+2%3;运行后a的值为(B)

A. 12

B.14

C.11

D.17

27.下面叙述中,错误的是(A)

A.其算术运算对象不包含函数

B.%(模拟运算符)的运算对象只能为整型量

C.算术运算的结合方向是“自左向右”

D.自加和自减运算符的结合方向是“自右向左”

28.结构化程序设计不包括(A)

A.最优化 B自顶而下,逐步细化 C 模拟化设计 D结构化编码

29.已知int a=‘R’;则正确的表达式是(A)

A.a%10

B.a=int(3e2) C .2*a=a++ D.a=a+a=a+3

30.对于整型变量x,与while(!x)等价的是(B)

A.while(x!=0)

B.while(x==0)

C.while(x!=1) Dwhile(~x)

31.以下能对一维数组a进行正确初始化的语句是(D)

A.int a[5]=(0,0,0,0,0,)

B.int a[5]=[0]

C.int a[5]={1,2,3,4,5,6,7}

D.int a[]={0}

32.若有定义:int a=20,b=28,C;则执行语句C=(a&b)>>2;后C的值为(A)

A.5

B.7

C.80

D.112

33.结构化程序设计的三种基本语句是(C)

A.函数结构, 分支结构判断结构

B.函数结构嵌套结构平行结构

C.顺序结构分支结构循环结构

D.分支结构循环结构嵌套结构

34.以下(A)是不正确的字符串常量

A.‘abc’

B.“12′12”

C.“O” D“”

35.已知double a=5.2;则正确的赋值表达式是(A)

A.a+=a-=(a=4)*(a=3) B a=a*3=2 C a%3 D a=double(-3)

36.以下的计语句中,x的值一定被重新赋值的是(B)

A.if(x==y) x+=y; B if(x>y&&x!=y);x+=y;

C.if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y);

D.if(x<y) {x++;y++}

37.设有如下定义:char str[8]={“Fujian”};则分配给数组str的存储空间是(C)字节

A.6

B.7

C.8

D.9

38.设有以下定义语句:struct student {int num; char name[10];float score;}wang,zhang;的变量wang所占的内存字节是(B)

A.14

B.16.

C.18

D.9

39.设有double型变量a,b,c,e均有值,对代数式(3ae)/(bc),不正确的语言表达式是(C)

A.a/b/c*e*3

B.3*a*e/b/c

C.3*a*e/b*c

D.a*e/c/b*3

40.关于C语言数据类型的叙述,正确的是(C)

A.枚举类型不是基本类型

B.数组不是构造类型

C.变量必须先定义后使用

D.不允许使用空类型

41.以下的语句中,无内嵌的if语句是(D)

A.if(x==y)x+=y;

B.if(x>y&&x!=y)x+=y;

C.if(x!=y)scanf(“%d”,&x);else scanf (“%d”,&y)

D.if(x<y) {x++;y++}

42.以下运算符中优先级最高的是(D)

A.>

B.||

C.&&

D.+

43.若有自定义:int a,b;double x.,则以下不符合C语言的表达是(A)

A.x%(-3)

B.a+=-2

C.a=b=2

D.x=a+b

44.关于C语言的源程序的叙述中,错误的是(C)

A.C语言的源程序由函数构成

B.main函数可以书写在自定义函数之后

C.必须包含有输入语句

D.一行可以书写多个语句

45设有以下定义语句:struct student {int num ;char name[10];float score;}wang,zhang;则不正确的叙述是(C)

A.struct 是结构体类型的关键字

B.zhang是结构体变量名

C.wang是结构体类型名

D.num,name,score都是结构体类型student的成员名

46.若有定义:int a[3] [3];则表达式&a[2][1]-a的值为(B)

A.7

B.8

C.6

D.9

47.下列数组定义中,正确的是(A)

A.int a[10]

B.int n=10 a[n];

C.int N=10;int a[N];

D.int n; scant(“%d”,&n);int a[n]

48.若有定义inta[2][3];则对数组元素的非法引用是(D)

A.a[0][1/2]

B.a[1][1]

C.a[4-4][0]

D.a[0][3]

49.若有int a=2 则a=strcmp(“miss”,“miss”)运行后a的值为(B)

A.1

B.0

C.-1.

D.2

50.若struct teacher{int num;char name[10];char sex; int age; float score ;}teacher1;则变量teacher1所占用的内存字节是(C)

A.5

B.14

C.19.

D.20

51.以下(D )是正确的变量名

A.a.bee

B.-P11

C.int

D.P _11

52.下面叙述中,(A )不是结构化程序设计中的三种基本结构之一

. A.数据结构 .B.选择结构 C.循环结构 D.顺序结构

53.若有定义:int a=1,b=2 ,c=3,d=4,x=5,y=6 则表达式(x=a >b )&&(y=c >b )的值为(A )

A.0

B.1

C. 5

D.6

54.以下(D )是正确变量名

A.5f

B.if

C.f.5

D._f5

55.char 型变量存放的是(A )

A.ASC Ⅱ码值

B.字符本身 . C 十进制代码值 . D 十六进制代码值

56.Putchar ()函数的功能是向终端输出(B )

A.多个字符 .

B.一个字符

C.一个实型变量值

D.一个整型变量表达式

57.若有定义:int x=3,y=4,z=5 则值为0的表达式是(D )

A.‘x ’&&‘y ’

B. x <=y

C. x||y=z &&y-z

D. !((x <y )&&!z||1)

58.以下程序结束后屏幕输出(B )

char str[]=“ab\\cd ”;printf(“%d ”,strlen(str));

A.4.

B.5

C.6

D.7

59.若有定义:a x ,int ;则语句()1,3+==a a x ;运行后,x 、a 的值依次为( C )

A .3,3

B .4,4

C .4,3

D .3,4

60.若有定义:b a ,int ;则表达式()b a b a b a +++*==,,2,5,2的值是( D )

A .7

B .8

C .9

D .10

61.已有如下定义和输入语句

a int ;char 1c ,2c ;

(%%%,&,&1,&2)scanf d c c a c c '''';

若要求a 、1c 、2c 的值分别为10、A 和B ,正确的数据输入昌( B )

A .10A

B B .10 A B

C .10A B

D .10 AB

62.若有定义:int 2,3; 3.5, 2.5a b float x y ====;则表达式()()()()/2int %int float a b x y ++的值是(A )

A .3.5

B .3.0

C .2.5

D .2.0

63.以下程序运行后,循环体运行的次数为( B )

()int 10,;

;10;;i x for i i x x i =<++=+

A .10

B .0

C .1

D .无限

64.已知[]int 10a ;则对a 数组元素引用不正确的是( A )

A .[]10a

B .[]35a +

C .[]1010a -

D .[]5a

65.设有以下变量定义:

[][]1"",28,3;4""char str string str str str string =**=;

( A )是正确的

A .()1,""strcpy

str china ; B .2""str china =; C .()3,""strcpy str china *; D .[]()40,""strcpy str china ;

66.设有以下语句,则( D )是对a 数组元素的不正确引用,其中010i ≤<。[]int 10{0,1,2,3,4,5,6,7,8,9},a p a =*=

A .[]a p a -

B .[]()&a i *

C .[]p i

D .()()a i **+ 67.、假定已有如下落不明变量说明和枚举定义:

[];int ,;

{,,,,,,};

int ;

char ch j k enum day sum mon tue wed thu fri sat a sat

判定下列语句是否符合语法规则,结果是( C ) []();

/1/;

/2/0;

/3/char a j k j if a mon j **+=**>++**语句语句语句

A .语句2错误,其它正确

B .语句1正确,其它错误

C .语句3正确,其它错误

D .语句错误,其它正确 68.以下叙述不正确的是( D )

A 、C 程序的执行总是从main 函数开始

B 、一个

C 源程序必须包含一个main 函数

C 、C 语言程序的基本组成单位是函数

D 、在编译C 程序源程序时,可发现注释中的拼写

69. 以下(B )是错误的整形常量

A 、-0xcdf

B 、018

C 、0xe

D 、011

70.语句a=(3/4)+3%2; 运行后,a 的值为(B )

A 、0

B 、1

C 、2

D 、3

71.设整形变量a 为5, 使b 不为2的表达式是(C )

A 、b=(++a)/3

B 、b=6-(--a)

C 、b=a%2

D 、b=a/2

72.已知如下定义和输入语句:

int a, b;

scanf (n%d, “%d ”,&a, &b);

若要求a 、b 的值分别为10和20,正确的数据输入是(A )

A 、10 20

B 、10,20

C 、a=10, b=20

D 、10;20

73.若有定义,int x=3, y=4; 则表达式!x ‖y 的值为(A );

A 、1

B 、0

C 、3

D 、4

74、已知char a=’R’;则正确的赋值表达式是(D);

A、a=(a++)% 4

B、a+2=3

C、c a+=256--

D、a=‘\078’

75.设有整型变量x,下述语句(B)不会出现死循环

A、for(; ; x+=1);

B、for(; (x=gether( ))!=‘1n’; );

C、while (1) {x++;}

D、for(x=10; ; x--);

76、以下能对一维数组a进行正确初始化的语句是(D)

A、int a[5]=(0, 0, 0, 0, 0);

B、int a [s]=[0];

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

D、int a [ ] = {0};

sizeof a sizeof a的值为( A )

77.若有定义int a [ ] [ 3 ]={1,2,3,4,5,6,7,8,9};则表达式()/([0])

A、3

B、4

C、5

D、9

78、以下叙述中,正确的是(A)

A、宏展开不占用运行时间,只占用编译时间

B、预编译处理命令行必须以分号结束

C、一个源程序只能有一个预编译处理命令行

D、使用带参数的宏定义时,应该说明每个参数的数据类型

79、在16位编译系统上,若有定义int a [ ]={10,20,30},*p=&a;当执行p++;后下列叙述错误的是(A)

A、p向高地址移了一个字节

B、p与a+1等价

C、语句printf(“%d”, p);输出20

D、p指向数组元素a[1]

80、以下C语言共用体类型数据的描述中,不正确的是(D)

A、共用体变量占的内存大小等于所需内在最大的成员所占的内存

B、共用体类型可以出现在结构体类型定义中

C、在定义共用体变量的同时允许对另一个成员的值进行初始化

D、同一共用体中各成员的首地址不相同

81、若有以下类型说明,叙述正确的是(A)

typedef sturct

{ int num;

char *name;

int score;

} STU, *PSTU

A、STU 是变量名

B、PSTU是变量名

C、PSTU是指向结构体类型STU的指针类型名

D、类型说明语句有错误

82、以下叙述正确的是(D)

A、C语言中的文件是流式文件,因此只能顺序存取数据

B、打开一个已存在的文件进行了写操作后,原有文件中的全部数据必定被覆盖

C、在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第一个数据

D、当对文件的写操作完成之后,必须将它关闭,否则可能导致数据丢失

83、在C语言源程序中,以下叙述正确的是(C)

A、main函数必须位于文件的开头

汇编语言试题及参考答案

汇编语言试题及参考答案 一,填空题 1.ZF标志位是标志结果是否为零的,若结果,ZF为( 1 ),否则ZF为( 0 ).当ZF为1时,SF为( 0 ) 2.标号可以有两种类型属性.它们是( )和( ) 3.8位无符号整数的表示范围为0--255,写成16进制形式为( ),8位有符号整数的表示范围为-128--+127,写成16进制形式为( ) 4.伪指令DB,GROUP 和NAME 三个标号名字域必须有名字的是( ),不得有名字的是( ),可有可无名字的是( ). 5.循环程序通常由( )( )( )和循环结果外理四部分构成 6.在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/( )于+,-;XOR,OR( )于AND,LT( )于GT 7. 宏指令定义必须由伪指令( )开始,伪指令( )结束,两者之间的语句称为( ) 8.调用程序与子程序之间的参数传递方法有四种,即堆栈法( )( )( ) 9.分别用一条语句实现下述指明的功能 (1)栈顶内容弹出送字变量AYW( ) (2)双字变量AYD存放的地址指针送ES和SI( ) (3)变量AY2类型属性送AH( ) (4)不允许中断即关中断( ) (5)将字符串'HOW ARE YOU!'存入变量AYB( ) (6)子程序返回调用程序( ) (7)地址表达式AYY[4]的偏移地址送字变量ADDR( ) (8)AX的内容加1,要求不影响CF( ) (9)BX的内容加1,要求影响所有标志位( ) (10)若操作结果为零转向短号GOON( ) 二,单选题 1.IBM PC微机中,有符号数是用( )表示的 1.原码 2.补码 3.反码 4.BCD码 2.把汇编源程序变成代码程序的过程是( ) 1.编译 2.汇编 3.编辑 4.链接

《汇编语言与接口技术》答案习题解答(第三章)

解: mov ah,1 ;只允许输入小写字母 int 21h sub al,20h ;转换为大写字母 mov dl,al mov ah,2 int 21h ;显示 解: mov ax, bufX cmp ax, bufY jge done mov ax, bufY done: mov bufZ, ax 解:

.model small .stack .data bufX dw -7 signX db .code .startup cmp bufX,0 ;test bufX,80h jl next ;jnz next mov signX,0 jmp done next: mov signX,-1 done: .exit 0 end 解: mov dl,’2’ mov ax,bufX cmp ax,bufY je next1 dec dl next1: cmp ax,bufZ je next2 dec dl next2: mov ah,2 int 21h

编制程序完成12H、45H、0F3H、6AH、20H、0FEH、90H、0C8H、57H和34H等10个字节数据之和,并将结果存入字节变量SUM中(不考虑溢出和进位)。 ; .model small .stack .data b_data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据num equ 10 ;数据个数 sum db ;预留结果单元 .code .startup xor si, si ;位移量清零 xor al, al ;取第一个数 mov cx, num ;累加次数 again: add al, b_data[si] ;累加 inc si ;指向下一个数 loop again ;如未完,继续累加 mov sum, al ;完了,存结果 .exit 0 end 解: lucase proc push bx mov bx,offset string cmp al,0 je case0 cmp al,1

汇编程序及接口技术实验报告

微机汇编程序及接口技术实验报告 汇编程序实验: 一、实验目的 1、熟悉汇编程序调试过程 2、掌握算术运算指令运用 3、掌握分支程序的编程和调试方法 二、实验设备 80X86微型计算机 三、实验内容 1、编程并调试显示“Hello Word!”字符串的汇编程序 TITLE HELLO DA TA SEGMENT STR DB'Hello World!$' DA TA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START:MOV AX,DATA MOV DS,AX MOV DX,OFFSET STR MOV AH,9H INT 21H MOV AH,4CH INT 21H CODE ENDS END START

2、A、B、C、D、W是互不相等的在数据段中定义的16位有符号数,并假设加减运算不产生溢出。编写一个完整段定义的汇编语言程序,计算W=(A+B)×(C—D)。 title asmprogram1_1 DA TA SEGMENT A DW 1H B DW 3H C DW 4H D DW 2H W DW 2 DUP(?) DA TA ENDS ; CODE SEGMENT ASSUME DS:DATA,CS:CODE START:MOV AX,DATA MOV DS,AX MOV AX,A ADD AX,B MOV BX,C SUB BX,D IMUL BX MOV W,AX MOV W+2,DX MOV AH,4CH INT 21H CODE ENDS END START

3、设X、Y为在数据段中定义的有符号字变量。编写一个完整段定义的汇编语言程序(包含必要的伪指令,给出必要的注释)完成以下操作:若0

汇编语言复习题(附答案)

汇编语言复习题 注:蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。在此文档最后最后附有课 后四、六章的答案,大家抓紧时间复习哦! 一、选择题 1. 把要执行的程序与库文件连接起来形成可执行文件的系统程序是(B )。 A. 汇编程序 B. 连接程序 C. 机器语言程序 D.源代码程序 2. 在8088/8086的寄存器组中,CPU确定下一条指令的物理地址时需要用到的寄存器对是 (C )。 A..SS 和SP B.DS 和DI C.CS 和IP D.ES 和SI 3. 为了使主机访问外设方便起见,外设中的每个寄存器给予一个(C )。 A.物理地址 B. 逻辑地址 C. 端口地址 D. 段地址 4. MOV AX, 3064H,该指令中源操作数采用的寻址方式是(A )。 A.立即 B. 直接 C. 寄存器相对 D. 寄存器间接 5. 换码指令的助记符是(C )。 A. XCHG B. LEAS C.XLAT D. MOV 6. 如果A> B (A、B有符号数)发生转移,应选择的条件转移指令是(JGE )。 7. 下列符号中,可用作标识符的是(C )。 A.MOV B.AX C.MSG1 D.1ABC 8. X DB 10H DUP (1 , 2)内存变量定义语句拥有了( A )个字节的存储空间。 A.20D B.10D C.20H D.10H 9. 当DF=0时,执行串操作指令MOVSB变址寄存器SI、DI的值将(C )。 A.不变 B. 减1 C. 加1 D. 无法确定 10. 如下指令可将AX寄存器内容改变的是(A )。 A. AND AX , BX B . TEST AX , BX C. CMP AX , BX D . XCHG AX , AX 11.16位CPU支持的I/O 地址范围是(D )。 A. 0~0FFFFFH B. 0~0FFFFH C. 0~0FFFH D. 0~0FFH 12. MUL CL指令实现的功能是(A )。 A.无符号乘法:AX AL X CL B.有符号乘法:AX AL X CL C.无符号乘法:DX AL X CL D .有符号乘法:DX AL X CL 13. DOS系统功能调用(INT 21H )中,显示字符串的功能号是(D )。 A.01H B.02H C.08H D. 09H 14. 在16位CPU读取指令时,需要用到的寄存器对是(C )。 A.SS 和SP B.DS 和DI C.CS 和IP D.ES 和SI 15. 下列指令中,源操作数(既第2操作数)属于基址加变址寻址方式是(B )。 A.MOV AX,23H B. MOV AX,[BX+SI] C.SUB AX,[BX] D. ADD AX,BX 16. 有内存变量定义语句:VAR DW 10 DUP(1 , 2), 1234H, VAR的属性TYPE LENGTH和

《汇编语言与接口技术》期末考试试题及答案

第一学期期末考试 汇编语言与接口技术 试卷A 卷 考试方式:闭卷 考试时间:120分钟 卷面总分:100分 一、选择题(本题共20小题,每题2分,共40分) 1. 汇编源程序的后缀名是 ( C ) A 、exe B 、.obj C 、.asm D 、.lib 2. 作为8位有符号数补码,80H 的真值是 ( C ) A 、0 B 、-2 C 、-128 D 、128 3. 8086 CPU 内部能够记录代码段段地址的寄存器是 ( D ) A 、DS B 、IP C 、CX D 、CS 4. 若(AX)=35F0H ,(CX)=00B8H ,当AND AX ,CX 指令执行后,AX 寄存器的值为 ( B ) A 、 1400H B 、 00B0H C 、 0000H D 、 0FFFFH 5. 若(SP)=1000H ,则执行指令PUSH AX 后SP 的值为 ( B ) A 、0FFFH B 、0FFEH C 、1002H D 、1001H 6. Mul BX 指令隐藏操作数的寄存器是 ( D ) A 、BX B 、CX C 、SI D 、AX

7.能够将AL中的1、3、5位取反的指令是 ( C ) A、AND AL , 2AH B、OR AL , 2AH C、XOR AL , 2AH D、TEST AL , 2AH 8.循环指令LOOP结束循环的条件是 ( D ) A、CX≠0 B、ZF=0 C、IF=0 D、CX=0 9.除法指令DIV BL中,被除数在寄存器 ( A ) A、AX B、DX C、DX:AX D、BX 10.输出单个字符的2号DOS功能调用的入口参数是 ( C ) A、AH B、AL C、DL D、DH 11.以下对伪指令的描述正确的是 ( D ) A、伪指令没有操作数 B、伪指令没有目标代码 C、汇编程序中伪指令可有可无 D、伪指令不会被执行 12.某伪指令X=12H中所定义的X是 ( B ) A、变量 B、常量 C、标号 D、段名 13.下面指令序列执行后完成的运算,正确的算术表达式应是( D ) MOV AL,BYTE PTR X SHL AL,1 DEC AL MOV BYTE PTR Y,AL A、Y=X*2+1 B、X=Y*2+1 C、X=Y*2-1 D、Y=X*2-1 14.下面指令结束后目标操作数不变化的是 (D ) A、INC BX B、SUB AX,BX

汇编语言程序设计教学大纲

《汇编语言程序设计》课程教学大纲 二、课程简介 汇编语言是计算机能够提供给用户使用的最快最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而,对程序的空间和时间要求很高的场合及需要直接控制硬件的应用场合,汇编语言的应用是必不可少三、课程目标 汇编语言课程是计算机专业的一门专业选修课。通过本课程的学习,应使学 生系统地了解计算机组成原理与内部的运行机理,掌握汇编语言程序设计及相关 知识,为学习本专业后继课程和进行与硬件有关的技术工作打下良好基础。通过 上机实验,使学生受到软硬件实验的初步训练,并培养学生分析问题和解决问题 的能力。 四、教学内容及要求 第一章基础知识 1.教学内容 (1) 为什么要用汇编语言编写程序 (2) 进位计数制与不同基数的数之间的转换 (3) 二进制数和十六进制数运算 (4) 计算机中数和字符的表示 (5) 几种基本的逻辑运算 2.基本要求 了解机器指令、代码指令、机器语言、汇编指令、汇编语言、汇编语言源程 序、汇编程序、汇编等概念;掌握进位计数制与不同基数的数之间的转换及

运算;计算机中数和字符的表示;“与”、“或”、“非”、“异或”等几种基本的逻辑运算; 第二章80X86计算机组织 1.教学内容 计算机系统概述、存储器、中央处理机和外部设备。 2.基本要求 理解计算机的硬件和软件系统及其关系。掌握计算机的基本结构及总线;存储器的内容、地址及存储器的分段;中央处理机的组成、80X86系列CPU工作寄存器构成和功能,特别是段寄存器和标志寄存器;外设接口、端口和8086/8088的端口地址范围和访问方法。 第三章80X86的指令系统 1.教学内容(重点内容) IBM PC机的寻址方式、IBM PC机的指令系统。 2.基本要求 熟练掌握IBM PC机寻址方式及物理地址的计算;数据传送、算术、逻辑、串处理、控制转移和处理机控制指令六组中的所有指令的格式、操作、及影响的标志位。了解机器语言的指令组成; 第四章汇编语言程序格式 1.教学内容 汇编程序功能、伪操作、汇编语言程序格式、汇编语言程序的上机过程。 2.基本要求 掌握DEBUG程序和命令及能用DEBUG 程序调试和运行简单小程序;汇编语言上机步骤、汇编程序的功能;数据定义及存储器分配、表达式赋值“EQU”和“=”、段定义、程序开始和结束、对准、基数控制等六类伪操作;汇编语言程序格式中的名字、操作、操作数和注释等项。 第五章循环与分支程序设计 1.教学内容 程序设计的一般步骤和基本结构、循环程序设计和分支程序设计 2.基本要求 掌握汇编语言程序的编制步骤和结构化程序设计的三种基本结构;循环的设计方法和多层循环的设计;分支程序的设计方法,并能编制相应的程序。第六章子程序结构 1.教学内容 子程序的设计方法、嵌套与递归子程序、子程序举例和DOS系统功能调用

完整版汇编语言试题及答案..doc

一,单项选择题 (每小题 1 分,共 20 分 1-10CCCCAADACB 11-20.ADBBAADDCC 1.指令 JMP FAR PTR DONE 属于 ( C A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址 2.下列叙述正确的是 ( A.对两个无符号数进行比较采用CMP 指令 ,对两个有符号数比较用CMP S 指令 B.对两个无符号数进行比较采用CMPS 指令 ,对两个有符号数比较用CM P 指令 C.对无符号数条件转移采用JAE/JNB 指令 ,对有符号数条件转移用JGE/J NL 指令 D.对无符号数条件转移采用JGE/JNL 指令 ,对有符号数条件转移用JAE/J NB 指令 3.一个有 128 个字的数据区 ,它的起始地址为 12ABH:00ABH, 请给出这个数据区最末一个字单元的物理地址是 ( A.12CSBH B.12B6BH

C.12C59H D.12BFEH 4.在下列指令的表示中 ,不正确的是 ( A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL 5.在进行二重循环程序设计时,下列描述正确的是 ( A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外 D.内、外循环初值都应置内循环之外,外循环之内 6.条件转移指令 JNE 的测试条件为 ( A.ZF=0 B.CF=0 C.ZF=1 D.CF=1 7.8086CPU在基址加变址的寻址方式中,变址寄存器可以为 ( A.BX 或 CX

8086汇编语言程序设计

实验1 简单汇编语言程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握简单汇编语言程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG 工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG 工具调试程序,验证程序的正确性。 1. 若X、Y、R、W 是存放8 位带符号数字节单元的地址,Z 是16 位字单元的 地址。试编写汇编程序,完成Z←((W-X) ÷5-Y)?(R+ 2) 。 2.试编写一个程序,测试某数是否是奇数。如该数是奇数,则把DL 的第0 位置1,否则将该位置0。 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验2 分支及循环程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握分支程序和循环程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编写汇编程序,统计某存储区若干个数据中英文字母的个数,并将结果在屏幕上显示。 2.从键盘任意输入一组字符数据,请编写汇编程序将该组数据加密后在屏幕上显示。参考加密方法是:每个数乘以2。(说明:本题的加密方法,同学们可以自己拟定) 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验3 子程序程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握子程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编程以十进制形式和十六进制形式显示AX的内容,并把两个显示功能分别封装成子程序dispDEC和dispHEX。 2.设在以EXAMSCORE为首地址的数据缓冲区依次存放某班10名同学5门功课的成绩,现要统计各位同学的总分,并将总分放在该学生单科成绩后的单元,并调用第1个程序封装好的子程序,以十进制方式显示统计情况,显示格式自行设计。请编程完成此功能。数据缓冲区参考数据定义如下: EXAMSCORE DB 01 ;学号 DB 89,76,54,77,99 ;单科成绩 DW ? ;该学生的总分 DB 02 ;学号 DB 79,88,64,97,92 ;单科成绩 DW ? ;该学生的总分 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

位微机原理汇编语言及接口技术教程课后习题答案

《16/32位微机原理、汇编语言及接口技术教程》 部分习题参考解答 第1章微型计算机系统概述 〔习题〕 什么是通用微处理器、单片机(微控制器)、DSP芯片、嵌入式系统? 〔解答〕 通用微处理器:适合较广的应用领域的微处理器,例如装在PC机、笔记本电脑、工作站、服务器上的微处理器。 单片机:是指通常用于控制领域的微处理器芯片,其内部除CPU外还集成了计算机的其他一些主要部件,只需配上少量的外部电路和设备,就可以构成具体的应用系统。 DSP芯片:称数字信号处理器,也是一种微控制器,其更适合处理高速的数字信号,内部集成有高速乘法器,能够进行快速乘法和加法运算。 嵌入式系统:利用微控制器、数字信号处理器或通用微处理器,结合具体应用构成的控制系统,其典型的特点是把计算机直接嵌入到应用系统之中。 〔习题〕 说明微型计算机系统的硬件组成及各部分作用。 〔解答〕 CPU:CPU也称处理器,是微机的核心。它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。 存储器:存储器是存放程序和数据的部件。 外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。I/O设备通过I/O接口与主机连接。 总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。

〔习题〕 什么是总线?微机总线通常有哪3组信号?各组信号的作用是什么? 〔解答〕 总线:传递信息的共用通道,物理上是一组公用导线。 3组信号线:数据总线、地址总线和控制总线。 (1)地址总线:传输将要访问的主存单元或I/O端口的地址信息。 (2)数据总线:传输读写操作的数据信息。 (3)控制总线:协调系统中各部件的操作。 〔习题〕 简答如下概念: (1)计算机字长 (2)取指-译码-执行周期 (3)ROM-BIOS (4)中断 (5)ISA总线 〔解答〕 (1)处理器每个单位时间可以处理的二进制数据位数称计算机字长。 (2)指令的处理过程,即指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。 (3)ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。 (4)中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍返回被中断的指令继续执行的过程。 (5)ISA总线是指IBM PC/AT机上使用的系统总线。 〔习题〕 下列十六进制数表示无符号整数,请转换为十进制形式的真值: (1)FFH (2)0H (3)5EH (4)EFH 〔解答〕 (1)255 (2)0 (3)94 (4)239

汇编语言试题及答案.

一,单项选择题(每小题1分,共20分 1-10CCCCAADACB 11-20.ADBBAADDCC 1.指令JMP FAR PTR DONE属于( C A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址 2.下列叙述正确的是( A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMP S指令 B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CM P指令 C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/J NL指令 D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/J NB指令 3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是( A.12CSBH B.12B6BH

C.12C59H D.12BFEH 4.在下列指令的表示中,不正确的是( A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL 5.在进行二重循环程序设计时,下列描述正确的是( A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外 D.内、外循环初值都应置内循环之外,外循环之内 6.条件转移指令JNE的测试条件为( A.ZF=0 B.CF=0 C.ZF=1 D.CF=1 7.8086CPU在基址加变址的寻址方式中,变址寄存器可以为( A.BX或CX

B.CX或SI C.DX或SI D.SI或DI 8.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在(中。 A.数据段中偏移量为3236H的字节 B.附加段中偏移量为3234H的字节 C.数据段中偏移量为3234H的字节 D.附加段中偏移量为3236H的字节 9.执行如下程序:( MOV AX,0 MOV AX,0 MOV BX,1 MOV CX,100 A:ADD AX,BX INC BX LOOP A HLT 执行后(BX=( A.99

第四章MCS-51汇编语言程序设计

第四章MCS-51汇编语言程序设计 重点及难点: 单片机汇编语言程序设计的基本概念、伪指令、单片机汇编语言程序的三种基本结构形式、常用汇编语言程序设计。 教学基本要求: 1、掌握汇编语言程序设计的基本概念; 2、掌握伪指令的格式、功能和使用方法; 3、掌握顺序结构、分支结构和循环结构程序设计的步骤和方法; 4、掌握常用汇编语言程序设计步骤和方法。 教学内容 §4.1汇编语言程序设计概述 一、汇编语言的特点 (1)助记符指令和机器指令一一对应,所以用汇编语言编写的程序效率高,占用存储空间小,运行速度快,因此汇编语言能编写出最优化的程序。 (2)使用汇编语言编程比使用高级语言困难,因为汇编语言是面向计算机的,汇编语言的程序设计人员必须对计算机硬件有相当深入的了解。 (3)汇编语言能直接访问存储器及接口电路,也能处理中断,因此汇编语言程序能够直接管理和控制硬件设备。 (4)汇编语言缺乏通用性,程序不易移植,各种计算机都有自己的汇编语言,不同计算机的汇编语言之间不能通用;但是掌握了一种计算机系统的汇编语言后,学习其他的汇编语言就不太困难了。 二、汇编语言的语句格式 [<标号>]:<操作码> [<操作数>];[<注释>] 三、汇编语言程序设计的步骤与特点 (1)建立数学模型 (2)确定算法 (3)制定程序流程图 (4)确定数据结构 (5)写出源程序 (6)上机调试程序 §4.2伪指令 伪指令是程序员发给汇编程序的命令,也称为汇编命令或汇编程序控制指令。 MCS- 51常见汇编语言程序中常用的伪指令:

第四章MCS-51汇编语言程序设计91 1.ORG (ORiGin)汇编起始地址命令 [<标号:>] ORG <地址> 2.END (END of assembly)汇编终止命令 [<标号:>] END [<表达式>] 3.EQU (EQUate)赋值命令 <字符名称> EQU <赋值项> 4.DB (Define Byte)定义字节命令 [<标号:>] DB <8位数表> 5.DW (Define Word)定义数据字命令 [<标号:>] DW <16位数表> 6.DS (Define Stonage )定义存储区命令 [<标号:>] DW <16位数表> 7.BIT位定义命令 <字符名称> BIT <位地址> 8.DA TA数据地址赋值命令 <字符名称> DATA <表达式> §4.3单片机汇编语言程序的基本结构形式 一、顺序程序 [例4-1]三字节无符号数相加,其中被加数在内部RAM的50H、51H和52H单元中;加数在内部RAM的53H、5414和55H单元中;要求把相加之和存放在50H、51H和52H单元中,进位存放在位寻址区的00H位中。 MOV R0 ,# 52H ;被加数的低字节地址 MOV R1 ,# 55H ;加数的低字节地址 MOV A ,@ R0 ADD A ,@ R1 ;低字节相加 MOV @ R0 , A ;存低字节相加结果 DEC R0 DEC R1 MOV A ,@ R0 ADDC A ,@ R1 ;中间字节带进位相加 MOV @ R0 , A ;存中间字节相加结果 DEC R0 DEC R1 MOV A ,@ R0 ADDC A ,@ R1 ;高字节带进位相加 MOV @ R0 , A ;存高字节相加结果 CLR A

汇编语言试题及答案

一,单项选择题(每小题1分,共20分) 1.指令JMP FAR PTR DONE属于() A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址 2.下列叙述正确的是() A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS 指令 B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP 指令 C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JN L指令 D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JN B指令 3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是() A.12C5BH B.12B6BH C.12C5AH D.12BFEH 4.在下列指令的表示中,不正确的是() A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL 5.在进行二重循环程序设计时,下列描述正确的是() A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外 D.内、外循环初值都应置内循环之外,外循环之内 6.条件转移指令JNE的测试条件为() A.ZF=0 B.CF=0 C.ZF=1 D.CF=1 7.8086CPU在基址加变址的寻址方式中,变址寄存器可以为()A.BX或CX B.CX或SI C.DX或SI D.SI或DI 8.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在()中。 A.数据段中偏移量为3236H的字节 B.附加段中偏移量为3234H的字节 C.数据段中偏移量为3234H的字节 D.附加段中偏移量为3236H的字节 9.执行如下程序:()

6/3位微机原理、汇编语言及接口技术__钱晓捷_版_课后习题答案639

第一章 1.1解: 五代,详细见书 1.2解: 微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件一一控制器和运算器的微处理器为核心,所构造出的计算机系统。 PC机:PC

汇编语言2008秋季期末考试复习题及参考答案

汇编语言2008秋季期末考试复习题及参考答案 一、填空 1. 十进制数369转换成二进制数为()2,转换成十六进制数为()16. 2. 计算机中的指令由()和(地址码)两部分组成。 3. 8086的地址总线有20根,寻址范围为()字节。 4. 下一条将要执行的指令的地址存放在寄存器()中。 5. 写出IBM PC机的三种子程序返回的指令(RET), (IRET),(IRETD)。 6. 汇编语言源程序需经过()程序汇编,()程序连接才能生成可执行文件。 7. 存储器某单元的地址表示为2314H:4132H,则它的偏移地址=(4132),物理地址=() 8. REP指令前缀与()指令配合使用。 9. 在显示器上查看和修改内存单元的内容可以使用DEBUG的()和()命令。 10. (AL)=BFH,要求屏蔽第0,1两位,则要执行指令();如果要求第0,1位变反,可使用指令() 11. 宏汇编适合于(),()的子功能段使用; 二、选择题 1. 设字长N=16,有符号数7AE9H的补码表示为( ) A.9EA7H B. 76C4H C. 8417H D. 7AE9H 2. 比较有符号数3260H与0B425H的大小关系为( ) A. 相等 B. 小于 C. 大于 D. 不能比较 3. 指令JMP WORD PTR [BX][DI]中转移的目标地址为( ) A.16 d x(DS)+(BX)+(DI)B.16d x(ES)+(BX)+(DI) C.16d x(SS)+(BX)+(DI)D.16d x(CS)+(BX)+(DI) 4. 在指令MOV AX,[1000H]中,源操作数的寻址方式为( ) A.立即寻址B.直接寻址C.段内间接寻址D.寄存器寻址 5. 中断矢量表中存放的是( ) A. 中断类型号 B. 断点地址 C. 中断服务程序 D. 中断服务程序入口地址 6. 8086 的汇编语言指令系统中的条件转移指令可以使程序转移到( ) A. 段内的任何地方 B. 距该指令偏移地址为-32768~+32767的地方 C. 距该指令偏移地址为-128~+127的地方. D. 段外 7. 能定义ASCII码字符串的数据定义语句有( ) A. DB,DW,DD,DQ,DT B. DB,DW,DD C. DB, DW D. DB; 8. 若(AL)=87H,执行ADD AL,0F5H后,S,Z,C,O,P的状态为( ) A.SF=0,ZF=0,CF=1,OF=1,PF=0 B.SF=1,ZF=0,CF=1,OF=0,PF=1 C.SF=0,ZF=0,CF=0,OF=1,PF=0 D.SF=1,ZF=0,CF=1,OF=1,PF=1 9. 比较指令CMP( ) A. 专用于有符号数比较 B. 专用于无符号数比较 C. 专用于串比较 D. 不区分比较的对象是有符号数还是无符号数 10. 数据传送指令对标志位的影响为( ) A.都不影响;B.都影响; C.除了SAHF,POPF,其它均不影响. D.除了控制标志位,其它均不影响 三、判断题 ( )31. 段间调用的子程序必须由伪操作FAR说明为远过程。

《汇编语言程序设计》考核方式

考核方式与要求 期末总成绩构成:期末开卷考试60% + 平时作业10% + 实验和实验报告30%。 1、试卷考核方式与要求 “汇编语言程序设计”的课程要求是使学生具有一定的程序设计能力。虽然课程是通过80x86微处理机来开展教学的,但学习的重点不仅仅是学会80x86指令的语法和规范,更重要的是通过多读程序、多练习编写程序来掌握程序设计的基本方法和技术,要求学生在工作中遇到其他机型,都应该能利用所掌握的方法和技术顺利解决实际问题。因此,我们在教学过程的各个环节,特别是具有指挥棒作用的考核环节中,着重体现了“能力培养是首位”的指导思想。 为此,汇编课一直实行多元化考核方式,在考核评分上,平时练习和上机实验占40%,期末考试占60%。期末考试实行开卷考试,这样学生平时学习的关注点就会放在分析问题和编程实现的方法上,有利于学生开阔思路,发挥自身创造力。每年设计开卷考试的考题是有一定难度的,教师必须非常熟悉课程的知识点、重点和难点,以及体现这些知识和能力水平的多种题目类型。 2、实验方式与要求 实验的目标为:加强课堂上相关理论和技术学习的有效性;提高学生上机编程和调试的能力;培养学生科学实践的理念和独立分析问题、解决问题的能力。其设计思想是:实验内容兼顾基础性和综合性,实验题目由简单→复杂,程序功能由单一→综合,实验安排有基本要求题+自选题,实验题类型有验证型和自主创新设计型。 √实验课组织形式: 1.系教学实验室按课程要求负责上机环境配置及实验设备管理; 2.以班为单位组织上机实验,并将上机时间安排表发至每位同学; 3.每单元实验课安排一位助教(助博)负责实验指导和答疑; 4.学生每做完一个实验即可提交老师验收,老师将实验运行结果记录下来作为实验成 绩的依据。验收时教师要注意发现比较突出的好的实验例题(完成时间短、程序运行效率高); 5.要求提交实验报告,根据实验报告及实验运行结果的记录,评出实验成绩,实验成 绩一般占总成绩的30%。 √教师指导方法: 1.大课集体指导。每学期实验前教师安排一次实验指导课,讲解实验方法和实验要求; 2.每次实验课都安排助教(助博)进行个别或集体的实验指导和答疑; 3.对具有共性的、问题比较多的实验,主讲教师在课堂上再进行集体指导; 4.每学期对实验中出现的问题,对照实验题目进行分析、总结,以利于以后的教学。 5.对于实验中有创新点的学生,还可以请他上讲台为同学们介绍他的设计思路,引发大家展开讨论。

汇编语言与接口技术 习题解答

习题一解答: 1.3(1)[0.0000]原=0.0000 [0.0000]反=0.0000 [0.0000]补=0.0000 (2)[0.1001]原=0.1001 [0.1001]反=0.1001 [0.1001]补=0.1001 (3)[-1001]原=11001 [-1001]反=10110 [-1001]补=10111 1.4[N]反=1.0101 [N]原=1.1010 [N]补=1.0110 N=-0.1010 1.5(1)原码运算:比较可知,正数较大,用正数减负数,结果为正 反码运算:01010011-00110011=[01010011]反+[-00110011]反=001010011 +[100110011]反=001010011+111001100=000100000 补码运算:01010011-00110011=[01010011]补+[-00110011]补=001010011 +[100110011]补=001010011+111001101=000100000 (2)原码运算:比较可知,负数较大,用负数减正数,结果为负 反码运算:0.100100-0.110010=0.100100+[1.110010]反=0.100100+ 1.001101=1.110001 补码运算:0.100100-0.110010=0.100100+[1.110010]补=0.100100+ 1.001110=1.110010 1.6(1) (11011011)2=(219)10=(001000011001)BCD (2) (456)10=(010*********)BCD (3) (174)8=(124)10=(000100100100)BCD (4) (2DA)16=(730)10=(011100110000)BCD 1.7(1)9876H看成有符号数时,默认为负数的补码,转换为十进制数是:-26506 (2)9876H看成无符号数时,转换为十进制数是:39030 1.8(1)98的压缩BCD码为:10011000B (2)98的非压缩BCD码为:0000100100001000B

河北工业大学汇编语言知识程序设计实验

汇编语言程序设计实验 网络*** *** 实验一 顺序与分支程序设计 一 、实验目的 1) 掌握顺序程序设计方法。 2) 掌握分支程序的结构及分支程序的设计,调试方法。 2) 学习数据传送及算术和逻辑运算指令的用法。 3) 熟悉在pc 机上建立、汇编、连接、调试和运行汇编语言程序的过程。 二、实验内容 1.实验六 从键盘上接收一位十进制数x ,计算y 值,并以十六进制形式显示出来,y 按下列公式计算。 ???????===-=+=) 6(2/) 5()4(2) 3(22 2 2X X X X X X X X X X Y 2..实验七 实验内容:从键盘上接收两个一位十六进制数x 和y ,然后再输入一个a-d 之间的一个字符,按下列要求计算。 a) 当输入字符为a ,则计算x+y ,并以十六进 制形式显示出来 b) 当输入字符为b ,则计算|x-y|,并以十六进制形式显示出来 c) 当输入字符为c ,则计算x*y ,并以十六进制形式显示出来 d) 当输入字符为d ,则计算x/y ,并以十六进制形式显示出来 三、实验代码 实验六 DATE SEGMENT X DB ?

DATE ENDS ;数据段 CODE SEGMENT ASSUME CS:CODE,DS:DATE START:MOV AX,DATE ;代码段 MOV DS,AX ;初始化ds寄存器 MOV AH,1 INT 21H ;读文件到缓冲区 CMP AL,33H ;比较指令 JB L0 ;A

汇编语言程序设计试卷及答案AB卷

2010—2011学年度第(1)学期期末考试试卷 科 目:汇编语言程序设计 (A )卷 考试形式:闭卷 考试时间: 120 分钟 系别、班级: 姓名: 学号: 一、单项选择题:(本题共20小题,每小题1分,共20分) 1. 设DS=5788H ,偏移地址为94H ,该字节的物理地址是 。 (A) 57974H (B) 57914H (C) 5883H (D) 58ECH 2. IP 指令指针寄存器是属于 。 (A) 通用寄存器 (B) 段寄存器(C) 变址寄存器 (D) 控制寄存器 3. 下面有语法错误的指令是 。 (A) ADD AL,AH (B) ADD [BX+3],AL (C) ADD AH,[DI] (D) ADD [BX],DA1(DA1是变量名) 4. 完成对DX 的有符号数除以2的指令是 。 (A) IDIV 2 (B) SAR DX,1 (C) DIV 2 (D) RCR DX,1 5. 使进位位置1的指令是 。 (A) CLC (B) CMC (C) STC (D) NOP 6. 设AL=-100,要使AL=100应执行的指令是 。

(A)NEG AL (B)NOT AL (C)INC AL (D)DEC AL 7.在条件转移指令中,结果为负数则转移的指令是。 (A)JNS (B)JZ (C)JS (D)JC 8.下面的XCHG指令中,语法正确的是。 (A)XCHG AL,DS (B)XCHG BH,[BX] (C)XCHG AL,OFH (D)XCHG BUF1,BUF2 9.一条指令中目的操作数不允许使用的寻址方式是。 (A)寄存器寻址(B)立即数寻址 (C)变址寻址(D)直接寻址 10.设SP=1FFFH,执行下列指令后,SP寄存器的值是。 ┇ POPF PUSH BX PUSH BX ┇ (A)2000H (B)2002H (C)1FFCH (D)1FFEH 11.LES SI ,[2000H]指令的全部功能是。 (A)把地址2000H送SI (B)把地址2000H字单元的内容送SI (C)把地址2000H字单元内容送SI,把2002H字单元内容送ES (D)把地址2000H字单元内容送ES,把2002H字单元内容送SI 12.设AL=04H,CL=0F8H,执行MUL CL指令后,结果是。 (A)AX=0032H (B)AX=00E0H (C)AX=03E0H (D)AX=0FFE0H 13.设ES=3000H,DI=00FFH,CX=0005H,AL=41H,DF=0,从300FFH开始的连续5 个字节单元内容分别是44H,43H,42H,41H。执行REPNZ SCASB指令后,正确的结果是。 (A)DI=0104H,CX=0000H (B)DI=0103H,CX=0001H (C)DI=0102H,CX=0002H (D)DI=0101H,CX=0003H 14.某数据段如下: DATA SEGMENT ORG 20H X DB 12H,'AB'

相关主题
文本预览
相关文档 最新文档