【汇编语言程序设计】试题及答案合集 2(1)
汇编语言程序设计练习题及参考答案

一、单项选择题从每小题的四个备选答案中,选出一个正确答案,并将正确答案的番号填人括号内。
1.用来存放下一条将要执行的指令地址的寄存器是 (B )A.SP B.IP C.BP D.CS2.要使串处理从低地址向高地址进行,应把标志位置为 (D )A.IF=1 B.TF=0C.DF=1 D.DF=03.使状态标志位CF清零的错误指令是 (C )A.OR AX,AX B.SUB AX,AXC.MOV CF,0 D.CLC4.设SP=1110H,执行PUSH AX指令后,SP的内容为 (B )A.SP=1112H B.SP=110EHC.SP=1111H D.SP=110FH5.汇编源程序出现语法错误的指令有 (D )A.MOV [BX+SI],AL B. MOV AX,[BP+DI]C.MOV DS,AX D. MOV CS,AX6.下列串操作指令中,必须同时指明源串和目的串地址的指令是 (D )A.STOSW B.LODSWC.SCASW D.CMPSW7.设BL中有一无符号数,实现把BL中的数乘以2,应选用的指令是 (B )A.SHR BL,1 B.SHL BL,1C.SAR BL,1 D.RCR BL,18.执行PUSH AX指令的正确步骤是 (A )A.1.SP←SP-1,(SP)←AH B.1.(SP)←AH,SP←SP-12.SP←SP-1,(SP)←AL 2.(SP)←AL,SP←SP-1C.1.SP←SP+1,(SP)←AH D.1.(SP)←AH,SP←SP+12.SP←SP+1,(SP)←AL 2.(SP)←AL,SP←SP+19.CF=1 时转移到目标地址的条件转移指令是 (B )A.JNC B.JC C.JZ D.JS10.在执行NEG指令时,对标志位CF有影响,其影响的规则是 ( C )A.对正数求补时,CF=0 B.对负数求补时,CF=0C.对非零数求补时,CF=1 D.对零求补时,CF=111.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是(A )A.目的操作数最高位为0 B.目的操作数最高位为1C.目的操作数为任意情况 D.无论什么情况都不可能相同12.设AL=04H,BL=0F8H,执行IMUL BL指令后,结果是 ( D )A.AX=0032H B.AX=00E0HC.AX=03E0H D.AX=0FFE0H13.指令的操作数中,允许出现表达式,例如BUF1与BUF2均为变量名,下面指令中语法正确的是 (D )A.MOV AX,BUFl*BUF2B.MOV AX,BUF1/BUF2C.MOV AX,BUF1+ES:BUF2D .MOV AX ,BUF2-BUF114.下面指令中,操作数的寻址方式为寄存器间接寻址的指令是 (C )A .INC WORD PTR [BX+SI]B .INC CX ,[SI+COUNT]C .NEG BYTE PTR [BX]D .ADD AX ,B15.NUM EQU 80HDA DB 34HAND DA ,NUM上述语句执行后,DA 中的内容是 (D )A .0B4HB .80HC .34HD .016.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为 (A )A .立即、直接、间接B .直接、间接、立即C .直接、立即、间接D .不一定17.语句DA1 DB 2 DUP(3,5,7)汇编后,该语句可等同于的语句是 (D )A .DA1 DB 3,5,7B .DA1 DB 2,3,5,7C .DA1 DB 3,5,7,2D .DA1 DB 3,5,7,3,5,718. MOV AL ,80HMOV CL ,2SAR AL ,CL上述指令序列执行后,结果是 (D )A .AL=40HB .AL=20HC .AL=0C0HD .AL=0E0H19.下面是实现将AL 内容加1的压缩型BCD 码加法程序段,其中正确的指令序列是 (A ) A .INC ALB .ADD AL ,1DAA DASC .ADD AL ,1 D .STCDAA AAA20.现有数据存储如图所示:30100H 30101H 30102H 30103H设AL=01H ,BX=0100H ,DS=3000H 执行换码指令XLAT 后正确的结果是(B )A .AL=20HB .AL=38HC .AL=00HD .AL=41H21.若定义DAT DW 'A',则(DAT)和(DAT+1)两个相邻的内存中存放的数据是 (B )A .0041HB .4100H20H38H41H55HC.xx41H D.41xxH[注]选项C. 和D.中的XX表示任意数据。
汇编语言程序的设计试卷与答案

