当前位置:文档之家› 汇编语言模拟试题与答案

汇编语言模拟试题与答案

汇编语言模拟试题与答案
汇编语言模拟试题与答案

汇编语言模拟试题及答案

一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题

干后的括号内,每小题1分,共20分)

1 .指令JMP FAR PTR DONE 属于参考答案为:C

A. 段内转移直接寻址

B. 段内转移间接寻址

C. 段间转移直接寻址

D. 段间转移间接寻址

[解析]略

2. 下列叙述正确的是参考答案为:C

A. 对两个无符号数进行比较采用C MP指令,对两个有符号数比较用CMPS指令

B. 对两个无符号数进行比较采用C MPS指令,对两个有符号数比较用CMP指令

C. 对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令

D. 对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令

[解析]对于无符号数和有符号数的比较都采用CMP指令;

CMPS指令是串比较指令;

对两个有符号数的条件转移指令应是:JAE、JNB、JBE、JNA ;

对两个无符号数的条件转移指令应是:JGE、JNL、JLE、JNG。

3. 一个有128个字的数据区,它的起始地址为12ABH : 00ABH ,请给出这个数据区

最末一个字单元的物理地址是参考答案为:C

B. 12B6BH

D. 12BFEH

[解析]末字与首字相隔(128 —1 =) 127个字,且每个字占用2个字节,因此末字单元的物理地址应为:

首字单元的物理地址 +( 128 —1)X 2

即12ABH X 10H -00ABH +( 128 —1)X 2 42C59H。

4. 在下列指令的表示中,不正确的是参考答案为:C

A. MOV AL , [BX+SI]

B. JMP SHORT DONI

C. DEC [BX]

D. MUL CL

[解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C中的[BX], 没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如DEC BYTE PTR [BX]或DEC WORD PTR [BX]

但是在题目的选项C中,没有指出存储器操作数类型,所以该指令是不正确的

而其它选项中的指令均是正确的

5.在进行二重循环程序设计时F列描述正确的是参考答案为:A

A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内

B. 外循环初值应置外循环之内;内循环初值应置内循环之内

C. 内、外循环初值都应置外循环之外

D. 内、外循环初值都应置内循环之外,外循环之内

[解析]循环参数置初值,应在进入循环以前给出。

6. 条件转移指令JNE的测试条件为参考答案为:A

A. ZF=O

B. CF= 0

C. ZF=1

D. CF=1

[解析]略。

7. 8086CPU在基址加变址的寻址方式中,变址寄存器可以为参考答案为:D

A. BX 或CX

B. CX 或SI

C. DX 或SI

D. SI 或DI

[解析]略

8. 已知BX=2000H , SI=1234H ,则指令MOV AX , [BX+SI+2]的源操作在()中。

参考答案为:A

A. 数据段中偏移量为3236H的字节

B. 附加段中偏移量为3234H的字节

C. 数据段中偏移量为3234H的字节

D. 附加段中偏移量为3236H的字节

[解析]指令中的源操作数的寻址方式是相对基址变址寻址,且由于其中的基址寄存器

采用的是BX,所以源操作数是在数据段中,其偏移量为:

BX+SI+2=2000H+1234H+2=3236H

9. 执行如下程序:

MOVAX , 0

MOVBX , 1

MOV CX , 100

A: ADD AX , BX

INC BX

LOOP A

HLT

执行后(BX)= 参考答案为:C

A. 99

B. 100

C. 101

D. 102

[解析]1 )在进入循环之前,有三条指令分别初始化寄存器:AX为0、BX为1、CX为100 ;

2)由于循环的控制部分采用的是LOOP指令,该指令有使CX减1,并判断其是

否为0的功能,所以可知该循环的执行次数为100次;

3)循环体的主要功能是每次循环使AX中的内容累加BX的内容,并使BX的内容加1。

4)直到最后一次(即第100次)循环时,加到AX中的BX的内容为100,且使BX加1,即变为101后退出循环体。所以当执行完该段程序后,BX的内容为101。

5)该段程序的功能是(AX)= 1 + 2+……+ 100 = 5050

10 .上题的程序执行后(AX)= 参考答案为:B

A. 5000

B. 5050

C. 5100

D. 5150

[解析]请参看上题中的分析。

正确答案:B o

11 .对于下列程序段:

