语言程序设计练习题 2_c语言程序设计练习二

其他范文 时间:2020-02-28 21:43:52 收藏本文下载本文
【www.daodoc.com - 其他范文】

语言程序设计练习题 2由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言程序设计练习二”。

汇编语言程序设计练习题

一、单项选择题:在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.CPU要访问的某一存储单元的实际地址称()C

A.段地址

B.偏移地址

C.物理地址

D.逻辑地址

2.某存储单元的物理地址是12345H,可以作为它的段地址有()D

A.2345H

B.12345H

C.12340H

D.1234H 3.执行后使BX=0的同时也使CF=0,OF=0的指令是()A

A.XOR BX,BX

B.OR BX,BX

C.AND BX,BX

D.CMP BX,BX 4.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是()B

A.CX≠0且ZF=1

B.CX≠0且ZF=0

C.CX≠0或ZF=1

D.CX≠0或ZF=0 5.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是()C

A.DAA校正指令的功能已自动加在AH中

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

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

D.进位值在AL最高位上,校正后根据AL最高位内容再加在AH中

6.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是()C

A.指令XOR AX,AX执行后,AX内容不变,但设置了标志位

B.指令OR DX,1000H执行后,将DX最高位置1,其余各位置0

C.指令AND AL,OFH执行后,分离出AL低四位

D.NOT AX,执行后,将AX清0 7.在执行下列指令时,需要使用段寄存器DS的指令是()D

A.STOSW

B.ADD AL,CL

C.NEG BX

D.INC DA[BX] 8.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是()B

A.ADD BH,01H

B.OR BH,01H

C.XOR BH,01H

D.TEST BH,01H 9.完成对CL寄存器的内容乘以4的正确操作是()C

A.ROL CL,1

B.MUL 4

ROL CL,1

C.SHL CL,1

D.MOV CL,2

SHL CL,1

SHL CL,CL 10.下面各传送指令中,正确的是()C

A.MOV [DI],[SI]

B.MOV[DX+DI],AL

C.MOV WORD PTR [BX],0100H

D.MOV AL,BX 11.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法()BD

A.名字的第一个字符可以是大写英文字母及小写英文字母

B.名字的第一个字符可以是字母、数字及、@、_

C.名字的有效长度≤31个字符

D.在名字中不允许出现$ 12.要实现使BETA的值为56,应采用语句为()C

A.BETA DB 56

B.BETA DB 56H

C.BETA EQU 56

D.BETA EQU 56H 13.REPZ CMPSW指令,重复执行的终止条件是()A

A.CX=0或ZF=0

B.CX=0且ZF=0

C.CX=0或ZF=1

D.CX=0且ZF=1 14.下面程序段执行后,AL中的内容是()B

MOV AX,8833H

ADD AL,AH

DAA

A.21

B.21H

C.0C1H

D.0DDH 15.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为()A

A.ZF=1

B.ZF=0

C.SF=1

D.SF=0 16.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是()A

A.JNC LOP1

B.JA LOP1

C.JC LOP1

D.JGE LOP1 17.在下列串操作指令中,同时使用源串和目的串地址指针的指令是()D

A.STOSW

B.LODSW

C.SCASW

D.CMPSW 18.设AL=0AH,下列指令执行后能使AL=05H的是()C

A.NOT AL

B.AND AL,0FH

C.XOR AL,0FH

D.OR AL,0FH 19.DA1 DW‘AB’,‘CD’,‘EF’,‘GH’()D ┇

MOV AX,DA1+3 指令执行后AX中的内容是

A.‘EF’

B.‘CD’

C.‘BC’

D.‘FC’

20.使用DOS系统功能调用时,使用的软中断指令是()

A.INT 21

B.INT 10H

C.INT 16H

D.INT 21H

二、填空题请在每小题的空格中填上正确答案。错填、不填均无分。

1.十六进制数0FFF8H表示的十进制正数为________,表示的十进制负数为________。

2.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,[SI+COUNT]中,源操作数的有效地址EA为________,其物理地址为________。

3.CPU的标志寄存器中标志位,可以分为两大类,其中一类称为________标志位,另一类称为________标志位。

4.当标志位________=1时表示无符号数运算产生溢出,而当标志位________=1是表示带符号数运算产生溢出。

5.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是________,而后两个字节存放的是________。

6.在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是________或________才有实际意义。

三、简答题

1.已知:BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。(1)MOV AL,[BX](2)MOV CS:[BX+DI],AH

2.0P1 DB 1,2 0P2 DW 3412H,5678H ┇

MOV AX,OP1+1;字单元(OP1+1)AX MOV BL,OP2+1;字节单元(OP2+1)BL 上述二条传送语句有语法错误,请根据注释字段的说明,将其改正。

3.下列语句在存储器中分别为变量分配多少字节?

(1)AD2 DW 10 DUP(?),10(2)AD3 DD 100 DUP(?)

4.简述下面两条指令分别是什么语法错误? MOV [BX],[SI] MOV AX,DL

四、程序分析题 1. MOV DL,AL NOT DL TEST DL,04H JE NEXT ┇ NEXT:„

若上述程序段执行时产生分支,说明AL中的数第几位一定为1?程序段执行后CF是多少?

