四川大学2004年汇编语言程序设计半期试题(堂下开卷)答案

合集下载

四川大学汇编考试题及答案1

四川大学汇编考试题及答案1

四川大学期末考试试题(闭卷)(2006-2007学年第2学期)课程号:课程名称:汇编语言程序设计(B卷)任课教师:适用专业年级:计算机科学与技术05级学号:姓名:考试须知四川大学学生参加由学校组织或由学校承办的各级各类考试,必须严格执行《四川大学考试工作管理办法》和《四川大学考场规则》。

有考试违纪作弊行为的,一律按照《四川大学学生考试违纪作弊处罚条例》进行处理。

四川大学各级各类考试的监考人员,必须严格执行《四川大学考试工作管理办法》、《四川大学考场规则》和《四川大学监考人员职责》。

有违反学校有关规定的,严格按照《四川大学教学事故认定及处理办法》进行处理。

题号一二三四五六卷面成绩得分阅卷教师阅卷时间一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分1.下面的数值表示中,和100相等的是哪一个()(A)B (B)100H (C)64H (D)642.如果(SP)=30H,执行PUSH BX指令后,(SP)=()(A)28H (B)2EH (C)32H (D)31H3.如果(AL)=35H,执行AND AL,0FFH指令后,CF=()(A)0 (B)1(C)2 (D)和执行AND AL,0FFH指令前的取值保持一致4.以下指令中,执行后要影响标志位的指令为()(A)MOV AL,BL (B)SAHF (C)NOT CL (D)PUSHF5.对于SAR指令的相关原理,正确的描述为()(A)执行SAR指令后,目的操作数最高位补充0(B)该指令实质上与SHR指令没有区别(C)如果移位次数大于1,则移位次数必须预先存放在CL寄存器(D)该指令不影响CF标志位6.关于SUB指令对OF标志的影响,正确的描述为()(A)当程序员把SUB指令的操作数看作无符号数时,SUB指令不影响OF标志(B)当程序员把SUB指令的操作数看作无符号数时,SUB指令要影响OF标志,但是程序员认为它此时没有意义(C)SUB指令有时会影响OF标志,但有时不会(D)程序员使用SUB指令时总是认为它所影响的OF标志是有意义的7.DEBUG中,T命令的功能为()(A)显示当前系统时间(B)查看指定内存单元的内容注:试题字迹务必清晰,书写工整。

四川大学2018—2019学年第2学期大二计算机专业《汇编语言程序设计》考试试卷(附答案)

四川大学2018—2019学年第2学期大二计算机专业《汇编语言程序设计》考试试卷(附答案)

四川大学2018—2019学年第2学期《汇编语言程序设计》考试试卷(A卷)(闭卷时间120分钟)院/系年级专业姓名学号1、简述计算机系统组成。

2、程序中用什么语句来结束程序的执行?用什么语句来表示程序的结束和指出程序执行的起点?3、除了用4CH号系统功能调用结束程序的执行并退出,还有哪些办法?4、把下列二进制数转换为十六进制数和十进制数。

(1)01101101 (2)10110010 (3)1111115、下列各数均为十进制数,请采用8位二进制补码运算,并回答标志寄存器FLAGS中CF和OF的值,运算结果所代表的十进制数是多少?如果用16位二进制补码运算,其结果所代表的十进制数是多少?FLAGS中CF和OF的值呢?(1)85+69 (2)85+(-69) (3)85-(-69) (4)85-(69)6、下面的程序能否输出字符0~9?如不能,应如何修改?CODE SEGMENTASSUME CS:CODEK=30HJ DW 0START: MOV DL, KMOV AH, 2INT 21HK=K+1INC JCMP J, 10JNZ STARTMOV AH, 4CHINT 21HCODE ENDSEND START7、在宏定义中有时需要LOCAL 伪操作,为什么?8、根据以下要求写出输入输出指令:(1) 读61H端口(2) 写20H端口(3) 读3F8H端口(4) 写3F9H端口9、主程序从键盘输入一个八位的二进制数,对其作求补码操作,用子程序对求补后的值以二进制形式显示。

(正数的补码=输入)10、编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字母。

四川大学2018—2019学年第2学期《汇编语言程序设计》考试试卷(A卷)参考答案1、计算机由中央处理器CPU,存储器,输入系统,输出系统组成,由系统总线连接在一起。

CPU包括运算器和控制器,运算器执行指令,控制器负责计算机的控制。

汇编语言程序设计题目以及答案

汇编语言程序设计题目以及答案

汇编语言程序设计题目以及答案[P1] 汇编语言程序设计题目以及答案汇编语言是一种底层计算机语言,它直接使用机器指令来编写程序。

本文将介绍一些汇编语言程序设计的题目,并提供相应的答案。

通过这些题目和答案的学习,读者可以更好地理解和掌握汇编语言程序设计的基本概念和技巧。

[题目一] 计算两个数的和要求:编写汇编程序,计算两个给定的整数的和,并将结果存储在指定的内存位置中。

答案:```assemblysection .datanum1 dd 10 ; 第一个整数num2 dd 20 ; 第二个整数result dd 0 ; 结果section .textglobal _start_start:mov eax, [num1] ; 将num1值存入寄存器eaxadd eax, [num2] ; 将num2值与eax寄存器中的值相加mov [result], eax ; 将结果存储到result变量mov eax, 1 ; 准备执行系统调用mov ebx, 1 ; 文件描述符:标准输出mov ecx, result ; 输出的数据mov edx, 4 ; 数据长度int 0x80 ; 执行系统调用mov eax, 1 ; 准备执行系统调用xor ebx, ebx ; 正常退出int 0x80 ; 执行系统调用```[题目二] 字符串反转要求:编写汇编程序,将一个给定的字符串反转,并将结果存储在指定的内存位置中。

答案:```assemblysection .datastr db 'Hello', 0 ; 待反转的字符串section .bssreverse resb 6 ; 存储反转后的字符串section .textglobal _start_start:mov esi, str ; esi指向待反转的字符串mov edi, reverse ; edi指向存储反转结果的位置 mov ecx, 5 ; 字符串长度为5mov ebx, 1 ; ebx用于计数reverse_loop:mov al, [esi+ebx]mov [edi-ebx+5], alinc ebxloop reverse_loopmov byte [edi+5], 0 ; 在末尾添加字符串结束符 mov eax, 4 ; 准备执行系统调用mov ebx, 1 ; 文件描述符:标准输出mov ecx, reverse ; 输出的数据mov edx, 6 ; 数据长度int 0x80 ; 执行系统调用mov eax, 1 ; 准备执行系统调用xor ebx, ebx ; 正常退出int 0x80 ; 执行系统调用```[题目三] 求平均数要求:编写汇编程序,计算给定的一组整数的平均数,并将结果存储在指定的内存位置中。

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

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