AGAIN : MOV AL,[SI]

MOV ES : [DI],AL

INC SI

INC DI

LOOP AGAIN

也可用_____ 指令完成同样的功能。参考答案为:A

A. REP MOVSB

B. REP LODSB

C. REP STOSB

D. REPE SCASB

[解析]该段程序的功能是将SI所指向的数据段中的数据顺序传送给DI所指向的附加段的一段数据区中,并且每次传送一个字节,即实现了字节串传送的功能,所以也可以使用REP MOVSB 指令来完成同样的功能°

12 .下面指令序列执行后完成的运算,正确的算术表达式应是

MOV AL , BYTE PTR X

SHL AL , 1

DEC AL

MOV BYTE PTR Y , AL

参考答案为:D

A. y=x2+1

B. x=y2+1

C. x=y2-1

D. y=x2-1

[解析]该段程序的第一条指令的功能是将X传送给AL;

第二条指令的功能是将AL的内容左移1位,即使得AL的内容扩大2倍;

第三条指令的功能是使AL的内容减1 ;

第四条指令的功能是将AL传送给Y;

综上所述该程序完成的运算是Y=2X-1 。

13 .在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来

参考答案为:B

A. 占内存空间小,但速度慢

B. 占内存空间大,但速度快

汇编语言实现十进制加减计算器

课程设计 题目十进制数加减计算器学院计算机科学与技术 专业计算机科学与技术 班级计算机0808班 姓名何爽 指导教师袁小玲 2010 年12 月31 日

课程设计任务书 学生姓名:何爽专业班级:计算机0808班 指导教师:袁小玲工作单位:计算机科学与技术学院 题目: 十进制数加减计算器的设计 初始条件: 理论:学完“汇编语言程序设计”、“课程计算机概论”、“高级语言程序设计”和“数字逻辑”。 实践:计算机学院科学系实验中心提供计算机和软件平台。如果自己有计算机可以在其上进行设计。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)十进制数加减计算器的设计。 (2)程序应有操作提示、输入和输出,界面追求友好,最好是菜单式的界面。 (3)设计若干用例(测试数据),上机测试程序并分析(评价)所设计的程序。 (4)设计报告格式按附件要求书写。课程设计报告书正文的内容应包括: 在正文第一行写课程设计题目; 1.需求说明(要求、功能简述)或问题描述; 2.设计说明(简要的分析与概要设计); 3.详细的算法描述; 4.源程序与执行结果(含测试方法和测试结果); 5.使用说明; 6.总结,包括设计心得(设计的特点、不足、收获与体会)和展望(该 程序进一步改进扩展的设想)。 时间安排: 设计时间一周:周1:查阅相关资料。 周2:系统分析,设计。 周3~4:编程并上机调试。 周5:撰写课程设计报告。 设计验收安排:20周星期五8:00起到计算机学院科学系实验中心进行上机验收。 设计报告书收取时间:20周的星期五下午5:00之前。 指导教师签名: 2010年12月31日 系主任(或责任教师)签名: 2010年12月31日

计算机组成原理实验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】在打开该应用软件时,其它的同样会用到该串口的应用软件要先关掉。

汇编语言试题及参考答案

汇编语言试题及参考答案 一,填空题 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.链接

大工18春《汇编语言程序设计》在线测试3