2.DA1 DB‘ABCDEFGHI’ DA2 DB 9 DUP(0)

LEA SI,DA1 LEA DI,DA2 MOV CX,9 CLD LOP: LODSB SUB AL,10H STOSB LOOP LOP...试问:①写出程序执行后DA2各字节中的数据。

②保持程序功能情况下,程序中 可否改写为

3.已知:BX=4567H NEG BX INC BX NEG BX DEC BX 程序段执行后,BX=________,CF=________。

4. MOV BL,64H MOV CL,03H XOR AX,AX AGAIN:ADD AL,BL ADC AH,0 DEC CL JNZ AGAIN 问:(1)该程序段完成的功能是:

(2)AX=________。

5.已知数据段中定义

DAT1 DB 12H,34H,56H,78H MOV CX,0 MOV AX,WORD PTR DAT1 MOV CL,DAT1+3 当程序段执行完后AX=________,CX=________。

6.DA1 DB 83H,72H,61H,94H,5AH ┇

MOV CX,WORD PTR DA1 AND CX,0FH MOV AL,DA1+3 SHL AL,CL 上述指令序列执行后,AL=_______,CL=_______。

五、程序填空题(本大题共2小题,每小题6分,共12分)

1.在NUMW单元存放有一个0-65535范围内的整数,将该数除以500,商和余数分别存入QU1和REM单元,请在空行处各填上一条指令完善该程序。

MOV AX,NUMW _____________ XOR DX,DX DIV BX MOV QUI,AX _____________ 2.某程序欲用单个字符显示的2号功能调用去显示STRING中的字符串‘COMPUTER’(不显示字符‘$’!).试在空白处填上适当的一条指令。STRING DB‘COMPUTER’,‘$’

MOV BX,0FFSET STRING LOP:MOV DL,[BX] MOV AH,02H INT 21H ____________________ ____________________ JNE LOP

六、编程序题

1.试编制一程序段,用串操作指令实现以DA_BY为首址的20H个字节单元中存放相同字符‘Y’(设DA_BY存储区已有ES指向)。

2.试编制一源程序,统计DA1字单元中含0的个数,如统计的个数为奇数,则将进位位置1,否则进位位清0。DATA SEGMENT DA1 DW XXXX DATA ENDS

汇编语言程序设计练习题答案

一、1、C;

2、D;

3、A;

4、B;

5、C;

6、C;

7、D;

8、B;

9、C;

10、C;

11、B;

12、C;

13、A;

14、B;

15、A16、C;

17、D;

18、C;

19、D;20、B

二、1、+65528;-327602、20A8H;11488H3、状态;控制

4、CF;OF5、IP;CS6、STOS;CMP

三、1、(1)21357H;(2)43357H2、MOV AX,WORD PTR(OP1+1)MOV BL,BYTE PTR(OP2+1)

3、(1)22;(2)4004、MOV指令不能在两个存储器操作数之间进行;

操作数类型不匹配

四、1、第2位;CF=02、123456789;不能更改

3、BX=4565H;CF=14、AX=012CH,将AX内容乘3送BX中

5、AX=3412H,CX=0078H6、AL=0A0H,CL=03H

五、1、MOV BX,500 MOV REM,DX2、INC BX CMP byte ptr [BX],24H

六、1、LEA DI,DA_BY MOV CX,32 MOV AL,‘Y’ CLD REP STOSB2、CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,DA1 MOV CX,16 XOR BL,BL AGAIN: MOV AL,[SI] HL AL,1 JC NEXT INC BL NEXT:INC SI LOOP AGAIN TEST BL,01H JNE L1 CLC JMP DONE L1: STC DONE: MOV AH,4CH INT 21H CODE ENDS END START

C语言程序设计教程第五章练习题题目

单选题1、关于数组的定义与初始化,下列哪一项是错误的() A.int arr[5] = {1,2,3,4,5}; B.int arr[] = {1,2,3,4,5}; C.int arr[5] = {1,2,3}; D.int arr[5] = {1,2,3,4,5,6};2......

C语言程序设计教程第一章练习题题目

单选题1、下列语言中不属于计算机语言的三大类的是(C)。 A.机器语言 B.汇编语言 C.脚本语言 D.高级语言2、下列说法中不正确的是(C)A.计算机语言大致可分为三大类,即机器语言、汇......

C语言程序设计

1.Problem A: Hello world! Description Xiao_ming有两个哥哥,大哥叫Da_min,二哥叫Er_min。三兄弟放学回家,父母分别跟他们打招呼。Input 无Output 请输出: Hello Da_min, Hello......

1032C语言程序设计

1032]《C语言程序设计》选择题 [单选题]12.关于C语言程序描述正确的是()A:每个函数必须要有return语句 B:主函数必须位于程序的开头 C:程序中每行只能写一条语句 D:一个程序中只......

C 语言程序设计

《C 语言程序设计》主要在计算机软件、计算机网络、计算机应用、通信技术、智能电子、电子信息工程、多媒体以及核工程与核技术等专业中开设,是电子信息类、机械类等工科专业......

下载语言程序设计练习题 2word格式文档
下载语言程序设计练习题 2.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文