汇编语言程序设计教案及习题答案教案章节:一、汇编语言简介1. 汇编语言的概念2. 汇编语言的特点3. 汇编语言的应用领域二、汇编语言的基本语法1. 数据类型及表示2. 指令格式及分类3. 寄存器使用规则三、汇编语言程序设计步骤1. 分析需求,确定程序功能2. 选择合适的汇编语言及开发环境3. 编写汇编代码,调试程序4. 优化程序性能四、常用汇编指令及功能1. 数据传输指令2. 算术运算指令3. 逻辑运算指令4. 控制流指令5. 字符串操作指令6. 中断指令五、汇编语言与C语言的接口编程1. extern声明汇编函数2. 调用汇编函数的方法3. 汇编函数与C函数的数据交换4. 实例分析:汇编语言实现字符串排序习题答案:一、汇编语言简介1. 汇编语言是一种低级编程语言,用于编写计算机程序。

(正确)2. 汇编语言可以直接操作计算机硬件资源。

(正确)3. 汇编语言程序可读性差,不易维护。

(正确)二、汇编语言的基本语法1. 数据类型及表示a. 字节:8位(正确)b. 字:16位(正确)c. 双字:32位(正确)d. 四字:64位(正确)2. 指令格式及分类a. 操作码(正确)b. 操作数(正确)c. 寄存器(正确)d. 标志位(正确)3. 寄存器使用规则a. 通用寄存器:AX, BX, CX, DX(正确)b. 段寄存器:CS, DS, ES, SS(正确)c. 指令指针:IP(正确)d. 状态寄存器:FLAGS(正确)三、汇编语言程序设计步骤1. 分析需求,确定程序功能(正确)2. 选择合适的汇编语言及开发环境(正确)3. 编写汇编代码,调试程序(正确)4. 优化程序性能(正确)四、常用汇编指令及功能1. 数据传输指令a. MOV:数据传送(正确)b. PUSH:压栈(正确)c. POP:出栈(正确)d. XCHG:交换数据(正确)2. 算术运算指令a. ADD:加法(正确)b. SUB:减法(正确)c. MUL:无符号乘法(正确)d. IMUL:有符号乘法(正确)3. 逻辑运算指令a. AND:逻辑与(正确)b. OR:逻辑或(正确)c. XOR:逻辑异或(正确)d. NOT:逻辑非(正确)4. 控制流指令a. JMP:无条件跳转(正确)b. JE:相等跳转(正确)c. JNE:不相等跳转(正确)5. 字符串操作指令a. MOVS:字符串移动(正确)b. CMPS:字符串比较(正确)c. SCAS:字符串扫描(正确)d. LODS:字符串装载(正确)6. 中断指令a. INT:软件中断(正确)b. INTO:中断向量表(正确)五、汇编语言与C语言的接口编程1. extern声明汇编函数(正确)2. 调用汇编函数的方法(正确)3. 汇编函数与C函数的数据交换(正确)4. 实例分析:汇编语言实现字符串排序(正确)汇编语言程序设计教案及习题答案教案章节:六、汇编语言的输入与输出1. 输入输出指令2. 字符串操作指令3. 实例分析:编写一个简单的输入输出程序七、汇编语言的杂项指令1. 杂项指令的概念2. 常用杂项指令及其功能3. 实例分析:杂项指令的应用八、汇编语言的子程序调用1. 子程序调用的概念2. 子程序的定义与调用3. 子程序的返回4. 实例分析:子程序在汇编语言中的应用九、汇编语言的程序举例1. 实例一:计算两个数的和2. 实例二:字符串的复制3. 实例三:数制的转换4. 实例四:文件的读写十、汇编语言程序的调试与优化1. 调试工具的使用2. 调试方法与技巧3. 程序优化的概念4. 程序优化的方法与技巧习题答案:六、汇编语言的输入与输出1. 输入输出指令a. IN:输入指令(正确)b. OUT:输出指令(正确)c. INPUT:输入函数(正确)d. PRINT:输出函数(正确)2. 字符串操作指令a. MOVS:字符串移动(正确)b. CMPS:字符串比较(正确)c. SCAS:字符串扫描(正确)d. LODS:字符串装载(正确)3. 实例分析:编写一个简单的输入输出程序(正确)七、汇编语言的杂项指令1. 杂项指令的概念(正确)2. 常用杂项指令及其功能a. NOP:无操作(正确)b. HLT:停止CPU运行(正确)c. CMC:翻转标志位(正确)d. ARPL:寄存器之间交换(正确)3. 实例分析:杂项指令的应用(正确)八、汇编语言的子程序调用1. 子程序调用的概念(正确)2. 子程序的定义与调用a. 定义子程序(正确)b. 调用子程序(正确)3. 子程序的返回(正确)4. 实例分析:子程序在汇编语言中的应用(正确)九、汇编语言的程序举例1. 实例一:计算两个数的和(正确)2. 实例二:字符串的复制(正确)3. 实例三:数制的转换(正确)4. 实例四:文件的读写(正确)十、汇编语言程序的调试与优化1. 调试工具的使用(正确)2. 调试方法与技巧(正确)3. 程序优化的概念(正确)4. 程序优化的方法与技巧(正确)汇编语言程序设计教案及习题答案教案章节:十一、汇编语言与操作系统1. 操作系统的概念2. 汇编语言在操作系统中的应用3. 实例分析:汇编语言编写简单的操作系统十二、汇编语言与设备驱动程序1. 设备驱动程序的概念2. 汇编语言在设备驱动程序开发中的应用3. 实例分析:汇编语言编写简单的设备驱动程序十三、汇编语言与嵌入式系统1. 嵌入式系统的概念2. 汇编语言在嵌入式系统中的应用3. 实例分析:汇编语言编写简单的嵌入式系统十四、汇编语言与汇编器的使用1. 汇编器的概念2. 汇编器的使用方法3. 实例分析:使用汇编器编写和调试汇编程序十五、汇编语言与汇编语言的未来发展1. 汇编语言的发展趋势2. 汇编语言在未来的应用领域3. 汇编语言学习的方法与建议习题答案:十一、汇编语言与操作系统1. 操作系统的概念(正确)2. 汇编语言在操作系统中的应用(正确)3. 实例分析:汇编语言编写简单的操作系统(正确)十二、汇编语言与设备驱动程序1. 设备驱动程序的概念(正确)2. 汇编语言在设备驱动程序开发中的应用(正确)3. 实例分析:汇编语言编写简单的设备驱动程序(正确)十三、汇编语言与嵌入式系统1. 嵌入式系统的概念(正确)2. 汇编语言在嵌入式系统中的应用(正确)3. 实例分析:汇编语言编写简单的嵌入式系统(正确)十四、汇编语言与汇编器的使用1. 汇编器的概念(正确)2. 汇编器的使用方法(正确)3. 实例分析:使用汇编器编写和调试汇编程序(正确)十五、汇编语言与汇编语言的未来发展1. 汇编语言的发展趋势(正确)2. 汇编语言在未来的应用领域(正确)3. 汇编语言学习的方法与建议(正确)重点和难点解析本文主要介绍了汇编语言程序设计的基础知识和应用领域,通过详细的章节安排,从汇编语言的基本概念、语法规则、程序设计步骤、常用指令及其功能、输入输出操作、杂项指令、子程序调用、程序举例、调试与优化等方面进行了深入讲解。

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

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