汇编语言程序设计试卷一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题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③ XOR AL,AL④ 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=0② 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.下面指令中,合理而有意义的指令是()。
专升本《汇编语言程序设计》_试卷_答案

专升本《汇编语⾔程序设计》_试卷_答案专升本《汇编语⾔程序设计》⼀、(共75题,共150分)1. 使⽤寄存器_________作间址寄存器,寄存器间接寻址的操作数系统默认在堆栈段。
(2分)A.BXB.SPC.BPD.SI标准答案:C2. 两个有符号数相加,通过标志位_________判断结果是否溢出。
(2分)A.ZFB.CFC.SFD.OF标准答案:D3. 汇编语句MOV AX,[AX]语法错误,其原因是_________ (2分)A.源操作数和⽬的操作数不能同时为存贮器操作数.B.操作数类型模糊C.源操作数不能为⽴即⽅式D.AX不能⽤于寄存器间接⽅式标准答案:D4. 设VAR为字变量, A为符号常量,下⾯四个语句中有⼀个错误的,这个错误语句是________. (2分)A.MOV VAR , AB.MOV AX , VARC.MOV A , VARD.MOV VAR , AX标准答案:C5. 在使⽤除法指令作字除法时,余数应放在寄存器________中。
(2分)A.BXB.DXC.CXD.AX标准答案:BCMP AX,BX_______ L (2分)A.JAB.JBC.JGD.JL标准答案:C7. 已知(AX)=1111H (BX)=2222H (CX)=3333H,执⾏“PUSH BX”两次,“PUSH CX”⼀次,“POP AX”两次后, (AX)等于_________。
(2分)A.1111HB.2222HC.3333HD.0标准答案:B8. 若(AX)=3412H,则(AL)的值为_________。
(2分)A.12HB.34HC.1234HD.3412H标准答案:A 9. 在语句INC BYTE PTR [BX]中,操作数使⽤的寻址⽅式是_________。
(2分)A.寄存器寻址B.寄存器间接寻址C.直接寻址D.⽴即寻址标准答案:B10. 在语句INC [BX]中,操作数使⽤的段寄存器是_________。
汇编语言程序设计题目以及答案