------------------------------------------------------------------------------------------------------------------------------ (单选题) 1: 假设(EAX)=00001000H,(EBX)=00002000H,(DS)=0010H,试问MOV ECX,[EAX+EBX]指令访问内存的物理地址是()。 A: 00003100H B: 10003100H C: 00003200H D: 00005100H 正确答案: (单选题) 2: 阅读下面的程序片段。(1)MOV AX,723AH(2)MOV BX,0C86BH (3)SUB AL,BL (4)SBB AH,BH (5)XOR AL,01H (6)ADC AX,0执行该程序片段后:(AX)等于()。 A: A9CEH B: A9CFH C: 0 D: BCCEH 正确答案: (单选题) 3: 阅读下面的程序片段。(1)MOV AX,723AH(2)MOV BX,0C86BH (3)SUB AL,BL (4)SBB AH,BH (5)XOR AL,01H (6)ADC AX,0执行该程序片段后:CF等于()。 A: A B: B C: 0 D: 1 正确答案: (单选题) 4: 阅读下面的程序片段。(1)MOV AX,723AH(2)MOV BX,0C86BH (3)SUB AL,BL (4)SBB AH,BH (5)XOR AL,01H (6)ADC AX,0执行该程序片段后:OF等于()。 A: C B: B C: 0 D: 1 正确答案: (单选题) 5: 下面指令执行后,(1)DAW DW 2A05H(2)DAB DB 0FAH (3)MOV AL,BYTE PRT DAW (4)SUB DAB,AL变量DAB中的内容是()。 A: 0F5H B: 0F6H C: 0 D: 0E65H 正确答案: (单选题) 6: 阅读如下程序段:(1)ADRR DB XXH,XXH,……,XXH (2) NUM EQU $-ADRR (3)RETT DB ? (4)…(5)MOV CX,NUM (6)MOV BX,-1 (7)DON: (8)INC BX (9)CMP ADRR[BX],0 (10)LOOPZ DON (11)JNZ NEXT (12)MOV BL,OFFH (13)NEXT: (14)MOV RETT,BL (15)HLT结束后,该程序完成的功能是()。 A: 希尔排序算法 B: 在以Adrr为起始地址的数组中查找第一个非0数据 C: 在以Adrr为起始地址的数组中查找字符A D: 以上都不对

汇编语言实验

汇编语言程序设计 实验一DEBUG 程序使用技巧 学号:姓名: 1.寄存器和内存 开始Debug 程序。输入“Q ” 退出程序。再次启动Debug。 输入“r ”来显示CPU的当前状态和寄存器中的当前内容。 输入“r AX ”和“1234”,_______寄存器中的内容变为1234。 输入“r DS ”和“2000”,_______寄存器中的内容变为2000。 输入“d DS:1000 ”来显示数据段中80H 字节数据,把数据抄在这里: 输入“f DS:1000 1100 77 ”再显示一次这80H 字节。判断这条指令的作用是什么? 再输入“d 2000:1000 ”来显示数据段中80H 字节数据。观察与前面的数据有无不同。 输入“d 1900:0100 ”和“d 1ff0:0100 ”来显示两个存储段中的内容。比较其中2000:0000 段中的数据。相同段落中的数据相同么?根据你的观察,得出结论,是否程序员可以用不同的段起始地址和偏移量组合,把不容内容存入相同的内存段中。

2.输入机器码,使用单步和断点 退出Debug,再重新启动Debug。 输入“r ”观察CPU 的状态,下一条指令是什么? 使用两种方式输入一段程序,第一种方式:直接输入机器码。 输入“u ”来显示程序段中的指令序列。然后输入“d CS:100 ” 来显示代码段中的数据。观察显示内容。 “u CS:100 106 ”做反汇编,就是显示出汇编语句。将这几句汇编语句记录下来: 使用输入“r ”观察CPU 的状态,使用“t ”来跟踪程序,直至最后一条指令执行完毕。注意,跟踪程序前,要让IP 寄存器中的值是100H。一直监视AX 和IP 寄存器的内容变化,尤其是标志位的变化。

《汇编语言程序设计》在线测试

《汇编语言程序设计》第01章在线测试 《汇编语言程序设计》第01章在线测试剩余时间:59:54 答题须知:1、本卷满分20分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分) 1、一个字节的二进制位数是____位。 A、4 B、8 C、16 D、32 2、微机中每个存储单元具有一个地址,其中存放一个____量。 A、比特(1位) B、字节(8位) C、字(16位) D、双字(32位) 3、设段地址为5788H,偏移地址为94H,该字节的物理地址_____。 A、57974H B、5883H C、58ECH D、57914H 4、汇编语言源程序中,每个语句由4项组成,不影响语句功能的是_____。 A、名字项 B、助记符(操作码) C、操作数 D、注释 5、执行INT 21H指令后,8086CPU将转入_____号中断服务程序。 A、20 B、20H C、21 D、21H 第二题、多项选择题(每题2分,5道题共10分) 1、如下________名称属于8086的16位通用寄存器。 A、IP B、DS C、BP D、DX E、AX 2、采用汇编语言进行程序开发,可以使用的工具软件有______。 A、文本编辑程序 B、汇编程序 C、调试程序 D、集成化开发环境 E、连接程序 3、使用MASM 6.x版本的“ML /Fl eg101.asm”命令,如果源程序eg101.asm没有语法错误,则将生成_________文件。 A、目标代码文件