汇编语言程序设计试卷一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分)1.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。

① 无符号十进制数136② 带符号十进制数-120③ 压缩型BCD码十进制数88④ 8位二进制数-8的补码表示2.指令指针寄存器是()。

① IP② SP③ BP④ PSW3.当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是()。

① 表示结果中含1的个数为偶数② 表示结果中含1的个数为奇数③ 表示该数为偶数④ 表示结果中低八位含1的个数为偶数4.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是()。

① MOV AL,00H② AND AL,00H④ SUB AL,AL5.下列指令执行后总是使CF=0,OF=0的是()。

① AND② NEG③ NOT④ INC6.完成同指令XCHG AX,BX相同功能的指令或指令序列是()。

① MOV AX,BX② MOV BX,AX③ PUSH AXPOP BX④ MOV CX,AXMOV AX,BXMOV BX,CX7.设AH=0,AL=06H,BL=09H,执行指令ADD AL,BLAAA之后,其结果应是()。

① AH=01,AL=05② AH=1 AL=15③ AH=0 AL=0FH④ AH=0 AL=058.设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为② OF=1,CF=1③ OF=0,CF=0④ OF=0,CF=19.在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()。

① CX=0且ZF=0② CX=0且ZF=1③ CX=0或ZF=0④ CX=0或ZF=110.下面指令中,合理而有意义的指令是()。

① REP LODSB② REP SCASB③ REP CMPSB④ REP MOVSB11.在汇编语言程序中,对END语句的叙述正确的是()。

四川大学2004年汇编语言程序设计半期试题(堂下开卷)答案

四川大学2004年汇编语言程序设计半期试题(堂下开卷)答案

2004年〈汇编语言程序设计〉半期试题(堂下开卷)答案一.名词解释(本大题共5小题,每小题3分,共15分)试解释下列名词的含义。

1.寄存器:计算机系统内,位于CPU内部的存储单元,CPU访问此类存储单元不需要使用总线。

2.物理地址:CPU通过地址总线向外发送的20位地址,在访问内存单元前,CPU必须先将CPU内部的逻辑地址转换为物理地址。

3.段基值:逻辑地址的一个组成部分,用于指示一个段在内存中的起始地址。

4.寻址方式:指令获取操作数的方式。

5.补码:计算机系统内部用于表示带符号数的一种编码,正整数的补码为其真值本身,负整数的补码为其真值变反加1的结果。

二.计算题(本大题共5小题,每小题4分,共20分)试按照各小题的要求给出计算结果。

1.将十进制数100分别转换为二进制、十六进制数,它们的表示形式分别为多少?答案:二进制为01100100B,十六进制为64H2.假设(DS)=0C00H,(BX)=0210H,对于指令MOV DS:100H[BX],AL,其目的操作数的物理地址为多少?答案:EA = (BX)+0100H = 0310H,物理地址= (DS)*16 + EA = 0C000H + 0310H = 0C310H3.假设(BX)=0100H,(SI)=0020H,对于指令ADD DL,[BX][SI],其源操作数的偏移量为多少?答案:EA = (BX)+(SI)+ 0 = 0120H4.假设当前(SP)=0060H,连续执行5条PUSH指令后,(SP)=?答案:每执行一条PUSH指令,(SP)被减2,因此执行5条PUSH指令后,(SP)=0060H – 5*2 =0060H -000AH = 0056H5.对于一个十进制数– 80,其二进制补码表示形式为多少?答案:首先求得二进制真值为– 01010000B,负数补码为变反加1的结果,即10110000B三.排错题(本大题共4小题,每小题5分,共20分)每小题列出了一条指令,判断该指令有无语法错误,如果存在语法错误,请指出具体的错误原因,判断正确给2分,分析正确给3分,判断错误不给分。

汇编语言程序设计试题参考答案

汇编语言程序设计试题参考答案

汇编语言程序设计参考答案A卷一、单项选择题(本大题共8小题,每小题2分,共16分)1.C2.B3.B4.A5.C6.A7.A8.C9.D 10.B二、名词解释(本大题共5小题,每小题4分,共20分)11.微处理器:也成中央处理器(CPU),是微型计算机的核心部件,包含运算器、控制器、寄存器组及总线接口等,负责对计算机系统各部件进行统一的协调和控制。

12.寻址方式:就是寻找操作数或操作数地址的方式,根据寻址方式可方便地访问各类操作数。

13.伪指令:是发送给汇编程序的命令,在汇编过程中由汇编程序进行处理,如定义数据、分配存储区、定义段及定义过程等。

14.中断源:指能引起中断的外部设备或内部原因。

15.汇编语言:是一种面向CPU指令系统的程序设计语言,采用指令助记符来表示操作码和操作数,用符号地址表示操作数地址。

三、简答题(本大题共4小题,每小题5分,共20分)16.微型计算机系统软件的主要特点是什么?计算机系统软件的主要特点是简化计算机操作,支持应用软件的运行并提供相关服务,通常包括操作系统、语言处理程序等。

17.什么是逻辑地址?他由哪两部分组成?计算机存储器中给每个逻辑段编址的地址称逻辑地址。

逻辑地址是在程序中使用的地址,他由段地址和偏移地址两部分构成。

18.一个完整的汇编源程序由那些逻辑段组成?各逻辑段的主要作用是什么?一般情况下汇编语言源程序应该由以下3个逻辑段组成:①数据段:用来在内存中建立一个适当容量的工作区,以存放常数,变量等程序需要对其进行操作的数据;②堆栈段:用来在内存中建立一个适当容量的堆栈区,以便在中断、子程序调用时使用;③代码段:包括了许多以符号表示的指令,其内容就是程序需要执行的具体操作。

19. DMA数据传送方式的特点是什么?DMA数据传送方式把外设与内存交换信息的操作与控制交给DMA控制器,简化了CPU对数据交换的控制,数据传送速度快,但这种方式电路结构复杂,硬件开销大。

【精品】汇编语言程序设计习题答案

【精品】汇编语言程序设计习题答案

