汇编语言ch2-1-2

合集下载

C模拟题二

C模拟题二

A B C D A B C D A B C D A B C D A B C D A B C D A BC DA BC DA BC DA BC DA BC DAswitch(w) { case 1.0: printf("*\n"); case 2.0: printf("**\n"); }BCswitch(b) { case 1: printf("*\n"); default: printf("\n"); casDswitch(a+b); { case 1: printf("*\n"); case 2: printf("**\n");A B C DA B C D A B C D A B C D A B C D A B C D A B C D A B C DA B C D A B C D A B C D A B C D A B C D A B C D A B C D A BC D A B C D A B C D A B C D A B C D A B C D A B C D A B C DA B C D A B C D A B C D A B C D A B C D A BC文本文件D和文本文件A B C DA B C D A B C D A B C D A B C DB A存C D A B C D A B C D A BC D二、填空题(7道小题,共30分)1、* 输入两个正整数m和n,求其最大公约数和最小公倍数#include <stdio.h>void main(){int m,n,m1,n1,a;scanf("%d %d",&m,&n);m1=m;n1=n;=m1%n1;while(a!=0){m1=n1;n1=a;a=m1%n1;}printf("%d\n",);printf("%d\n",m*n/n1);}(4分)2、* 用冒泡法对10个数排序#include <stdio.h>void main(){a[11],i,j,t;printf("Input 10 numbers:\n");for(i=1;i<11;i++)scanf("%d",&a[i]);printf("\n");for(i=1;i<=9;i++)for (j=;j<=10-i;j++)if(a[j]>a[j+1]){t=a[j]; a[j]=a[j+1]; a[j+1]=t;}printf("The sorted numbers:\n");for(i=1;i<11;i++)printf("%d ",a[i]);}(4分)3、* 两个乒乓球队进行比赛,各出三人甲队为A、B、C.乙队为X、Y、Z三人.已经抽签决定比赛名单。

int 21h汇编语言

int 21h汇编语言

int 21h汇编语言【实用版】目录1.汇编语言简介2.int 21h 的含义和作用3.int 21h 的典型用法4.int 21h 的实际应用案例5.int 21h 汇编语言的优缺点正文一、汇编语言简介汇编语言是一种低级编程语言,用于编写计算机程序。

它使用计算机处理器能够理解和执行的指令。

与高级编程语言相比,汇编语言更接近计算机硬件,执行速度更快。

但由于其语法较为复杂,编写难度较大。

汇编语言的一个显著特点是,它与特定的计算机架构密切相关,因此,针对不同的计算机体系结构,需要使用不同的汇编语言。

二、int 21h 的含义和作用int 21h 是汇编语言中一种特殊的指令,常用于 DOS(Disk Operating System)操作系统中。

它的含义是向 DOS 传递一个字节(8 位),以便操作系统能够根据该字节的值执行相应的操作。

int 21h 的主要作用是与DOS 进行交互,实现程序与操作系统之间的沟通。

三、int 21h 的典型用法int 21h 的用法相对简单。

在汇编代码中,只需要将需要传递给 DOS 的字节值放入寄存器,然后使用 int 21h 指令将该字节值传递给操作系统即可。

以下是一个典型的 int 21h 用法示例:```assume cs:codesegment, ds:datas datas segmentmsg db "Hello, DOS!", 0 datas endscodesegment segmentstart:; 初始化数据段寄存器mov ax, datasmov ds, ax; 显示字符串mov ah, 09hlea dx, msgint 21h; 退出程序mov ah, 4chint 21hcodesegment endsend start```四、int 21h 的实际应用案例int 21h 在 DOS 时代的程序开发中非常常见,特别是在编写系统调用、文件操作等底层程序时。

C语言程序设计试题及答案解析[1]

C语言程序设计试题及答案解析[1]

C语言程序设计试题第1、2、3章概述、类型、表达式一、选择题1、一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:()A、任意B、第一个函数必须是主函数,其他函数任意C、必须完全按照执行的顺序排列D、其他函数可以任意,主函数必须在最后2、下列四个叙述中,正确的是:()A、C程序中的所有字母都必须小写B、C程序中的关键字必须小写,其他标示符不区分大小写C、C程序中的所有字母都不区分大小写D、C语言中的所有关键字必须小写3、下列四个叙述中,错误的是:()A、一个C源程序必须有且只能有一个主函数B、一个C源程序可以有多个函数C、在C源程序中注释说明必须位于语句之后D、C源程序的基本结构是函数4、下面不是C语言合法标识符的是:()A、abcB、5nC、_4mD、x35、以下叙述不正确的是:()A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、C语言中允许的基本数据类型包括:()A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、C语言中能用八进制表示的数据类型为:()A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、下列属于C语言合法的字符常数是:()A、’\97’B、”A”C、’\t’D、”\0”9、在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:()A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、在C语言中(VC环境),一定是长整型常数的是:()A、0LB、4962710C、0412765D、0xa34b7fe11、若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:()A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、以下合法的赋值语句是:()A、x=y=100B、d--;C、x + yD、c = int(a+b);13、设变量t为int型,下列选项中不正确的赋值语句是:()A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、在以下一组运算符中,优先级最高的是:()A、<=B、==C、%D、&&15、下列能正确表示a≥10或a≤0的关系表达式是:()A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、下列只有当整数x为奇数时,其值为“真”的表达式是:()A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、!(x%2)17、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:()A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:()A、0B、语法错C、1D、“假”19、表达式17%4 /8的值为:()A、0B、1C、2D、320、语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:()A、无输出B、结果不确定C、-1D、121、一个可执行的C程序的开始执行点是:()A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、组成C语句的一个必不可少的符号是:()A. 逗号B. 引号C. 冒号D. 分号23、若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:()A. intB. longC. floatD. double24、下述是C语言中有关变量定义的几个说法,正确的是:()A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、与x * = y + z等价的赋值表达式是:()A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、当代电子计算机能够自动地处理指定的问题是因为:()A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、以下叙述中最准确的是:()A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、关于计算机程序设计,以下描述最准确的是:()A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、目前编写计算机程序一般采用的是:()A.机器语言B.汇编语言C.高级语言D.英语30、设计一个计算机程序最基本的工作是:()A.制定正确的算法B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构D.以上都不是31、算法具有五个特性,以下选项中不属于算法特性的是:()A.有穷性B.简洁性C.可行性D.确定性32、下述哪一个不是结构化程序基本结构:()A.顺序B.选择C.循环D.嵌套33、C语言是一种:()A.机器语言B.汇编语言C.高级语言D.以上都不是34、C语言源程序的扩展名为:()A..exe B..c C..obj D..cpp35、C程序编译后最终产生(即计算机执行)的文件的扩展名为( )A..exe B..c C..obj D..cpp36、下列各项中,不是C语言的特点是:()A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、构成C语言源程序的基本单位是:()A.子程序B.过程C.文本D.函数38、下列叙述正确的是:()A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:()A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、以下叙述不正确的是:()A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、以下为C语句的是:()A.a=8 B.a++;C.if(a>8) D. #include <stdio.h> 以下不是C语句的是:()A.a=8; B.a++;C.if(a>8);D.for(i=1;i<5;i++) 42、以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、C程序中的复合语句指的是:()A.并列的多个C语句B.写在同一行中的多个C语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。

汇编语言程序设计专科复习题及答案专科复习题

汇编语言程序设计专科复习题及答案专科复习题

汇编语言程序设计专科复习题及答案专科复习题复习题一一、单项选择题1.对于有符号的数来说,下列哪个值最大()A:0F8H B:11010011B C:82 D:123Q2.下列有关汇编语言中标号的命名规则中,错误的是(D )A:通常由字母打头的字符、数字串组成B:标号长度不能超过31个字符C:?和$不能单独作为标号D:.号不可位于标号首3.8088/8086存储器分段,每个段不超过()A.64K个字B.32K个字节C.1兆个字节D.64K个字节4.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式()A:寄存器寻址B:相对基址变址寻址C:变址寻址D:基址变址寻址5.若AX= - 15要得到AX=15应执行的指令是()A.NEG AXB.NOT AXC.INC AXD.DEC AX6.8086/8088系统执行传送指令MOV时()A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志7.若要求一个操作数中的若干位维持不变,若干位置“1”,可以使用()A:NOT B:OR C:AND D:XOR8.下列指令中段默认为堆栈段的是()A.MOV AX,[BX+SI+10]B.ADD AX,ES:[SI]C.SUB [BX],[BP][DI]D. MOV DX,[1000H]9.关于8086/8088微机系列,下列说法哪个是正确的()A:一个存储单元由16个二进制位组成,简称字。

B:当存储一个字数据时,低字节放高地址位,高字节放低地址位。

C:在内存空间中,可以无限分配段,且段的大小不受限制。

D:段与段之间可以邻接,也可以重叠。

10.下列关于堆栈的说法,错误的是()A:以“先入后出”为原则。

B:栈区最高地址单元的前一个单元为栈底。

C:运行中SP寄存器动态跟踪栈顶位置。

D:压栈和弹出都是以字节为单位。

11.表示过程定义结束的伪指令是()A.ENDPB.ENDSC.ENDD.ENDM 12.BUF1 DB 3 DUP(0,2 DUP (1,2),3)COUNT EQU $-BUF1符号COUNT等价的值是()A.6B.18C.16D.9 13.下列标志位中,可以用来判断计算结果正负的是()A:PF B:SF C:DF D:OF14.下列指令正确的是()A. MOV [100H], [BX]B.MOV DS, ESC. ADD V[BX], CXD.MOV AX, 34H15.下列哪个寄存器是属于指针寄存器()A:SI B:DX C:SP D:ES16.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。

C语言程序设计试题及答案解析

C语言程序设计试题及答案解析

C语言程序设计试题一、选择题1、一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:()A、任意B、第一个函数必须是主函数,其他函数任意C、必须完全按照执行的顺序排列D、其他函数可以任意,主函数必须在最后2、下列四个叙述中,正确的是:()A、C程序中的所有字母都必须小写B、C程序中的关键字必须小写,其他标示符不区分大小写C、C程序中的所有字母都不区分大小写D、C语言中的所有关键字必须小写3、下列四个叙述中,错误的是:()A、一个C源程序必须有且只能有一个主函数B、一个C源程序可以有多个函数C、在C源程序中注释说明必须位于语句之后D、C源程序的基本结构是函数4、下面不是C语言合法标识符的是:()A、abcB、5nC、_4mD、x35、以下叙述不正确的是:()A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、C语言中允许的基本数据类型包括:()A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、C语言中能用八进制表示的数据类型为:()A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、下列属于C语言合法的字符常数是:()A、’\97’B、”A”C、’\t’D、”\0”9、在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:()A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、在C语言中(VC环境),一定是长整型常数的是:()A、0LB、4962710C、0412765D、0xa34b7fe11、若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:()A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、以下合法的赋值语句是:()A、x=y=100B、d--;C、x + yD、c = int(a+b);13、设变量t为int型,下列选项中不正确的赋值语句是:()A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、在以下一组运算符中,优先级最高的是:()A、<=B、==C、%D、&&15、下列能正确表示a≥10或a≤0的关系表达式是:()A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、下列只有当整数x为奇数时,其值为“真”的表达式是:()A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、!(x%2)17、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:()A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:()A、0B、语法错C、1D、“假”19、表达式17%4 /8的值为:()A、0B、1C、2D、320、语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:()A、无输出B、结果不确定C、-1D、121、一个可执行的C程序的开始执行点是:()A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、组成C语句的一个必不可少的符号是:()A. 逗号B. 引号C. 冒号D. 分号23、若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:()A. intB. longC. floatD. double24、下述是C语言中有关变量定义的几个说法,正确的是:()A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、与x * = y + z等价的赋值表达式是:()A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、当代电子计算机能够自动地处理指定的问题是因为:()A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、以下叙述中最准确的是:()A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、关于计算机程序设计,以下描述最准确的是:()A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、目前编写计算机程序一般采用的是:()A.机器语言B.汇编语言C.高级语言D.英语30、设计一个计算机程序最基本的工作是:()A.制定正确的算法B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构D.以上都不是31、算法具有五个特性,以下选项中不属于算法特性的是:()A.有穷性B.简洁性C.可行性D.确定性32、下述哪一个不是结构化程序基本结构:()A.顺序B.选择C.循环D.嵌套33、C语言是一种:()A.机器语言B.汇编语言C.高级语言D.以上都不是34、C语言源程序的扩展名为:()A..exe B..c C..obj D..cpp35、C程序编译后最终产生(即计算机执行)的文件的扩展名为( )A..exe B..c C..obj D..cpp36、下列各项中,不是C语言的特点是:()A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、构成C语言源程序的基本单位是:()A.子程序B.过程C.文本D.函数38、下列叙述正确的是:()A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:()A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、以下叙述不正确的是:()A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、以下为C语句的是:()A.a=8 B.a++;C.if(a>8) D. #include <stdio.h> 以下不是C语句的是:()A.a=8; B.a++;C.if(a>8);D.for(i=1;i<5;i++) 42、以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、C程序中的复合语句指的是:()A.并列的多个C语句B.写在同一行中的多个C语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。

c语言程序设计试题及答案

c语言程序设计试题及答案

c语言程序设计试题及答案第一章基础知识一、填空1.每个C程序都必须有且仅有一个________函数。

2.C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。

3.软件是程序,以及______、使用和维护所需要的所有文档。

4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。

5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类6.C语言是由________组成的。

7.C语言的函数可分为主函数main、标准库函数和_________。

8.一个函数是由两部分组成的,即:________和函数体。

9.编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。

不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。

11.机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。

12.与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。

13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。

14.C程序的执行均是由执行_________开始。

15.函数体即为包含在{}内的部分。

它分为________和为完成功能任务由若干个C语句组成的执行部分。

16.C语言程序中一条简单语句是以________字符作为结束符的。

17.C语言是结构化、________的程序设计语言。

C语言-数据类型及运算


2018/7/29电子科技大Βιβλιοθήκη 计算机学院2.2.6 符号常量
将常量定义为一个标识符,称为符号常量。通常用大 写表示。 如:
#define PI
#define TRUE
3.1415926
1
#define
STAR
‗*‘
便于程序调试和修改
2018/7/29 电子科技大学计算机学院
2.3 变量
在程序执行过程中其值可以改变的量。
2018/7/29 电子科技大学计算机学院
2.4.3 关系运算与逻辑运算 关系运算符: 大于 a>b 大于等于 小于 a<b 小于等于 等于 a==b 不等于
a>=b a<=b a!=b
关系表达式的值为真用 1 或 非零数值表示, 关系表达式的值为假用零表示。 例如: 设 x=100; printf(―%d%d%d\n‖,x==100,x<100,x>=100); 输出为: 1 0 1 字符型数据按其ASCII 码值进行关系运算: ‗b‘<‗f‘ 值为 1; ‗9‘<‗3‘ 值为 0 ;‗A‘==65 值为 1
2018/7/29 电子科技大学计算机学院
5. 右移位运算 变量名>>右移位数 每右移1位相当于除以2 每右移n位相当于除以2的n次幂 6. 左移位运算 变量名<<左移位数 每左移1位相当于乘以2, 每左移n位相当于乘以2的n次幂 注意: 在移位时,变量一端被移出的位被舍弃,另 一端空出的位一般则以0填充。
float b=123.67;
&a2500H 2501H &b2502H 2503H 2504H 2505H 2506H
| |—————— |---- 1250 ----- a=1250 |—————— |-------|-------|----123.67 ------ b=123.67 |——————

第三章微机原理习题课

.第三章习题课一、选择题1、在汇编语言程序的开发过程中使用宏功能的顺序是()。

A、宏定义,宏调用B、宏定义,宏展开C、宏定义,宏调用,宏展开D、宏定义,宏展开,宏调用2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是()。

A、名字项B、操作项C、操作数项D、注释项3、下列叙述正确的是()A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令4、编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有().A、CMPB、SUBC、ANDD、MOV5、测试BL寄存器容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方法是()。

A TEST BL,4FHJZ NEXTB XOR BL,4FHJZ NEXTC AND BL,4FHJZ NEXTD OR BL,4FHJZ NEXT6、检查BUF的容是否为正偶数,如是正偶数,则令AL=0。

下面程序段正确的是( )。

A、MOV AL,BUF JS K1SHR AL,1JNC K1MOV AL,0K1:……B、MOV AL,BUF AND AL,11 JNZ K2MOV AL,0K2:……C 、MOV AL ,BUF TEST AL ,81H JNZ K3 MOV AL ,0 K3:……7、下列描述中,执行循环的次数最多的情况是()。

A .MOV CX ,0B .MOV CX ,1 LOP :LOOP LOP LOP :LOOP LOPC .MOV CX ,0FFFFHD .MOV CX ,256 LOP :LOOP LOP LOP :LOOP LOP8、在下列指令中,指令的执行会影响条件码中的CF 位。

C语言题库

km shiti img a b c d shijidaan C语言程序的基本单位是 程序行 语句 函数 字符cC语printf("%c\n",class[2]dprintf("%c\nprintf("%c\nC语根据下面的定义,能打印出字printf("%c\n若fp是指向某文件的指针,且EOF-1 非零值 NULL cC语若t为double类型,表达式t=1 1 6.021dC语若有以下定义和语句: ch 45910aC语若执行下面的程序时从键盘上7654bC语设有如下定义: int x=10,y=3 1043dC语下面程序的输出是 main()10016012064dC语字符数组中的可以在赋值语不可以用关系运算符对字c字符数组可以C语下述对C语言字符数组的描术中已知字母A的ASCII码为十进制67,D B,C C,D 不确定的值aC语5689cC语以下for语句构成的循环执行了以下程序的输出结果是 # 不确定的 0-11bC语语句while(!E);中的条件!E等E == 0 E!=1 E!=0 ~E aC语下面程序的输出是 main(013 不确定的值cC语24. 请选出合法的C语言赋值语a=b=58 i++; a=58,b=58 k=int(a+b);bC语A)若有定义:int a=16,b=10,c1.4120bC语A)以下程序的输出结果是( 32131020aC语A)以下程序段的输出结果是( 9121314aC语c语言是()语言 高级语言 中级语言 机器语言 汇编语言aC语do-while语句构成的循环ado-while语句C语言中( ) 能使用do-whido-while语句C语main() {char ch[2][5]={"669825638256385693825cC语一个双精度型表一个不合法的表达式c一个整型表达sizeof(double)是 一种函数调用C语一个整型表达一个不合法的表达 式c一个双精度型sizeof(float)是( ) 一种函数调用C语数组每一个元数组每个元素中的值日b数组的长度 数组的首地址当调用函数时,实参是一个数组C语prinft("%c\n",class[3]dprinft("%c\nprinft("%c\nC语根据下面的定义,能打印字母M prinft("%c\nchar a[]={0,1,2,3,4,5}dvhst s="str合法的数组定义是 int a[]="strint a[5]={0,C语7和8 8和9 9和10 10和11a两次运行下面的程序,如果从键C语a>=10 || a<=0da>=0|a<=10 a>=10 && a<=C语a>=10 or a<=能正确表示逻辑关系:"a>=10或90379dC语若 int a=3; int b=4;若a为int类型,且其值为3,则不定值431cC语若fp是指向某文件的指针,且已EOF0 非零值 NULL cC语20252430a若i,j已定义为int类型,则以下C语若w=1,x=2,y=3,z=4,则条件表达4321dC语若定义 int m=7,n=12; 则n%=(m%=5) 'n%=(m-m%5) n%=m-m%5 (n%=m)-(m%=5)dC语fopen("A:\user\\abc.tx bfopen("A:\us若要打开A盘上user子目录下名fopen("A:\usfopen("A:\usC语若要求在if后一对圆括号表示a a<>0 !a a=0 a dC语C语122 2.5c若已定义x和y为double类型,则&aa[0]+1 &aa[1] &aa[0]++ aa+1dC语若有定义:int aa[8];。

程序设计基础——基于C语言(第2版) 课后习题参考答案.

习题1参考答案1.1解释以下术语(1)计算机软件:计算机软件是一系列按照特定结构组织的程序、数据(Data)和文档(Document)的集合。

(2)计算机程序:用计算机语言所编写的一系列指令的集合。

(3)数据:数据是程序加工和处理的对象。

(4)算法:算法是一组有穷的规则,它们规定了为解决某一特定问题而采取的一系列运算步骤。

(5)数据结构:数据结构是存在一种或多种特定关系的数据元素的集合,其外在表现为数据的组织形式。

(6)数据类型:数据类型是一个值的集合和定义在这个值集上的操作的总称。

(7)程序设计:程序设计是给出解决特定问题程序的方法和过程,是软件构造活动中的重要组成部分。

1.2 简答题(1)简述内存的组织结构形式?计算机系统把内存看作是由若干个连续的存储单元(Storage Location)组成的,每个存储单元的大小为一个字节(Byte)。

为了能唯一标志每个存储单元,在计算机系统中给每个存储单元指定一个唯一的编号,该编号被称为存储单元的地址(Address),计算机在读写内存时就是按照存储单元的地址进行的。

(2)为什么计算机系统是一个通用的计算系统?在计算机硬件相对固定不变的前提下,计算机的通用性主要表现在通过运行不同的程序来完成不同的计算任务。

(3)简述结构化程序设计的基本思想?在程序设计过程中,如果仅仅使用顺序、选择和循环这三种基本控制结构,并且使每个代码块只有一个入口和一个出口,则这样的程序设计方法被称为结构化程序设计(Structured Programming)。

(4)简述计算机语言的发展史?程序设计语言经历了从机器语言、汇编语言、高级语言到超高级语言的发展历程。

(5)简述利用计算机进行问题求解的过程?1、理解问题特征2、设想解决方案3、优化解决方案4、描述解决方案5、执行并分析解决方案(6)简述各个程序质量要素的含义?1、正确性(Correctness):正确性是指一个计算机程序的正确程度,即程序在预定的运行环境下能正确完成预期功能的程度。

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

25
中国铁道出版社出版
汇编语言程序设计
指令操作数的表达-存储器



m8——一个8位存储器操作数单元(所有主 存寻址方式) m16——一个16位存储器操作数单元(所有 主存寻址方式) mem——代表m8或m16
26
中国铁道出版社出版
指令操作数的表达-立即数

汇编语言程序设计
i8——一个8位立即数 i16——一个16位立即数 imm——代表i8或i16 dest——目的操作数 src——源操作数
中国铁道出版社出版
4
汇编语言程序设计
汇编指令的操作码和操作数


每种指令的操作码: 用一个唯一的助记符表示(指令功能的英 文缩写) 对是存放数据的寄存器 或指明数据在主存位置的存储器地址
5
中国铁道出版社出版
12
中国铁道出版社出版
汇编语言程序设计
寄存器寻址指令
MOV AX,1234H ;AX←1234H MOV BX,AX ;BX←AX
寄存器寻址
13
中国铁道出版社出版
3. 存储器寻址方式

汇编语言程序设计

指令中给出操作数的主存地址信息(偏移地 址,称之为有效地址EA),而段地址在默认 的或用段超越前缀指定的段寄存器中 8086设计了多种存储器寻址方式 (1)、直接寻址方式 (2)、寄存器间接寻址方式 (3)、寄存器相对寻址方式 (4)、基址变址寻址方式 (5)、相对基址变址寻址方式
28
中国铁道出版社出版
汇编语言程序设计
例:编写一段显示字符串STRING的程序
DATA STRING SEGMENT DB ‘ HAPPY NEW YEAR! ’, 0DH , 0AH , ‘ $ ’
COUNT
DATA
DW
ENDS
17
( 1 ) 直接寻址
mov dl, string mov ah, 2 int 21h mov dl, string+1 mov ah, 2 int 21h : :
与数据有关的寻址方式 以 MOV 指令为例 : 立即寻址 MOV 寄存器寻址 MOV 直接寻址 MOV 寄存器间接寻址 MOV 寄存器相对寻址 MOV 基址变址寻址 MOV 相对基址变址寻址 MOV
存储器寻址
9




AX , 3069H AL , BH AX , [ 2000H ] AX , [ BX ] AX , COUNT [ SI ] AX , [ BP ] [ DI ] AX , MASK [ BX ] [ SI ]
29
; 显示字符‘H’
; 显示字符‘A’
中国铁道出版社出版
汇编语言程序设计
( 2 ) 寄存器间接寻址
mov cx, count mov bx, offset string Next : mov dl, [bx] mov ah, 2 int 21h inc bx loop next
; mov cx, 17 ; string的偏址 bx
直接寻址
15
中国铁道出版社出版
汇编语言程序设计
(2)寄存器间接寻址方式


有效地址存放在基址寄存器BX或变址寄存器 SI、DI中 默认的段地址在DS段寄存器,可使用段超越 前缀改变
MOV AX,[SI] ;AX←DS:[SI]
间接寻址
16
中国铁道出版社出版
汇编语言程序设计
(3)寄存器相对寻址方式
汇编语言程序设计
寻址方式

指令系统设计了多种操作数的来源 寻找操作数的过程就是操作数的寻址
操作数采取哪一种寻址方式,会影响机器运 行的速度和效率
如何寻址一个操作数对程序设计很重要
6
中国铁道出版社出版
汇编语言程序设计
传送指令MOV的格式
MOV

dest, src ;dest←src
MOV指令的功能是将源操作数src传送至目的操作数dest,例如:

有效地址是寄存器内容与有符号8位或16位位 移量之和,寄存器可以是BX、BP或SI、DI 有效地址=BX/BP/SI/DI+8/16位位移量 段地址对应BX/SI/DI寄存器默认是DS,对应 BP寄存器默认是SS;可用段超越前缀改变

17
中国铁道出版社出版
汇编语言程序设计
寄存器相对寻址指令
MOV AX,[DI+06H] ;AX←DS:[DI+06H] MOV AX,[BP+06H] ;AX←SS:[BP+06H]
有效地址=BX/BP+SI/DI+8/16位位 移量

段地址对应BX基址寄存器默认是DS,对应 BP基址寄存器默认是SS;可用段超越前缀改 变.
21
中国铁道出版社出版
汇编语言程序设计
相对基址变址寻址指令
MOV AX,[BX+SI+06H] ;AX←DS:[BX+SI+06H]
相对基址变址
位移量可用符号表示 同一寻址方式有多种表达形式
32位寻址
任何32位通用寄存器 除ESP外的任何32位通用寄存器
比例因子
1
1、2、4、8
33
中国铁道出版社出版
27
中国铁道出版社出版
汇编语言程序设计
段寄存器的使用规定
访问存储器的方式
取指令
默认的 段寄存器
CS
可跨越的 段寄存器

偏移地址
IP
堆栈操作
一般数据访问 BP作为基址的寻址 串操作的源操作数 串操作的目的操作数
SS
DS SS DS ES

SP
CS ES SS 有效地址EA CS DS ES CS ES SS 无 BP SI DI
汇编语言程序设计
基址变址寻址指令
MOV AX,[BX+SI] ;AX←DS:[BX+SI] MOV AX,[BP+DI] ;AX←SS:[BP+DI]
MOV AX,DS:[BP+DI] ;AX←DS:[BP+DI]
基址变址
20
中国铁道出版社出版
(5)相对基址变址寻址方式

汇编语言程序设计
有效地址是基址寄存器(BX/BP)、变址寄 存器(SI/DI)与一个8位或16位位移量之和:
14
中国铁道出版社出版
(1)直接寻址方式

汇编语言程序设计
有效地址在指令中直接给出 默认的段地址在DS段寄存器,可使 用段超越前缀改变 MOV AX,[2000H] ;AX←DS:[2000H] ;指令代码:A10020 MOV AX,ES:[2000H] ;AX←ES:[2000H] ;指令代码:26A10020
相对寻址
18
中国铁道出版社出版
汇编语言程序设计
(4)基址变址寻址方式


有效地址由基址寄存器(BX或BP)的内容加 上变址寄存器(SI或DI)的内容构成: 有效地址=BX/BP+SI/DI 段地址对应BX基址寄存器默认是DS,对应 BP基址寄存器默认是SS;可用段超越前缀改 变
19
中国铁道出版社出版
中国铁道出版社出版
汇编语言程序设计
( 4 ) 基址变址寻址
mov mov mov Next : mov mov int inc loop cx, count bx, offset string si, 0 dl, [bx] [si] ah, 2 21h si next
; mov cx, 17 ; string的偏址 bx ; mov dl, [bx+si] ; 显示一个字符 ; 循环指令
MOV AL,05H MOV BX,AX MOV AX,[SI] MOV AX,[BP+06H] MOV AX,[BX+SI]
;AL←05H ;BX←AX ;AX←DS:[SI] ;AX←SS:[BP+06H] ;AX←DS:[BX+SI]
7
中国铁道出版社出版
汇编语言程序设计
2.2 80X86指令操作数的寻址
; 显示一个字符 ; 循环指令
( 3 ) 寄存器相对寻址
mov cx, count mov si, 0 Next : mov dl, string[si] mov ah, 2 int 21h inc si loop next
30
; mov cx, 17
; mov dl, [string+si]
; 显示一个字符 ; 循环指令
3
中国铁道出版社出版
汇编语言程序设计
2.1 80X86指令系统概述

指令系统: 一组指令的集合 指令
操作码 操作数 ... 操作数



指令由操作码和操作数两部分组成 操作码说明计算机要执行哪种操作,如传送、 运算、移位、跳转等操作,它是指令中不可 缺少的组成部分 操作数是指令执行的参与者,即各种操作的 对象 有些指令不需要操作数,通常的指令都有一 个或两个操作数,也有个别指令有3个甚至4 个操作数
汇编语言程序设计
汇编语言程序设计
第2章 寻址方式和指令
1
中国铁道出版社出版
汇编语言程序设计
第2章 寻址方式和指令

2.1 80X86指令系统概述 2.2 80X86指令操作数的寻址 2.3 80X86的几类基本指令


2
中国铁道出版社出版
汇编语言程序设计
本章教学要求
1. 熟悉与数据有关的寻址方式 ; 2. 掌握80X86 80X86指令系统常用指令。
22
中国铁道出版社出版
指令操作数的表达-寄存器

汇编语言程序设计
相关文档
最新文档