汇编语言程序设计题目以及答案[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 ; 执行系统调用```[题目三] 求平均数要求:编写汇编程序,计算给定的一组整数的平均数,并将结果存储在指定的内存位置中。
汇编语言程序设计试题参考答案

汇编语言程序设计参考答案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对数据交换的控制,数据传送速度快,但这种方式电路结构复杂,硬件开销大。
(完整)汇编语言程序设计试卷2答案,推荐文档

汇编语言程序设计试卷2答案注意:答案全部写在最后一张试卷纸上,要求表明题号,字迹清楚,答在试卷上不给分一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题2分,共20分)1.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。
(A) 无符号十进制数136(B) 带符号十进制数-120(C) 压缩型BCD码十进制数88(D) 8位二进制数-8的补码表示2.指令指针寄存器是()。
(A) IP(B) SP(C) BP(D) PSW3.当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是()。
(A) 表示结果中含1的个数为偶数(B) 表示结果中含1的个数为奇数(C) 表示该数为偶数(D) 表示结果中低八位含1的个数为偶数4.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是()。
(A) MOV AL,00H(B) AND AL,00H(C) XOR AL,AL(D) SUB AL,AL5.下列指令执行后总是使CF=0,OF=0的是()。
(A) AND(B) NEG(C) NOT(D) INC6.完成同指令XCHG AX,BX相同功能的指令或指令序列是()。
(A) MOV AX,BX(B) MOV BX,AX(C) PUSH AXPOP BX(D) MOV CX,AXMOV AX,BXMOV BX,CX7.设AH=0,AL=06H,BL=09H,执行指令ADD AL,BLAAA之后,其结果应是()。
(A) AH=01,AL=05(B) AH=1 AL=15(C) AH=0 AL=0FH(D) AH=0 AL=058.设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为()。
(A) OF=1,CF=0(B) OF=1,CF=1(C) OF=0,CF=0(D) OF=0,CF=19.在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()。
汇编语言程序设计试卷

汇编语言程序设计试卷一. (共75 题,共150 分)1.下列说法错误的是。
(2 分)A.机器指令的形式包含操作码和地址码B.计算机只能够识别规定好的机器指令C.不同计算机系统之间的机器指令能够相互兼容D.汇编语言的主要操作和机器指令基本上一一对应★检查答案标准答案:C2.两个有符号数相减,通过标志位判断结果是否溢出。
(2 分)A.ZFB.CFC.SFD.OF★检查答案标准答案:D(2 分)3.汇编语言和高级语言的比较,下列说法错误的是A.汇编语言和高级语言都不能被机器直接识别B.完成同样的功能,汇编语言占据空间小C.高级语言可以使用变量,但汇编语言不行D.汇编语言中有类似于高级语言的宏功能★检查答案标准答案:C4.下列寄存器中,哪个寄存器不能供汇编程序直接访问. (2 分)A.SPB.BPC.CSD.IP★检查答案标准答案:D5.下列寄存器,哪个不能作基址寄存器。
(2 分)A.BXB.BPC.SID.ESI★检查答案标准答案:C6.设有关寄存器及存储单元的内容如下:则指令MOV AX, 1100H[BX][SI] 执行完毕后,AX 寄存器中的值是。
(2 分)A.65B7HB.3412HC.4C2AHD.7856H★检查答案标准答案:AA.可以作立即寻址的操作数B.也可作某些存贮器操作数的的位移量组成部分C.在数据定义伪指令语句中给变量赋初值D.可以作目的操作数★检查答案标准答案:D8.若(ECX)=0ABCD1234H(BL)=0E3H,则语句MOVSX ECX,BL执行后:(ECX)的值为。
(2 分)A.0ABCD1234HB.0FFFFFFE3HC.000000E3HD.0ABCD12E3H★检查答案标准答案:B(2 分)9.若(AX)=0FFFDH ,则语句ADD AX,7FFFH 执行后,下列说法正确的是。
A.(AX) =7FFCH,(OF)=1 ,(CF)=1B.(AX) =17FFCH ,(OF)=1 ,(CF)=1C.(AX)=7FFCH,(OF)=0 ,(CF)=1 D.(AX)=17FFCH ,(OF)=0 ,(CF)=1★检查答案标准答案:C10.在语句INC SS:[BX] 中,操作数使用的段寄存器是。
汇编语言程序设计答案

汇编语言程序设计答案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需要通过地址来访问内存中的数据和指令。
要编写高效的汇编语言程序,我们需要理解计算机的硬件原理和底层运行机制。
了解汇编语言可以提供对程序的细粒度控制,对程序性能的优化有很大帮助。
总的来说,汇编语言程序设计是一项复杂而有趣的任务。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言程序设计试题及答案1.对于有符号的数来说,下列哪个值最大()A:0F8HB:11010011BC:82 D:123Q2.下列有关汇编语言中标号的命名规则中,错误的是()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.ENDM12.BUF1 DB 3 DUP(0,2 DUP (1,2),3)COUNT EQU $-BUF1符号COUNT等价的值是()A.6B.18C.16D.913.下列标志位中,可以用来判断计算结果正负的是()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:ES二、填空题 (每小题4 分,共 20 分)1.下列程序段求数组FLD的平均值,结果在AL中。
请将程序填写完整(不考虑溢出)FLD DW 10, -20, 30, -60, -71, 80, 79, 56_______________MOV CX, 8XOR AX, AXR1:____________ADD SI, 2LOOP R1MOV CL, 8IDIV CLHLT2.MOV AX, 1090HSUB AX, 4AE0HJC L1JO L2JMP L3上述程序执行后AX=___________,程序转向________ 3.假设寄存器AX=1234H,DX=0A000HMOV BX, 0MOV CX, BXSUB CX, AX EDCCH 有借位SBB BX, DX 6000H 5FFFMOV AX, CX EDCCHMOV DX, BX上述程序段执行后AX=__________ ,DX=___________ 4.MOV AX, 234HMOV CL, 3ROL AX, CL 注意移的是二进制码DEC AXMOV CX, 4MUL CX此段程序执行完后,(AX)= ________ , (CX)= _______ 5.DA1 DB 83H,72H,61H,94H,5AH┇MOV CX,WORD PTR [DA1]AND CX,0FHMOV AL,[DA1+3]SHL AL,CL上述指令序列执行后,AL=________,CL=________。
三、简答题 (每小题4 分,共 20 分)1.如TABLE为数据段中0100单元的符号名,其中存放的内容为0FF00H,试问以下两条指令有什么区别?指令执行后,AX寄存器的内容是什么?MOV AX,TABLEMOV AX,OFFSET TABLE2.对于下面的数据定义TAB1DW10DUP(?)TAB2DB10DUP(?)TAB3DB‘1234’┇MOV AX,SIZE TAB1MOV BL,SIZE TAB2MOV CL,SIZE TAB3三个寄存器中值分别为多少?4.已知某个人计算机0000:0080~0000:00B0区域的内容如下:0000:0080 CC A1 C8 00 80 89 A8 98 65 43 35 23 12 45 C4 00 0000:0090 A4 78 98 56 90 00 00 78 49 03 28 B7 B8 9C A2 B8 0000:00A0 CC A1 C3 00 80 89 A8 98 65 43 35 23 12 45 C4 00 0000:00B0 2A 1B C8 04 00 33 11 23 DC 41 54 BB 90 45 33 01 试求执行软中断指令INT 23H时,系统将转移到哪里进入中断服务程序。
5.试计算逻辑地址4017:000A,4015:0002A和4010:0007A对应的物理地址。
这三个物理地址说明了什么问题?四、编程题 (每小题30 分,共 30分)1.试编制一程序,统计DT_W字数组中正数、负数和0的个数,并分别保存在C1,C2和C3变量中。
汇编语言程序设计试题及答案一.名词解释(本大题共5小题,每小题3分,共15分)试解释下列名词的含义。
1.逻辑地址:逻辑地址由两个16位的地址分量构成,其中一个为段基值,另一个为偏移量,两个分量均为无符号数编码。
物理地址=段基值×16+偏移量2.物理地址:CPU通过地址总线向外发送的20位地址,在访问内存单元前,CPU必须先将CPU内部的逻辑地址转换为物理地址。
3.标志寄存器:标志寄存器(Flag Register)又称程序状态字(Program Status Word),是8086/088中唯一按位操作的寄存器,该寄存器为16位,有效的标志位共9位。
其中,CF,PF,AF,ZF,SF,OF为状态标志,用于反映最近一次影响标志位的算术或逻辑运算中运算过程、运算结果的一些性质;TF,IF,DF为控制标志,用于控制CPU对某些特定事件的处理方式以及CPU的工作模式。
4.存储器寻址方式:发生在指令的执行周期,需要在执行周期内单独启动总线操作来完成。
比寄存器寻址、立即数寻址速度都慢。
5.补码:计算机系统内部用于表示带符号数的一种编码,正整数的补码为其真值本身,负整数的补码为其真值变反加1的结果。
二.计算题(本大题共5小题,每小题4分,共20分)试按照各小题的要求给出计算结果。
1.将十进制数100分别转换为二进制、十六进制数,它们的表示形式分别为多少?解:二进制为 01100100B,十六进制为64H。
2.假设(DS)=0B00H,(BX)=0210H,对于指令MOV DS:120H[BX],AL,其目的操作数的物理地址为多少?解:EA=(BX)+0120H=0330H,物理地址=(DS)*16+EA=B330H3.假设(BX)=0210H,(DI)=0060H,对于指令ADD DL,[BX][DI],其源操作数的偏移量为多少?解:偏移量=(BX)+(DI)=0270H4.假设当前(SP)=0060H,连续执行5条PUSH指令后,(SP)=?解:(SP)=0060H – 5*2 =0060H -000AH = 0056H5.对于一个十进制数– 65,其二进制补码表示形式为多少?解:先求二进制真值-01000001,变反加一补码为10111111三.排错题(本大题共4小题,每小题5分,共20分)每小题列出了一条指令,判断该指令有无语法错误,如果存在语法错误,请指出具体的错误原因,判断正确给2分,分析正确给3分,判断错误不给分。
1.PUSH 5588H 错误,操作数不能用立即数;2.MOV DS, 1720H 错误,MOV指令不能对段寄存器直接传送立即数;3.ADD AX, CL 错误,寄存器长度不匹配;4.AND AX,[DX] 错误,DX不用于存储器寻址。
四.程序分析题(本大题共6小题,每小题5分,共30分)每小题列出了一段小的程序片段和相关存储单元的初始值,请按题目的要求分析各程序片段的运行结果。
(寄存器中的内容请使用十六进制形式给出)1.阅读如下程序片段MOV AL,4CHADD AL,BL执行上述程序片段后,(AL)= 01H (1分),(BL)= 0B5H (1分),CF= 1 (1分),OF= 0 (1分),PF= 0 (1分)2.阅读如下程序片段MOV AL,0F3HMOV DL,0C4HADD AL,DLAND AL,0FH执行上述程序片段后,(AL)= 07H (1分),(AF)= 不确定(1分),CF= 0 (1分),OF= 0 (1分),PF= 0 (1分)3.阅读如下程序片段MOV AL,7EHMOV CL,04HROL AL,CL执行上述程序片段后,(AL)= 0F9H (2分),(CL)= 04H (1分),CF= 1 (1分),OF= 无意义(1分)4.阅读如下程序片段MOV AX,0632HMOV BX,0C202HSUB AX,BXINC AX执行上述程序片段后,(AX)= 4431H (2分),(CF)= 1 (2分),OF= 0 (1分)5.阅读如下程序片段,假设(DS)=0100H,字节单元(01024H)=56H,字节单元(01025H)=28HMOV BX,0024HLEA BX,[BX]OR BX,0ADC BX,[BX]执行上述程序片段后,(BX)= 287AH (3分),(CF)= 0 (2分),OF= 0 (1分)6.阅读如下程序片段,假设(SP)=0064HMOV AX,0001HMOV BX,0002HPUSH AXPUSH BXPOP AXPOP BX执行上述程序片段后,(AX)= 0002H (2分),(BX)= 0001H (2分),(SP)= 0064H (1分)五.程序设计题(本大题共2小题,第一小题7分,第二小题8分,共15分)1.试编写一程序片段,实现BL高4位与低4位相互交换(7分)解:MOV CL,4;2.试编写一程序片段,不使用乘除法指令,实现((AX)*5+14)/ 2的功能(AX中的数据理解为补码)(8分)解:MOV BX,AXMOV CX,2SAL AX,CXADD AX,BXADD AX,14SAR AX,1汇编语言程序设计试题及答案六.名词解释(本大题共5小题,每小题3分,共15分)试解释下列名词的含义。