钱晓捷新版汇编语言程序设计习题答案第一章汇编语言基础知识1.1、简述计算机系统的硬件组成及各部分作用1。

2、明确下列概念或符号:主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB1.3、什么是汇编语言源程序、汇编程序、目标程序?1。

4、汇编语言与高级语言相比有什么优缺点?1.5、将下列十六进制数转换为二进制和十进制表示(1)FFH (2)0H (3)5EH (4)EFH(5)2EH (6)10H (7)1FH (8)ABH1。

6、将下列十进制数转换为BCD码表示(1)12 (2)24 (3)68 (4)127(5)128 (6)255 (7)1234 (8)24581.7、将下列BCD码转换为十进制数(1)10010001 (2)10001001 (3)00110110 (4)10010000(5)00001000 (6)10010111 (7)10000001 (8)000000101.8、将下列十进制数分别用8位二进制数的原码、反码和补码表示(1)0 (2)—127 (3)127 (4)—57(5)126 (6)-126 (7)—128 (8)681。

9、完成下列二进制数的运算(1)1011+1001 (2)1011-1001(3)1011×1001(4)10111000÷1001(5)1011 ∧~1011 (8)1011 ⊕10011001(6)1011 ∨1001(7)1。

10 数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII 码为0dh、0ah对应的是什么字符?1。

11、计算机中有一个“01100001”编码,如果把它认为是无符号数,它是10进制什么数?如果认为它是BCD码,则表示什么数?又如果它是某个ASCII码,则代表哪个字符?1。

12、简述Intel80x86系列微处理器在指令集方面的发展。

1.13、什么是DOS和ROM—BIOS?1。

20042005学年(下)学期《汇编语言程序设计》试卷(A卷)和答案

20042005学年(下)学期《汇编语言程序设计》试卷(A卷)和答案

华南师范大学计算机学院2004/2005学年(下)学期期末试卷《汇编语言程序设计》试卷(A卷)专业____________年级 04级本班级_______姓名________学号_______(要求:前四题直接写在试卷上)一、填空题:(每小题2分,共10分)1.数-27的补码表示是__11100101____(8位),扩展到16位为__1111111111100101_。

2.一个字5678H存到地址[1234H]单元中,则56H存放在 1235H 单元,78H存放在 1234H 单元。

3.堆栈的栈顶由堆栈指针寄存器指出,非栈顶字由基址指针寄存器指出。

4.编程用的操作数有立即数、寄存器操作数、内存操作数。

5.中断向量是中断子程序的入口,中断向量表是计算机中断服务程序中的一个向量表,它纪录着全部的中断向量二、改错题(每小题2分,共20分)(在不改变原题意的前提下,在试卷上画出每小题的错误之处,并在右边予以改正。

)1.MOV CX,SEG DATAMOV ES,CXMOV DS,ES MOV DS,CX2.B DW 100MOV AL,B MOV AX,B3.MOV DI,30HMOV [DI],16H MOV WORD PTR [DI],16H4.MOV AX,BX,IN AX,BX IN AX,DX5.ADD SI,BX ADD AL,BLDAA6.MOV DX,30SUB [DX],CX SUB WORD PTR [DX],CX7.PUSH AL PUSH AX8.MOV BX,16MOV AL,256 MOV AX,2569.INC AX,1 INC AX10.ADD 80H,AL ADD AL,80HIN 80H,AL IN AL,80H三、阅读程序(根据题目要求写出结果每小题6分,共30分)(可以给指令另加注释,也可以不加。

)1.下面程序的功能是什么?MOV AX,XCMP AX,YJGE LABXCHG AX,YLAB:MOV X,AX选择X,Y中的较大值存入X中2. 执行下列指令后AX、BX寄存器的内容?MOV SI,10HMOV AX,1234HMOV [SI+12H],AXLEA BX,[SI]MOV [SI+14H],BXLES BX,DWORD PTR [SI+12H] AX为1234H,BX为22H3. 下面程序的功能是什么?MOV CH,4LAB:MOV CL,4ROL BX,CLMOV DL,BLAND DL,0FHADD DL,30HCMP DL,3AHJL PRINTADD DL,7PRINT:MOV AH,02INT 21HDEC CHJNZ LAB显示输出BX寄存器里的内容4. 下面程序的功能是什么?STRING DB 100 DUP(?) MOV AX,SEG STRINGMOV DS,AXLEA SI,STRINGMOV CX,100LAB: MOV AL,[SI]CMP AL,’a’JB LAB1CMP AL,’z’JA LAB1SUB AL,32MOV [SI],ALAB1: INC SILOOP LAB将STRING里的小写字母’a’-‘z’转成相应的大写字母’A’-‘Z’5. 下面程序的功能是什么?MOV AX,SEG STRINGMOV DS,AXLEA DX,STRINGMOV AH,0AHINT 21HXOR BX,BXMOV CX,BXMOV CL,STRING[1]LEA SI,STRING[2]MOV AL,’A’LAB:CMP AL,[SI]JNZ LAB1INC BXLAB1:INC SILOOP LAB用BX记录输入缓冲区中有多少个字符‘A’四、问答题(共10分)1.简述上机运行汇编语言程序的过程。

2004下半年软件设计师试题及答案

2004下半年软件设计师试题及答案

全国计算机技术与软件专业技术资格(水平)考试2004年下半年软件设计师上午试卷●内存按字节编址,地址从A4000H到CBFFFH,共有_(1)_字节。

若用存储容量为32K*8bit的存储器芯片构成该内存,至少需要_(2)_ 片。

(1)A.80K B.96K C.160K D.192K(2)A.2 B.5 C.8 D.10●中断响应时间是指_(3)_。

(3)A.从中断处理开始到中断处理结束所用的时间B.从发出中断请求到中断处理结束所用的时间C.从发出中断请求到进入中断处理所用的时间D.从中断处理结束到再次中断请求的时间●若指令流水线把一条指令分为取指、分析和执行三部分,且三部分的时间分别是t取指=2ns ,t分析=2ns,t执行=1ns。

则100条指令全部执行完毕需_(4)_ns。

(4)A.163 B.183 C.193 D.203●在单指令流多数据流计算机(SIMD)中,各处理单元必须 _(5)_。

(5)A.以同步方式,在同一时间内执行不同的指令B.以同步方式,在同一时间内执行同一条指令C.以异步方式,在同一时间内执行不同的指令D.以异步方式,在同一时间内执行同一条指令●单个磁头在向盘片的磁性涂层上写入数据时,是以_(6)_方式写入的。

(6)A.并行 B.并一串行C.串行D.串一并行●容量为64块的Cache采用组相联方式映像,字块大小为128个字,每4块为一组。

若主存容量为4096块,且以字编址,那么主存地址应为_(7)_位,主存区号应为_(8)_位。