汇编语言实现十个数的排序

DATAS SEGMENT DATA0 DB'Please input a numbers (0-65535):','$' DATA1 DB' over flow input again:','$' DATA2 DB'The num you have put is:',0ah,0dh,'$' DATA3 DB'After exchange the num is:',0ah,0dh,'$' DATA4 DB' ','$' DATA DW 10 DUP(?) DATAS ENDS STACKS SEGMENT DW 256 DUP(?);此处输入堆栈段代码STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DA TAS,SS:STACKS ;/****************************************/ ;-----------程序开始------------ START: MOV AX,DA TAS MOV DS,AX MOV SI,0 MOV CX,10 ;----------循环输入------------ L: CALL INPUT ADD SI,2 CALL NEWLINE LOOP L MOV DX,OFFSET DATA2 MOV AH,9 INT 21H ;-------输入后显示---------- MOV CX,10 MOV DI,0 AGAIN: CALL PRINT CALL SPACE ADD DI,2 LOOP AGAIN ;----------排序-------------

MOV CX,9 MOV DI,0 LOOP0: CALL SORT ADD DI,2 LOOP LOOP0 CALL NEWLINE MOV DX,OFFSET DATA3 MOV AH,9 INT 21H ;----------交换后显示------------- MOV CX,10 MOV DI,0 AGAIN0: CALL PRINT CALL SPACE ADD DI,2 LOOP AGAIN0 ;----------返回系统-------------- EXIT: MOV AH,4CH INT 21H ;/**************************************/ ;------------输入函数-------- INPUT PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX ;----------提示信息---------- MOV DX,OFFSET DATA0 MOV AH,9 INT 21H MOV BX,0 ;BX存放十进制数 CLC MOV DX,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和

中国石油大学(华东)]2019年秋季学期《汇编语言》在线考试补考