(7)A.16 B.17 C.18 D.19(8)A.5 B.6 C.7 D.8●软件开发中的瀑布模型典型地刻画了软件生存周期的阶段划分,与其最相适应的软件开发方法是_(9)_。

(9)A.构件化方法 B.结构化方法C.面向对象方法D.快速原型方法●下述任务中,不属于软件工程需求分析阶段的是_(10)_ 。

(10)A.分析软件系统的数据要求 B.确定软件系统的功能需求C.确定软件系统的性能要求 D.确定软件系统的运行平台●软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定_(11)_。

汇编语言程序设计答案

汇编语言程序设计答案

汇编语言程序设计答案2篇汇编语言程序设计答案(一)汇编语言是一种底层的计算机语言,通过程序设计来控制计算机硬件的运行。

它是计算机体系结构的基础,可以用来编写高效的程序,实现各种任务。

下面是两个关于汇编语言程序设计的答案,帮助初学者理解汇编语言的基本概念和编程技巧。

答案一:```assemblymov ax, 5mov bx, 6add ax, bx```这个程序的作用是将寄存器ax的值设置为5,寄存器bx的值设置为6,然后将ax和bx的值相加,结果保存在ax中。

最后,ax的值为11。

答案二:```assemblymov ax, 10mov bx, 2div bx```这个程序的作用是将寄存器ax的值设置为10,寄存器bx的值设置为2,然后将ax和bx的值相除,商保存在ax中,余数保存在dx中。

最后,ax的值为5,dx的值为0。

通过以上两个简单的答案,我们可以看到汇编语言的基本操作和计算能力。

编写汇编语言程序需要了解计算机的底层架构和指令集,因为每种计算机体系结构都有不同的汇编语言。

因此,学习汇编语言需要掌握计算机组成原理和计算机体系结构的基本知识。

在编写汇编语言程序时,我们通常需要使用一些常见的指令,例如mov(数据传送)、add(加法运算)、sub(减法运算)、mul(乘法运算)、div(除法运算)、jmp(跳转指令)等等。

掌握这些常用指令和相应的语法规则是学习汇编语言的基础。

另外,汇编语言程序设计也需要学习如何使用寄存器和内存。

寄存器是存储在CPU内部的非常快速的存储器,可以暂时存储数据和指令。

CPU可以直接读取和写入寄存器中的数据。

内存是存储在计算机主存储器中的大量数据和指令。

CPU需要通过地址来访问内存中的数据和指令。

要编写高效的汇编语言程序,我们需要理解计算机的硬件原理和底层运行机制。

了解汇编语言可以提供对程序的细粒度控制,对程序性能的优化有很大帮助。

总的来说,汇编语言程序设计是一项复杂而有趣的任务。

汇编语言程序设计试题答案

汇编语言程序设计试题答案

汇编语言程序设计试题答案汇编语言程序设计试题一、单项选择题(在每小题的四个备选答案中〜选出一个正确答案〜并将正确答案的序号填在题干的括号内。

每小题2分〜共50分)1. CPU发出的访问存储器的地址是()A. 偏移地址B. 物理地址C. 逻辑地址D. 段地址2. 使计算机执行某种操作的命令是( )A. 伪指令B. 标号C. 指令D. 助记符3. 若AX=3500H,CX=56B8〜当AND AX CX旨令执行后〜AX=()A. 1400HB. 77F8HC. 0000HD. 0FFFFH4. 计算机处理问题中会碰到大量的字符、符号〜对此必须采用统一的二进制编码。

目前〜微机中普遍采用的是( ) 码。

A. BCD 码B. 二进制码C. 十六进制码D.ASCII 码5. 下列关于8086CPU勺工作原理的描述错误的是()。