【奥鹏】[中国石油大学(华东)]2019年秋季学期《汇编语言》在线考试补考(适用于2020年4月份考试)试卷总分:100得分:100 全部答案a1506131070 第1题,已知(DS)=3000H,(SS)=2500H(BX)=0100H,(BP)=0040H,指令MOV AX,DS: BI円]源操作数的物理地址是() A、25040H B、30040H C、25100H D、55040H 正确答案:B 第2题,除法调指令AAD是对()调整 A、AX中组合的十进制被除数 B、AL中组合的十进制的商数 C、AX中未组合的十进制被除数 D、AL中未组合的十进制的商数 正确答案:C 第3题,DATA SEGMENTTA1DWN0102H1,0304H,0506HTA2DB02H,03H,04 HMOV BX,DS-[ 0006H]AND BX,OFFHOR BH,[BX上述指令序列运行后,BX的内容是() A、0605H B、0402H C、0606H D、0204H 正确答案:B 第4题,串操作指令中,目标串操作数的段地址一定在()寄存器中。 A、CS B. SS C DS D ES 正确答案9 第5题指会 ADD ES:[DI」AX和存放在( A、寄存器 B、时加段 C、堆栈段 D、代码段 正确答:B 第6题,能波计算机直接课別和热行的指含是()

A、)符号指? B、机器指令 C、指令 D、宏指令 正确答案:B 第7题,执行指令 PUCH CXI后堆花指针SP自动() A、 1 B、不操作 C、-2 D、-1 正确答案C 第8题汇编话言指令中一不可能少的城是() A、标号名域城 B、助记符城 C、操作数城 D、注释城 正确答B 第9题在计算机的CPU中执行算术逻辑运算的部件是() A、ALU B、PC C、AL D、AR 正确答案:A 第10题下面哪一个命令是显示内存单元的内容() A、D命会 B、E命令 C、F命令 D、R命令 正确答案A 第11题 MOV AX, ES: COUNTED源操作的址方式是() A、基址寻址 B、文立即寻址 C、变址寻址 D、基址变址寻址 正确答案C 第12已知XーYDx+7-()

完整版汇编语言试题及答案..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

《汇编语言》问题3.10解析

1、如果要在10000H处写入字型数据2266H,可以用以下的代码完成: mov ax,1000H mov ds,ax mov ax,2266H mov[0],ax 补全下面的代码,使它能够完成同样的功能:在如果要在10000H处写入字型数据2266H。 要求:不能使用“mov内容单元,寄存器”这类命令。 _____________ _____________ _____________ mov ax,2266H push ax 解析:大家看,如何实现在10000H处写入字型数据2266H? 也就是说要在SS:SP(1000:0)指向的栈顶处将字型数据2266H写入。 那我们在10000H处写入字型数据2266H前的栈顶指向肯定SS:SP(1000:2),即为我需要初始化栈时设定的栈顶。 因此,完成的程序如下。 mov ax.1000H mov ss,ax mov sp,2 mov ax,2266H push ax 2、如果要在1000H处读取字型数据2266H,可以用以下的代码完成: mov ax,1000H mov ds,ax mov ax,2266H mov ax,[0] 补全下面的代码,使它能够完成同样的功能:在如果要在10000H处读取字型数据2266H。 要求:不能使用“mov内容单元,寄存器”这类命令。 _____________ _____________ _____________ mov ax,2266H pop ax 解析:如何在10000H处读取字型数据2266H? 也就是说要在SS:SP(1000:0)指向的栈顶处将字型数据2266H读取。 那我们在10000H处读取字型数据2266H前的栈顶指向肯定SS:SP(1000:0),即为我需要初始化栈时设定的栈顶。 因此,完成的程序如下。 mov ax.1000H mov ss,ax mov sp,0 mov ax,2266H pop ax 总结:写入数据的话,写入数据时的栈顶和当前栈顶(即写入数据前的栈顶)不一样;读取数据的话,读取数据时的栈顶和当前栈顶(即读取数据前的栈顶)一样。

汇编语言上机实验十2015李中

实验十输入/输出与中断实验 一、实验目的 1.掌握输入/输出与中断指令的使用方法; 2.掌握中断向量表的结构及使用方法; 3.掌握INT 指令的使用方法; 4.掌握BIOS 中断功能调用的使用方法; 5.掌握DOS 功能调用的使用方法。 二、实验要求 1.了解INT 指令与CALL 指令的不同点; 2.会用DEBUG 观察中断向量表; 3.会用DEBUG 的T 和P 命令执行INT 指令; 4.会用INT 10H、INT 16H 编制程序; 5.会用DOS 功能调用的02H、09H 功能编制程序 三、实验题目 1. 编制程序。利用IBM PC BIOS 功能调用的INT 16H 功能,编制一个从键盘上接收若干个字符串的程序。 2.编制程序。利用IBM PC BIOS 功能调用的INT 10H 功能,编制一个在屏幕上指定位置显示若干个字符串的程序。 四、实验思路 1调用INT16号功能实现输入字符,并且用int10号功能实现显示字符,并且将字符保存到data开始的内存单元中,如果不是ctrl+c的话循环输入输出,是的话结束程序.

2用INT10中03功能读出当前光标位置,然后保存当前的光标位置,只有用INT10中的02号功能设置要显示字符的位置,调用INT10的0E号功能循环显示字符,遇到结尾符号0的时候结束输出,然后恢复光标位置,调用INT10的1号功能恢复光标类型,用INT10的2号功能设置光标位置,使光标位置回到起点,结束程序. PUSH DX;保存当前光标位置 PUSH CX;保存光标类型 MOV DX,1020H;设置光标位置 MOV AH,02H INT 10H;设置光标位置 五、实验程序 1 DSEG SEGMENT;数据段开始 DATA DB 80 DUP (0);存储数据的单元 DSEG ENDS ;数据段结束 CSEG SEGMENT;代码段开始 ASSUME CS:CSEG,DS:DSEG;段假设 START: MOV AX,DSEG MOV DS,AX;段地址初始化

汇编语言试题及答案.

一,单项选择题(每小题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

汇编语言实验整理

1.设计程序。实现Y=2X+3,X是一位十进制数。要求X从键盘输入,在下一行 显示“Y=2X+3=”以及十进制计算结果。 data segment\x db?\y dw?\mess1db0ah,0dh,'input x:$'\mess2db 0ah,0dh,'Y=2X+3=$'\data ends\code segment\assume cs:code,ds:data\start:\mov ax,data\mov ds,ax\let3:\mov dx,offset mess1\mov ah,9\int21h\mov ah,1\int21h\cmp al,'0'\jb out1\ cmp al,'9'\ja out1\and al,0fh\mov bl,2\mul bl\add ax,3\mov y,ax\mov cx,0\mov bx,10\let0:\mov dx,0\inc cx\idiv bx\push dx\cmp ax,0\jne let0\mov dx,offset mess2\mov ah,9\int 21h\let1:\pop ax\add ax,0030h\mov dl,al\mov ah,2\int21h\ dec cx\cmp cx,0\jnz let1\jmp let3\out1:\mov ah,4ch\int21h\ code ends\end start 2.编写程序,将键盘输入的小写字母变为大写字母显示在屏幕上,输入小写字 母以外的其它字符则退出。 data segment\mess1db0ah,0dh,'xiaoxieinput:$'\mess2db 0ah,0dh,'daxieoutput:$'\data ends\code segment\assume cs:code,ds:data\start:\mov ax,data\mov ds,ax\let2:\mov dx,offset mess1\mov ah,9\int21h\mov ah,1\int21h\cmp al,'a'\jb out1\ cmp al,'z'\ja out1\mov bl,al\mov dx,offset mess2\mov ah,9\int 21h\let0:\sub bl,20h\mov dl,bl\mov ah,2\int21h\jmp let2\out1:\mov ah,4ch\int21h\code ends\end start 3.设计程序。实现Z=X/4+16*Y,X和Y都是一位十进制数。要求从键盘输入, 在下一行显示“Z=X/4+16*Y”以及十进制计算结果。 data segment\mess1db0ah,0dh,'input x:$'\mess2db0ah,0dh,'input y:$'\ mess3db0ah,0dh,'z=x/4+16*y=$'\data ends\code segment\assume cs:code,ds:data\start:\mov ax,data\mov ds,ax\let0:\mov dx,offset mess1\mov ah,9\int21h\mov ah,1\int21h\mov cl,2\sub al,30h\ mov ah,0\sar ax,cl\mov bl,al\mov dx,offset mess2\mov ah,9\int 21h\mov ah,1\int21h\sub al,30h\mov ah,0\mov cl,4\sal ax,cl\ add al,bl\mov bx,ax\mov dx,offset mess3\mov ah,9\int21h\let1:\ mov ax,bx\mov cx,0\mov bx,10\let2:\mov dx,0\inc cx\idiv bx\ push dx\cmp ax,0\jne let2\let3:\pop ax\add ax,0030h\mov dl,al\ mov ah,2\int21h\dec cx\cmp cx,0\jne let3\mov ah,4ch\int

汇编语言试题及答案

一,单项选择题(每小题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.执行如下程序:()

汇编语言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说明为远过程。

汇编语言基础试题

第一章基本知识 一、单项选择题(共40分,每题2分) 1.若十进制数为13 2.75,则其十六进制数为(B) A.21.3 B.84.C C.4.6 D.6 2.若[X补]=11111,则其十进制真值为(C) A.-31 B.-15 C.-1 D.31 3.某定点整数64位,含1位符号位,补码表示,则其绝对值最大负数为(A) A.-263 B.-264 C.-(263-1) D.-(263-1) 4.原码乘法是(D) A.用原码表示操作数,然后直接相乘 B.被乘数用原码表示,乘数取绝对值,然后相乘 C.乘数用原码表示,被乘数取绝对值,然后相乘 D.先取操作数绝对值相乘,符号位单独处理 5.在微机系统中分析并控制指令执行的部件是(C) A.寄存器 B.数据寄存器 C.CPU D.EU 6.已知X=76,则[X]补=(B) A.76H B.4CH C.0B4H D.0CCH 7.已知[X]补=80H, 则X=(D) A.80H B.0 C.0FFH D.-80H 8.已知[X]补=98H, 则[X]补/2=(A) A.0CCH B.4CH C.49H D.31H 9.已知X=78,Y=-83则[X+Y]补=(C) A.0F5H B.0A1H C.0FBH D.65H 10.在计算机的CPU中执行算术逻辑运算的部件是(A) A.ALU B.PC C.AL D.AR 11.将125转换成二进制数的结果(A) A.7DH B.7CH C.7EH D.7BH 12.将93H看成一个组合BCD码,其结果是(B) A.10010101 B.10010011 C.10000011 D.10000001 13.能被计算机直接识别的语言是(C) A.C语言 B.汇编语言 C.机器语言 D.面向对象语言

汇编语言实验

循环与分支程序设计 实验目的 ⒈进一步熟悉掌握上机操作。 ⒉练习循环分支程序的编写方法。 3.掌握利用DEBUG修改参数、检查结果的方法。 实验内容: 1.设有10个学生的成绩分别为56、69、84、82、73、88、99、63、100和80分。试编制程序分别统计低于60分、60~69分、70~79分、80~89分、90~99分及100分的人数存放到s5、s6、s7、s8、s9及s10单元中。datarea segment grade dw 56,69,84,82,73,88,99,63,100,80 s5 dw 0 s6 dw 0 s7 dw 0 s8 dw 0 s9 dw 0 10 dw 0 datarea ends main proc far assume cs:prognam, ds:datarea start: push ds sub ax,ax push ax mov ax,datarea mov ds,ax mov s5, 0 mov s6, 0 mov s7, 0 mov s8, 0 mov s9, 0 mov s10, 0 mov cx, 10 mov bx, offset grade compare: mov ax, [bx] cmp ax, 60 cmp ax, 70 cmp ax, 80 cmp ax, 90 cmp ax, 100 jmp short change-addr nine: inc s9 jmp short change-addr

eight: inc s8 jmp short change-addr seven: inc s7 jmp short change-addr six: inc s6 jmp short change-addr five: inc s5 change-addr: add bx, 2 loop compare ret main endp end start

汇编语言上机考试题

1编写程序。从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。 2现有data segment Array dw 64 dup ( ?) Dw 64 dup ( ? ) Data ends 试编制一程序段,要求在ARRAY+8到ARRAY+10(两者都包括内)单元中插入5个0(提示:先把ARRAY+8单元开始的数据后移5个单元,然后再在规定位置插入0值) 3编写一个汇编语言程序,统计变量X中的值有多少位为1,并记入ONE变量中。 4在STRING到STRING+9单元中存放着一个字符串,试编制一个程序,测试该字符串中是否存在数字,如有数字则把第5位置1,否则将该位置0. 5在BUFFER为首址的单元开始,存放10个单字节的有符号数,编译程序,用以统计数据块中负数元素的个数。 6设有一字符串存放在STRING为首址的数据区中,其最后一字符‘$’作为结束标志,编一程序,计算该字符串的长度送LEN单元 7请编定一程序,从附加段中一个未排序的15个数字组UNOR中,找出最大数和最小数分别存放在AX和BX寄存器中。 8在所定义的字节数组中找出第一个非0数据,并显示输出其所在数组的下标 9、从内存BUF单元开始存放有8字节的数据块,编一程序,统计该数据块中,所有位为“1”的个数。 10、在数据段以BUF为首址的区域中,存放了10个字节数据。编一程序分别统计正数和负数的个数送MINUS和PLUS单元。 1编写程序。从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。 2现有data segment Array dw 64 dup ( ?) Dw 64 dup ( ? ) Data ends 试编制一程序段,要求在ARRAY+8到ARRAY+10(两者都包括内)单元中插入5个0(提示:先把ARRAY+8单元开始的数据后移5个单元,然后再在规定位置插入0值) 3编写一个汇编语言程序,统计变量X中的值有多少位为1,并记入ONE变量中。 4在STRING到STRING+9单元中存放着一个字符串,试编制一个程序,测试该字符串中是否存在数字,如有数字则把第5位置1,否则将该位置0. 5在BUFFER为首址的单元开始,存放10个单字节的有符号数,编译程序,用以统计数据块中负数元素的个数。 6设有一字符串存放在STRING为首址的数据区中,其最后一字符‘$’作为结束标志,编一程序,计算该字符串的长度送LEN单元 7请编定一程序,从附加段中一个未排序的15个数字组UNOR中,找出最大数和最小数分别存放在AX和BX寄存器中。 8在所定义的字节数组中找出第一个非0数据,并显示输出其所在数组的下标 9、从内存BUF单元开始存放有8字节的数据块,编一程序,统计该数据块中,所有位为“1”的个数。 10、在数据段以BUF为首址的区域中,存放了10个字节数据。编一程序分别统计正数和负数的个数送MINUS和PLUS单元。

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