A(汇编程序员可以通过对各种寄存器中内容的修改实现对CPU的控制。

B(CPU在访问内存时〜采用“段地址*16+偏移地址”的形式给出要访问的内存单元的物理地址。

C(任意时刻〜CS:IP指向的内容即是此刻CPU正在执行的指令。

D(传送指令能够更改所有通用寄存器的内容。

6( 一个有128个字的数据区〜它的起始地址为12ABH:00AB〜请给出这个数据区最末一个字单元的物理地址是, ,A(12C5BH B(12C59H C(12B6BH D(12BFEH7. 16位结构的CPU不一定具备的特性是()。

A. 运算器一次最多可以处理16位的数据B. 寄存器的最大宽度为16 位C. 地址总线为16 根D. 寄存器和运算器之间的通路为16 位8. 下列指令的书写正确的是, , 。

A( push alB( mov cs:[0],ds:[10]C( pop siD( mov ds:[0],29(在DEBUG:具中〜显示寄存器内容的命令是,,。

A. GB. DC. TD. R10.能够将ax中的内容送到内存0000:0200H处的指令序列是,, A(mov ds,0mov bx,200hmov [bx],ax B(mov ax,200hmov ds,axmov bx,0mov [bx],axC(mov ax,20hmov ds,axmov bx,0mov [bx],axD(mov bx,20hmov ds,bxmov bx,0mov [bx],ax11(若栈顶的物理地址为20100H H当执行完指令PUSH AX后〜栈顶的物理地址为, , 。

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

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

汇编语言程序设计习题及答案汇编语言程序设计习题及答案汇编语言是一种底层的计算机语言,它直接操作计算机的硬件资源。

虽然在现代计算机编程中,高级语言如C、Java等更为常见,但了解汇编语言的基本原理和编程技巧对于理解计算机底层工作原理和进行性能优化非常重要。

本文将介绍一些汇编语言程序设计的习题及其答案,帮助读者巩固和提升汇编语言编程能力。

一、基础习题1. 编写一个汇编程序,将存储器中的某个字节的值加1,并将结果存回原位置。

答案:```assemblyMOV AL, [地址]INC ALMOV [地址], AL```2. 编写一个汇编程序,计算存储器中一个数组的和,并将结果存放在指定的寄存器中。

答案:```assemblyMOV CX, 数组长度MOV BX, 数组首地址MOV AX, 0LOOP_START:ADD AX, [BX]ADD BX, 2LOOP LOOP_START```二、进阶习题1. 编写一个汇编程序,实现字符串的逆序输出。

答案:```assemblyMOV SI, 字符串首地址MOV DI, 字符串尾地址MOV CX, 字符串长度DEC CXREVERSE:MOV AL, [SI]MOV AH, [DI]MOV [DI], ALMOV [SI], AHINC SIDEC DILOOP REVERSE```2. 编写一个汇编程序,实现两个16位无符号整数的相乘,并将结果存放在指定的寄存器中。

答案:```assemblyMOV AX, 第一个数MOV BX, 第二个数MUL BX```三、挑战习题1. 编写一个汇编程序,实现一个简单的计算器,支持加法、减法、乘法和除法运算。

答案:```assemblyREAD_INPUT:; 读取用户输入; ...PARSE_INPUT:; 解析用户输入,获取操作数和运算符; ...CALCULATE:; 根据运算符进行相应的计算; ...DISPLAY_RESULT:; 将计算结果显示给用户; ...LOOP:; 循环执行计算器程序; ...```2. 编写一个汇编程序,实现一个简单的迷宫游戏,玩家通过键盘控制角色在迷宫中移动,并找到出口。

四川大学汇编考试题及答案1教学提纲

四川大学汇编考试题及答案1教学提纲

四川大学汇编考试题及答案1四川大学期末考试试题(闭卷)(2006-200学年第2学期)课程号: ________ 课程名称:汇编语言程序设计(B 卷) ________ 任课教师: _______________ 适用专业年级:计算机科学与技术05级学号: ________________ 姓名: _______________要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分1.下面的数值表示中,和100相等的是哪一个( )2•如果(SF ) =30H,执行 PUSH BX 旨令后,(SP )=( ) (A ) 28H (B ) 2EH (C ) 32H(D ) 31H3.如果(AL ) =35H,执行AND AL , 0FFH 指令后,CF=( )(A ) 0(B ) 1(C ) 2(D )和执行AND AL ,0FFH 指令前的取值保持一致4.以下指令中,执行后要影响标志位的指令为( )(A )MOV AL ,BL(B ) SAHF (C ) NOT CL (A) B(B ) 100H(C ) 64H(D ) 64(D ) PUSHF5. 对于SAR指令的相关原理,正确的描述为( )(A)执行SAR指令后,目的操作数最高位补充0(B)该指令实质上与SHR指令没有区别(C)如果移位次数大于1,则移位次数必须预先存放在CL寄存器(D)该指令不影响CF标志位6•关于SUB指令对OF标志的影响,正确的描述为( )(A)当程序员把SUB指令的操作数看作无符号数时,SUB指令不影响OF标志(B)当程序员把SUB指令的操作数看作无符号数时,SUB指令要影响OF标志,但是程序员认为它此时没有意义(C)SUB指令有时会影响OF标志,但有时不会(D)程序员使用SUB指令时总是认为它所影响的OF标志是有意义的7. DEBUG中,T命令的功能为( )(A)显示当前系统时间(B)查看指定内存单元的内容(C)单步执行下一条指令(D)修改指定寄存器的内容8. DEBUG中,R命令的功能为( )(A)查看内存单元内容(B)查看或修改指定寄存器的内容(C)单步执行(D)连续执行9•条件转移指令的最大转移范围为 ( )(A)没有转移范围的限制(B) -128到127个字节(C) -3276到32767个字节(D) 0到255个字节10•如果(AL) =0DH,执行SUB AL 80H指令后,正确的结果为哪一个( )(A) (AL) =8DH, OF=1(B)(AL) =0DH, OF=011.如果(SP =80H 执行指令CALL FAR PTR P 后 (SP =( )(A) 80H(B ) 84H(C ) 7CH7EH12.如果数据段中一个内存单元对应的物理地址为2F724H (DS ) =2F00H 那么使用DS 段寄存 器指明该单元的段基值时,需要使用哪一个偏移量才能正确访问该单元( )(A) 0024H (B ) 0F724H(C ) 0724H(D )2724H13•如果(AL ) =B ,执行ROL AL 1指令后,正确的结果为( )(A) (AL ) = B (B )(AL ) = B (C )(AL ) = B(D )(AL ) = B14•以下指令中,没有使用基址寻址的指令是哪一个( )(A ) AND CL ,100H[BX] (B ) MOV [BP] BX (C ) SBB TAB1[BX] AH(D ) XOR AX 200H[BP]15.如果(AL ) =66H,执行如下程序片段后,正确的执行结果为( )STC OR AL ,1 ADC AL ,82H16•假设PR1是一个FAR 类型的子程序名称,那么CALL PR 指令执行的正确步骤为以下哪一个 ( )(A) 先将CS IP 的内容压栈,再按照PR1对应的逻辑地址修改CS IP,使程序流程转移至PR1 子程序入口(C )(AL ) =8DH, OF=0(D )(AL ) =0D1H OF=1(D )(A)(AL ) =0E9H CF=1(C )(AL ) =0EAH, CF=0 (B) (AL ) =0E9H CF=0(D )(AL ) =0EAH, CF=1(B)先按照PR1对应的逻辑地址修改CS IP的内容,使程序流程转移至PR1子程序入口,然后将CS IP的内容压栈,保存返回点(C)先将IP的内容压栈,再按照PR1对应的段内偏移量修改IP,使程序流程转移至PR1子程序入口(D)先将CS IP、FR的内容压栈,再按照PR1对应的逻辑地址修改CS IP,使程序流程转至PR1子程序入口17•如果(AL) =03H (BL) =05H执行如下程序片段后,正确的执行结果为以下哪一个( )SUB AL BLAAS(A) (AL) =0FEH CF=1 (B)(AL) =0F8H CF=1(C)(AL) =08H CF=1 (D)(AL) =08H CF=0 18•在8086/808汇编语言程序设计中,源程序中能够合法使用的内存单元地址是以下哪一种( )(A)逻辑地址(B)物理地址(C)段基址(D)位地址19. 如果(SI) =0088H (DS) =5570H对于物理地址为55788H勺内存字单元,其内容为0235H对于物理地址为5578AH勺内存字单元,其内容为0E60H那么执行指令LDS SI [SI]以后,正确的执行结果为( )(A )(DS) =5570H (SI) =0088H (B)(DS) =0235H (SI) =0E60H(C)(DS) =0E60H (SI) =0235H (D)(DS) =0088H (SI) =5570H20. 如果(BX) =0054H (SI) =0033H (DS) =0022H (SS =0030H 在指令ADD AL100H[BX][S中,其源操作数的EA为( )(A) 0187H (B) 12A7H (C) 1387H(D) 0087H、多项选择题(本大题共5小题,每小题2分,共10分)在每小题列出的五个备选项中有二个至五个是符合题目要求的,请将其代码填写在题后的括号内。

四川大学汇编语言程序设计2015-2016期末试题(附答案)

四川大学汇编语言程序设计2015-2016期末试题(附答案)

四川大学期末考试试题(闭卷)(2015——2016 学年第 1 学期) A 卷课程号:课序号:课程名称:任课教师:成绩:适用专业年级:学生人数:印题份数:学号:姓名:考生承诺我已认真阅读并知晓《四川大学考场规则》和《四川大学本科学生考试违纪作弊处分规定(修订)》,郑重承诺:1、已按要求将考试禁止携带的文具用品或与考试有关的物品放置在指定地点;2、不带手机进入考场;3、考试期间遵守以上两项规定,若有违规行为,同意按照有关条款接受处理。

考生签名:一、单项选择题(本大题共20 小题,每小题 1 分,共20 分)提评阅教师得分示:在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在下面的表格中。

错选、多选或未选均无分。

1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 201. 以下寄存器中,哪一个不属于地址指针寄存器?( A )(A)AX (B)BX (C)SI (D)DI2. 以下标志位中,哪一个不属于状态标志位?( C )(A)CF (B)OF (C)IF (D)AF3. 以下寄存器中,哪一个用于指示堆栈的栈顶位置?( C )(A)IP (B)SI (C)SP (D)BX4. 以下寄存器中,哪一个用于提供代码段的段基值?( C )(A)SS (B)DS (C)CS (D)AX5. 以下指令中,不影响标志位的是哪一条?( D )(A)INC (B)AND (C)SUB (D)XCHG第 1 页,共10 页试卷编号:6.SF 标志位的含义是如下哪一个?( A )(A)符号标志(B)零值标志(C)补码溢出标志(D)进位标志7.LOOP指令隐含使用如下哪一个寄存器作为计数器?( C )(A)AX (B)BX (C)CX (D)DX8. 以下指令中,哪一条一定会访问堆栈段?( D )(A)DEC (B)ADD (C)MOV (D)CALL9. 以下伪指令中,用于结束一个段定义的是哪一个?( D )(A)END (B)SEGMENT (C)ENDP (D)ENDS10. 以下伪指令中,用于分配一个字节空间的是哪一个?( B )(A)DB (B)DW (C)DD (D)EQU11. 假设(AL)=35H,执行指令AND AL,0FH后,(AL)=( D )(A)3FH (B)F5H (C)30H (D)05H12. 假设(AL)=02H,执行指令INC AL 后,CF =(D )(A)0 (B)1 (C)2 (D)与执行INC指令前一致13. 假设(AL)=05H,执行指令ADD AL,0 后,PF =( B )(A)0 (B)1 (C)2 (D)与执行SUB指令前一致14. 假设(AL)=88H,执行指令SUB AL,90H后,OF =( A )(A)0 (B)1 (C)2 (D)与执行ADD指令前一致15. 假设(AL)=68H,执行指令ADD AL,08H后,AF = (B )(A)0 (B)1 (C)2 (D)与执行ADD指令前一致16. 假设(AL)=81H,执行指令ROL AL,1 后,(AL)= ( C )(A)80H (B)18H (C)03H (D)0C0H17. 假设(AL)=93H,执行指令SHL AL,1 后,OF = ( b )(A)0 (B)1 (C)2 (D)与执行ADD指令前一致18. 假设(SP)=0060H,执行指令PUSH AX后,(SP)=( b )(A)0058H (B)005EH (C)0062H (D)0060H19. 假设CF=1,以下哪一条转移指令一定会转移至目标地址?( A )(A)JC (B)JNC (C)JS (D)JNZ20. 假设(BL)=04H,执行指令XOR BL,0FH后,(BL)=( D )(A)00H (B)0FH (C)04H (D)0BH第 2 页,共10 页二、多项选择题(本大题共 5 小题,每小题 2 分,共10 分)提示:在评阅教师得分每小题列出的五个备选项中有二个至五个是符合题目要求的,请将其代码填写在下表中。

《汇编语言程序设计》练习题参考答案.

《汇编语言程序设计》练习题参考答案.

《汇编语言程序设计》练习题一参考答案一、简答题1.2.答:字节单元:(30022H) = AB H,(30024H) = EF H字单元:(30021H) = AB34 H,(30022H) = CDAB H。

3.答:(1)MOV BX, OFFSET BLOCK + 0AHMOV DX, [BX](2)MOV BX, 0AHMOV DX, BLOCK[BX](3)MOV BX, OFFSET BLOCKMOV SI, 0AHMOV DX, [BX][SI]4.答:BYTE_VAR 42 59 54 45 0C EE 00 ?? - 01 02 01 02 ?? 00 ?? 0102 01 02 ?? 00 ?? 01 02 - 01 02 ??WORD_VAR 00 00 01 00 02 00 00 00 - 01 00 02 00 00 00 01 0002 00 00 00 01 00 02 00 - 00 00 01 00 02 00 ?? ??FB FF 59 42 45 54 56 02 -5.答:宏展开:2 DATA0 DW ?2 DATA1 DW ?6.答:可以用来指示存储器地址的寄存器有BX、SP、BP、DI、SI、IP、CS、DS、7.答:该程序的第一个字的物理地址是0AAA40H。

8.答:(1) 064DH(2) 0691H(3) 05ECH9.答:(1)MOV AX, [ BX+0CH ]MOV ZERO, AX(2)MOV AX, ARRAY[BX]MOV ZERO, AX10答:DATASG SEGMENT AT 0E000HWORD_ARRAY LABEL WORDBYTE_ARRAY DB 100 DUP (?)DATASG ENDSSTACKSG SEGMENT PARA STACK 'STACK'DW 32 DUP (?)TOS LABEL WORDSTACKSG ENDSCODESG SEGMENTORG 1000HMAIN PROC FARASSUME CS:CODESG, DS:DATASG, ES:DATASG, SS:STACKSG START:MOV AX, STACKSGMOV SS, AXMOV SP, OFFSET TOSPUSH DSSUB AX, AXPUSH AXMOV AX, DATASGMOV DS, AXMOV ES, AX……RETMAIN ENDPCODESG ENDSEND START11.答: CLRB MACRO N, ARRAYCLDMOV CX, NMOV AL, 20HLEA DI, ARRAYREP STOSBENDM12.答:(1)AX、BX、CX、DX、AH、AL、BH、BL、CH、CL、DH、DL、13.答:唯一正确的是D。

四川大学汇编语言程序设计答案

四川大学汇编语言程序设计答案
k 1)最近影响标志位的指令要影响 CF 标志
2)该指令对 CF 标志的影响是有意义的
. 3)程序员将该指令的操作数解释为完整的无符号数(若为超过 16 位的长操作数运算,操作 w数可能不是完整的,其解释请参见第 5 章中的带进位加法指令,CF 对长补码运算的进位衔
接仍然有效)
wwOF(Overflow Flag)标志的含义是带符号数溢出标志,多数情况下用于标识最近的算术运 算(通常是加减运算)中,如果将操作数解释为补码,其运算结果有没有超出字节或字(与
课 后 答 案 网
4.IP 寄存器的功能是什么?(IP)在哪些情况下会被修改? 答:IP 是指令指针寄存器,其功能为提供 BIU 单元将要从内存读取的下一条指令的偏移量, 该寄存器固定与 CS 段寄存器搭配使用,形成下一条指令的完整物理地址。CPU 顺序执行内 存中的指令序列时,会不断修改(IP),使之指向下一条指令;除此之外,转移指令、循环 控制指令、子程序调用、返回指令、中断调用、返回指令都是通过修改(IP)来达到程序流 程转移的目的。
ww分析:8 位补码表示范围为-128~127,需 9 位补码才能表示-175,因此不能作补码运算
(5)-78-9
[-78]补=10110010
[-9] 补=11110111
10110010
+
11110111
1 10101001
溢出分析:负+负=负,运算正确,无溢出
(6)66+75
[66] 补=01000010
a 接定位,8086、8088CPU 的地址总线为 20 条,即物理地址为 20 位,寻址范围为 220=1M 字
节。由于 8086、8088CPU 内部的寄存器均为 16 位,无法直接表示 20 位的物理地址,因此
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2004年〈汇编语言程序设计〉半期试题(堂下开卷)答案
一.名词解释(本大题共5小题,每小题3分,共15分)试解释下列名词的含义。

1.寄存器:计算机系统内,位于CPU内部的存储单元,CPU访问此类存储单元不需要使用总线。

2.物理地址:CPU通过地址总线向外发送的20位地址,在访问内存单元前,CPU必须先将CPU内部的逻辑地址转换为物理地址。

3.段基值:逻辑地址的一个组成部分,用于指示一个段在内存中的起始地址。

4.寻址方式:指令获取操作数的方式。

5.补码:计算机系统内部用于表示带符号数的一种编码,正整数的补码为其真值本身,负整数的补码为其真值变反加1的结果。

二.计算题(本大题共5小题,每小题4分,共20分)试按照各小题的要求给出计算结果。

1.将十进制数100分别转换为二进制、十六进制数,它们的表示形式分别为多少?
答案:二进制为01100100B,十六进制为64H
2.假设(DS)=0C00H,(BX)=0210H,对于指令MOV DS:100H[BX],AL,其目的操作数的物理地址为多少?
答案:EA = (BX)+0100H = 0310H,物理地址= (DS)*16 + EA = 0C000H + 0310H = 0C310H
3.假设(BX)=0100H,(SI)=0020H,对于指令ADD DL,[BX][SI],其源操作数的偏移量为多少?
答案:EA = (BX)+(SI)+ 0 = 0120H
4.假设当前(SP)=0060H,连续执行5条PUSH指令后,(SP)=?
答案:每执行一条PUSH指令,(SP)被减2,因此执行5条PUSH指令后,(SP)=0060H – 5*2 =0060H -000AH = 0056H
5.对于一个十进制数– 80,其二进制补码表示形式为多少?
答案:首先求得二进制真值为– 01010000B,负数补码为变反加1的结果,即10110000B
三.排错题(本大题共4小题,每小题5分,共20分)每小题列出了一条指令,判断该指令有无语法错误,如果存在语法错误,请指出具体的错误原因,判断正确给2分,分析
正确给3分,判断错误不给分。

1.MOV CS,0600H
参考答案:错误,不能使用MOV指令传递立即数给CS
2.PUSH 074CH
参考答案:错误,单操作数指令不能使用立即数
3.ADD AX,CL
参考答案:错误,寄存器长度不匹配
4.OR BX,[CX]
参考答案:错误,CX不能用于存储器寻址
四.程序分析题(本大题共6小题,每小题5分,共30分)每小题列出了一段小的程序片段和相关存储单元的初始值,请按题目的要求分析各程序片段的运行结果。

(寄存器中的内容请使用十六进制形式给出)
1.阅读如下程序片段
MOV AL,4CH
MOV BL,86H
ADD AL,BL
执行上述程序片段后,(AL)= 0D2H (1分),(BL)= 86H (1分),CF= 0 (1分),OF= 0 (1分),PF= 1 (1分)
2.阅读如下程序片段
MOV AL,0F3H
MOV DL,0C4H
ADD AL,DL
AND AL,0FH
执行上述程序片段后,(AL)= 07H (1分),(AF)= 不确定(1分),CF= 0 (1分),OF= 0 (1分),PF= 0 (1分)
注意:逻辑运算指令中,除NOT指令外,CF、OF均置0,AF为不确定
3.阅读如下程序片段
MOV AL,6FH
MOV CL,04H
ROL AL,CL
执行上述程序片段后,(AL)= 0F6H (2分),(CL)= 04H (1分),
CF= 0 (1分),OF= 不确定(1分)
注意:移位指令中,当指令的移位次数大于1时,OF为不确定
4.阅读如下程序片段
MOV AX,0632H
MOV BX,0C202H
SUB AL,BL
SBB AH,BH
INC AX
执行上述程序片段后,(AX)= 4431H (2分),(CF)= 1 (2分),
OF= 0 (1分)
注意:INC指令不影响CF标志位
5.阅读如下程序片段,假设(DS)=0100H,字节单元(01024H)=56H,字节单元(01025H)=28H
MOV BX,0024H
LEA BX,[BX]
AND BX,0FFH
ADC BX,[BX]
执行上述程序片段后,(BX)= 287AH (3分),(CF)= 0 (2分),
OF= 0 (1分)
6.阅读如下程序片段,假设(SP)=0064H
MOV AX,0001H
MOV BX,0002H
PUSH AX
PUSH BX
POP AX
POP BX
执行上述程序片段后,(AX)= 0002H (2分),(BX)= 0001H (2分),(SP)= 0064H (1分)
五.程序设计题(本大题共3小题,每小题5分,共15分)(注:不是唯一答案)
1.试编写一程序片段,实现BL高4位与低4位相互交换(5分)
参考解答:
MOV CL, 4
ROL BL, CL
2.试编写一程序片段,不使用乘除法指令,实现((AX)*5+14)/ 2的功能(AX中的数据理解为补码)(5分)
参考解答:
MOV BX, AX
MOV CL, 2
SAL AX, CL
ADD AX, BX
ADD AX, 14
SAR AX, 1
3.试编写一完整程序,实现88242567H与0A435C218H两个32位无符号数相加的功能。

(要求编写完整源程序,含程序框架)(5分)
参考解答:
DATA SEGMENT
V AR1 DD 88242567H
V AR2 DD 0A435C218H
V AR3 DD ?
DATA ENDS
STACK1 SEGMENT STACK
DW 40H DUP(0)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STACK1
BEGIN: MOV AX, DATA
MOV DS, AX
MOV AX, V AR1
ADD AX, V AR2
MOV V AR3, AX
MOV AX, V AR1+2
ADC AX, V AR2+2
MOV V AR3+2, AX
MOV AH, 4CH
INT 21H CODE ENDS
END BEGIN。

相关文档
最新文档