汇编语言设计复习题
汇编语言程序设计复习2(带答案)1
汇编语言程序设计练习题2一、单项选择题(答案BDDBA BDADC CCAC CBBDA BDADA BCCB )1、使计算机执行某种操作的命令是( )A.宏指令B.指令C.伪指令D.语句2、某存储单元的物理地址是12345H,可以作为它的段地址有()。
A.2345H B.12345HC.12340H D.1234H3、8088/8086存储器分段,每个段不超过()A.64K个字B.32K个字节C.1兆个字节D.64K个字节4、计算机能直接识别并执行的语言是( )A.汇编语言B.机器语言C.高级语言D.低级语言5. 8086/8088系统执行传送指令MOV时()A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志6、以下各个指令中正确的是()。
A. MOV CS, DXB. MOV DS, BPC. IN 20H,ALD. MOV AH, BX7、下列对OUT指令的叙述正确的是()。
A. 实现从端口中读出数据B. 能直接访问的端口范围是0~1KBC. 能访问的端口为64KBitD. 只能用DX做为间接寻址的寄存器8、已有汇编语句“V AR EQU 1220H”,则语句“mov AX, V AR”中源操作数的寻址方式为()。
A. 立即寻址B. 直接寻址C. 寄存器间接寻址D. 基址寻址9、与MOV BX,OFFSET DATA1指令完全等效的指令是()。
A.MOV BX,DATA1B.LDS BX,DATA1C.LES BX,DATA1D.LEA BX,DATA110、下列指令中段默认为堆栈段的是()A.MOV AX,[BX+SI+10]B.ADD AX,ES:[SI]C.SUB BX,[BP][DI]D. MOV DX,[1000H]11、已知DS=2000H,ES=1000H, SI = 0800H,内存10880H开始的两个单元中存放5678H,内存20880H开始的两个单元中存放8765H,则语句“LEA BX,[SI+80H]”执行后BX 的值为()。
(完整版)汇编语言复习题
汇编语言程序设计复习题一、单项选择题1.假设(AL)=0FFH依次执行ADD AL,0FH指令后,标志位ZF和SF的状态分别为(A )A. 0和0B. 0和1C. 1和0D. 1和12.假设V AR为变量,指令MOV BX,V AR 的寻址方式是( A )A.直接寻址B.间接寻址C.立即寻址D.存储器寻址3.下列指令中,不影响标志位的是( C )A.SUB BX,BX B.ROR AL,1 C.JNC Lable D.AND AL,CL4.假定(DS)=4000H,(DI)=0100H,(40100H)=55H,(40101H)=0AAH,试问执行指令MOV BX,[DI]后,(BX)= ( C )A.0100H B.55AAHC.AA55H D.4100H5.执行下列哪一条指令后,就能用条件转移指令判断AL和BL寄存器中的最高位是否相同?(D )A. TEST AL BLB. CMP AL BLC. AND AL BLD. XOR AL BL 6.堆栈中当前出栈的存储单元地址是(A )A. SS*10H+SPB. SS*10H+BPC. SS*10+SPD. SS*10+BP7.已知V AR DW l,2,$+2,5,6 若汇编时V AR分配的偏移地址是0010H,则汇编后0014H单元的内容是( D )A.6H B.14H C.5H D.16H8.循环控制指令REPNZ继续执行循环的条件是(B )A. CX≠0且ZF=1B. CX≠0且ZF=0C. CX≠0或ZF=1D. CX≠0或ZF=09.设NUM=11011011B,指令“MOV AL,NUM SHL 3”执行后AL中的值是(B )A.11011011000BB.11011000BC.00011011BD.00011011011B10.下面XCHG指令语句中,语法正确的是(B)A. XCHG AX,DSB. XCHG BL,[BX]C. XCHG AL,OFHD. XCHG [SI],[DI]11.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是( A )A。
汇编语言参考复习题
A) BX B) DI C) SI D) DX
3.在指令MOV ES:[SI],AX 中,目的操作数为_______寻址方式。
A) 寄存器 B) 直接 C) 基址变址 D) 寄存器间接
简答题
1.写出6种常用的寻址方式。
伪指令VR1 DB 2 DUP(?,3 DUP(1,2),5)在存贮器中被分配了_________字节。答案: 16个
若当前(SP)=6000H,CPU执行一条IRET指令后,(SP)=___ _____H;而当CPU执行一条段内返回指令RET 6后,(SP)=____ ______H。 6006H,6008H
A)0FH,04H B)0BH,04H C)0FH,0BH D)04H,0FH
6.若已知(SP)=2000H,(AX)=0020H,则执行指令,PUSH AX 后,(SP)和((SS):(SP))的值分别为_________。
A)2002H,00H B)2000H,20H C)1FFFH,00H D)1FFEH,20H
A) 0—255 B) 0—65535 C) 0—1023 D) 0—32767
14.下列四条指令中,有几条指令需要使用DX寄存器_________?
MUL BX DIV BL IN AX,20H OUT 20H,AL
执行指令段: AGAIN:MOV ES:(DI), AL
INC DI
LOOP AGAIN
完成的操作,与其等效的指令组:_______________、_______________。
CLD,REP STOSB
最新《汇编语言程序设计》期末复习题-文库.资料
一、填空题1.一个十进制数 35.625其对应的二进制数为 100011.101B 、十六进制数为23H2.将 8存放在一个字单元中 , 则该单元中二进制代码是 0008H3.计算机软件分为两个部分即系统软件和应用软件而汇编程序属于系统软件 , 汇编语言应用程序属于应用软件4.把汇编语言源程序翻译成计算机能够识别、执行的目标程序的软件称为汇编程序5.8086/8088 CPU内部一般用来存放数据的寄存器有 AX BX CX DX6.8086/8088 CPU内部用来存放段地址寄存器的有 CS DS SS ES7.逻辑地址由段地址与偏移地址组成8.一个语句的名字项可以是标号或变量 , 在程序中它们两个在书写形式上的主要区别是标号以冒号结尾而变量不以冒号结尾9. 在 PSW 中 , 用以记录当前运算结果特征信息的那些位称为状态标志位 , 一般是由 CPU自动设置。
10.存储器单元与物理地址的关系是一一对应 ,在一个逻辑段内 , 每个单元对应的段地址是相同的 ,而偏移地址是不同的11.在 I/O接口中 , 为每个可访问的寄存器分配的地址是端口地址12.用以指示当前堆栈栈顶的指针寄存器是 SP13.机器指令是一组规定计算机的操作类型及相关操作数的二进制代码14. 假设执行指令前 BX=5678H, CL=8,指令 ROL BX, CL 执行后 BX 的内容是7856H15.一条指令的基本结构一般由操作码字段和操作数字段两个部分组成。
16.8086/8088 存储器地址分段时,每个段起始地址的特征是二进制表示的地址中低四位都为 017.所谓“寻址方式”是指在指令中用以说明操作数所在地址或位置的方法18.在指令中直接给出操作数的寻址方式称为立即数寻址19.无符号数和带符号数的两组条件转移指令,每条指令都有完全等效的两个指令助记符,例如, JL 指令另一个指令助记符是 JNGE20.8086/8088指令系统中 , 用以描述 (说明寄存器操作数的寻址方式是寄存器寻址方式21.设 MASK 为一个变量 , 在“ MOV AX,MASK[SI+BX]”指令中 , 源操作数的寻址方式是基址变址寻址方式22.CPU执行“ JMP BX”指令只改变 2P 内容 ,而不改变 CS 内容。
汇编语言复习题附答案
汇编语言复习题附答案一、选择题1. 汇编语言是一种()。
A. 高级语言B. 机器语言C. 低级语言D. 面向对象语言答案:C2. 在汇编语言中,指令通常由()组成。
A. 操作码和操作数B. 操作数和地址C. 操作码和地址D. 操作码、操作数和地址答案:A3. 汇编语言中的寄存器通常用来()。
A. 存储数据B. 存储指令C. 存储程序D. 存储地址答案:A4. 汇编语言中的指令MOV AX, BX的作用是()。
A. 将AX寄存器的值移动到BX寄存器B. 将BX寄存器的值移动到AX寄存器C. 将AX和BX寄存器的值相加D. 将AX和BX寄存器的值相减答案:B5. 汇编语言中的循环结构通常使用()指令实现。
A. JZB. JNZC. LOOPD. CALL答案:C二、填空题1. 汇编语言中的指令ADD AX, BX表示将AX和BX寄存器的值相加,并将结果存入____寄存器。
答案:AX2. 汇编语言中的指令SUB AX, BX表示将AX寄存器的值减去BX寄存器的值,并将结果存入____寄存器。
答案:AX3. 汇编语言中的指令CMP AX, BX用于比较AX和BX寄存器的值,但不进行存储操作,结果影响____标志。
答案:标志寄存器4. 汇编语言中的指令JMP LABEL用于无条件跳转到标签____处执行。
答案:LABEL5. 汇编语言中的指令PUSH AX将AX寄存器的值压入____。
答案:堆栈三、简答题1. 简述汇编语言与机器语言的区别。
答案:汇编语言是一种低级语言,它使用助记符来表示机器语言的指令,更易于人类理解和编写。
机器语言则是由二进制代码组成的指令集,直接被计算机硬件执行,但对人类来说难以阅读和编写。
2. 描述汇编语言中如何实现条件跳转。
答案:汇编语言中实现条件跳转通常使用条件跳转指令,如JZ(跳转如果零)、JNZ(跳转如果非零)、JMP(无条件跳转)等。
这些指令根据CPU的状态寄存器中的条件码标志来决定是否跳转到指定的标签处执行。
汇编语言复习资料
汇编语言程序设计复习提纲一、单项选择题1.指令指针寄存器是()。
2. DAL DB 67HNUM EQU 80H则执行AND DAL,NUM语句后DAL中的内容是()。
A. E7HB. 80HC. 67HD. 03.与指令MOV AX,NOT 0F0H等效的汇编语言指令是()。
A. MOV AX,0FHB. MOV AX,0FF0FHC. MOV AX,000FHD. MOV AX,0F0H4.一个有16个字的数据区,它的起始地址是70A0H:DDF6H,则这个数据区最末一个字单元的物理地址是()。
B5.可用作基址变址寻址或寄存器间接寻址的寄存器是()。
,BX,CX,DX ,ES,CS,SS,BP,IP,BX ,DI,BP,BXD6.在串操作指令中,下列描述中不正确的是()。
MOVSB STOSBCMPSB LODSBD7. ORG 0030HDA1 DB 0 , ‘0’, 30H偏移地址为0030H字存储单元的内容是()。
A8.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令是()。
A. CMPD9.将汇编语言源程序翻译成机器码程序的程序是()。
A.编译程序B.汇编程序C.解释程序D.目标程序B10.设DS=1E4AH,偏移地址为0056H,该字节的物理地址为()。
A. 1E4A6HB. 1E456HC. 1E556HD. 1E4F6HD11.当程序顺序执行时,每取一条指令语句,IP指针增加的值是()A.由指令长度决定的字节数A12.若AX=349DH, CX=0FH。
则执行指令AND AX,CX后,AX的值是()。
B13. 设(AX)=0FC77H, (CX) =504H, CF=1,执行SAR AX, CL指令后,AX的值是()。
A. FFC8HB. FFC9HC. FFC7HC14.假设字节单元(02398H)=12H, (02399H) =34H, (0239AH) =56H,则(02399H)字单元的内容是()。
汇编语言程序设计复习题答案
《汇编语言程序设计》复习题一、填空题1、8086CPU内部结构按功能分为两部分,即 BU(执行部件)和 BIU(总线接口部件)。
2、CPU中的总线接口部件BIU,根据执行部件EU的要求,完成CPU与主存储器或I/0端口之间的数据传送。
3、8086中的BIU由四个 16 位段寄存器、一个 16 位指令指针、 6 字节指令队列、 20 位地址加法器和总线控制电路组成。
4、8086/8088的执行部件EU由 8 个通用寄存器、 1 个专用寄存器、一个标志寄存器和 ALU 等构成。
5、根据功能不同,8086的标志位可分为状态标志和控制标志。
6、8086/8088构成的微机中,每个主存单元对应两种地址:段基值和偏移量。
7、8086CPU具有 20 根地址线,直接寻址能力可达 1M 。
8、逻辑地址由段基值和偏移量组成,其中的段基值是由段寄存器存储。
9、计算机的指令由操作码和地址码两部分组成。
10. 零地址指令是不带地址码的机器指令,其操作数是由隐含指定提供的。
11. 8088CPU中共有 14 个寄存器,这些寄存器为 16 位。
12. F标志寄存器共有9个标志位,除OF、SF、AF和CF外,还有 DF 、 IF 、 TF 、▁ ZF 和 PF ,其中用于记录是否产生进位的标志位是 CF 。
13. 标号和变量所具有的三种属性分别为段属性、偏移量属性和类型属性。
14. 操作数有三种类型,分别为常数操作数、寄存器操作数和存储器操作数。
15. 一个源程序中可以包含代码段、数据段堆栈段及附加段。
其中代码段是源程序中必不可少的,其它的段可有可无。
16. SEGMENT/ENDS称为段定义伪指令;ASSUME称为段寻址伪指令;NAME/END称为模块定义伪指令;源程序结束伪指令为 END ;过程定义伪指令为 PROC/ENDP 。
数据定义伪指令为 DB 、 DW 、DD 。
17. 一般DOS系统功能调用的步骤为:(1) 送入口参数到指定寄存器;(2)送功能号至AH ;(3)软中断指令INT 。
烟台大学《汇编语言程序设计》期末考试复习题及参考答案
B. 03200H
C. 20120H
D. 21200H
答 案:C
48、下列指令中不能将AX清0的指令是( )。(2分)
A. SUB AX,AX
B. TEST AX,0
C. XOR AX,AX
D. AND AX,0
答 案:B
49、设AL=0A8H,CX=2,CF=1,执行RCLAL,CL指令后,AL中的值为( )(2分)
A. 80H
B. 160H
C. 80
D. 160
答 案:D
3、设AL=0AH,下列指令执行后能使AL=05H的是( )(2分)
A.NOT AL
B.AND AL,0FH
C.XOR AL,0FH
D.OR AL,0FH
答 案:C
4、CPU要访问的某一存储单元的实际地址称(2分)
A.段地址
B.偏移地址
C.物理地址
CBW
(2分)
A. AX=0FF82H
B. AX=8082H
C. AX=0082H
D. AX=0F82H
答 案:A
31、下面的数据传送指令中,错误的操作是( )(2分)
A. MOV SS:(BX+DI),1000H
B. MOV DX,1000H
C. MOV WORDPTR(BX),1000H
D. MOV DS,2000H
add ax,0f510h
A. of=1
B. cf=1
C. sf=1
D. zf=1
答 案:C
12、JMPWORDPTR(DI)的源操作数的物理地址是( )(2分)
A. 16D×(DS)+(BX)+(SI)
《汇编语言程序设计》复习资料
《汇编语言程序设计》复习资料一、基本概念1、8088/8086CPU内部寄存器有__14____个,其中的AX、BX、CX、DX是通用寄存器,SP、BP、DI、SI 是基址和变址寄存器,CS、DS、ES、SS、是段寄存器,此外还有指令指针寄存器 IP 和标志位寄存器 FLAGS 两个控制寄存器,所有寄存器都是 16 _位寄存器,每个寄存器可以存放 16 位二进制数。
2、8088/8086CPU的标志位寄存器中有9个标志位,其中的DF、IF、TF是控制标志,OF、SF、ZF、CF、AF、PF 是状态标志。
3、8088/8086CPU有三组总线,它们是数据总线、控制总线和地址总线;地址总线是 20 条,因此它可以寻址的范围是 1M 字节。
通常将 1024 字节称为1K,将 1024K 字节称为1M。
4、8088/8086CPU的存储器采用分段方式管理,每个段最多可以有 64K 字节,全部存储空间可以分成 16 个大小为64K且互相不重叠的段。
5、采用分段方式管理的存储单元的地址分成物理地址和逻辑地址两种,逻辑地址由段地址和偏移地址两部分构成,段地址是每个存储器段的起始地址;偏移地址则是相对于每个段第一个存储单元的偏移值。
段地址存放在段寄存器中,由于8088/8086CPU的段寄存器是16位寄存器,因此在段寄存器中存放的是段地址的 16 位;而CPU对数据的存取是按物理地址进行的,物理地址和逻辑地址间的关系是__ 物理地址=段地址 16D(或10H)+ 偏移地址___。
6、存储器中,数据是以字节为单位存放的,它是一个 8位二进制数,16位二进制数是 2个字节,又称为字;每个存储单元可以存放一个字节;一个字则占用两个存储单元,存放时要将低字节放在地址较小的存储单元中。
7、计算机的指令由操作码字段和操作数字段构成,它们分别给出计算机所要执行的操作和执行操作所要的操作数。
8、指令操作数通常可以存放在指令中,也可以存放在CPU的寄存器中,大多数存放在存储器中,它们分别称为立即数、寄存器操作数和存储器操作数。
汇编语言程序设计专科复习题及答案专科复习题
汇编语言程序设计专科复习题及答案专科复习题复习题一一、单项选择题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,可表示成下面几种形式,请找出错误的表示()。
汇编语言复习题
汇编语言期末复习题一、单项选择题1.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区第一个字单元的物理地址是()。
A.12B5BH B.12B6BH C.12C59H D.12BFEH2.在IN AL,PORT指令中,PORT称为()。
A.立即数B.有效地址 C.端口地址 D.寄存器名3.在下列指令的中,不能实现把AX寄存器内容清零的指令是()。
A.SUB AX,AX B.XOR AX,AXC.OR AX,0000H D.AND AX,0000H4.条件转移指令JNE的测试条件为()。
A.ZF=0B.CF=0C.ZF=1D.CF=15.8086CPU在基址加变址的寻址方式中,变址寄存器可以为()。
A.BX或CX B.CX或SIC.DX或SI D.SI或DI6.设(AX)=1000H,NEG AXNOT AX执行上述两条指令后,正确的结果是()。
A.(AX)=1001H B.(AX)=0FFFH;C.(AX)=1000H D.(AX)=0111H。
7.串指令中的目的操作数地址一定是由()提供。
A.ES:[DI]B.SS:[BP]C.DS:[SI]D.CS:[IP]8.将DX的内容除以2,正确的指令是()。
A.DIV 2 B.DIV DX,2C.SAR DX,1D.SHL DX,19.用户为了解决自己的问题,用汇编语言所编写的程序,称为()。
A.目标程序B.汇编语言源程序C.可执行程序D.汇编程序10.用一条指令仅实现将AX←BX+SI的方法是()。
A.XCHG AX,[BX][SI]B.MOV AX,[BX+SI]C.LEA AX,BX[SI]D.LEA AX,[BX][SI]11.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是()。
A.1FFFH B.1998H C.1FFEH D.2002H12.一个字为()位二进制数。
A.8位B.16位C.32位D.64位13. 下列四个寄存器中,可作为八位寄存器的是()。
汇编复习题
汇编复习题一、单项选择题1、十进制数-100的8位二进制数的补码为()。
A. 11100100B. 01100100C. 10011100D.110011102、16进制数88H,可表示成下面几种形式,请找出错误的表示是( )。
A. 无符号十进制数136B. 有符号十进制数-120C. 无符号二进制数10001000D. 8位二进制数-8的补码。
3、下列指令中操作数在代码段中的是()。
A. MOV AL, 25HB. ADD AH, BLC. INC DS:[25H]D. CMP AL, BL4、设(DS)=8225H,(DI)=3942H,指令MOV AX, [DI]中源操作数的物理地址是()。
A. 85B92HB. 86192HC. BB690HD. 12169H5、已定义FEES DW 100 DUP(0),则指令MOV CX, SIZE FEES 的等效指令是()A. MOV CX, 100B. MOV CX, 200C. MOV CX, 400D. MOV CX, 100 DUP(0)6、MOV AL, 82HCBW 执行上面指令序列后,结果是()。
A. (AX)=0FF82HB. (AX)= 8082HC. (AX)=0082HD. (AX)=0F82H7、若(AX)=3500H,(CX)=56B8H,当AND AX, CX指令执行后,(AX)为()。
A. 1400HB. 77F8HC. 0000HD. 0FFFFH8、完成累加器AL清零,并使进位标志CF清零,下面错误的指令是()。
A. MOV AL, 00HB. AND AL, 00HC. XOR AL, ALD. SUB AL, AL9、下列描述中,执行循环次数最多的情况是()。
A. MOV CX, 1B. MOV CX, 0FFFFHLOP1: LOOP LOP1 LOP1: LOOP LOP1C. MOV CX, 256D. MOV CX, 0LOP1: LOOP LOP1 LOP1: LOOP LOP110、下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为()。
汇编语言复习题(附答案)
汇编语言复习题注:蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。
在此文档最后最后附有课后四、六章的答案,大家抓紧时间复习哦!一、选择题1. 把要执行的程序与库文件连接起来形成可执行文件的系统程序是( B ) 。
A. 汇编程序B. 连接程序C. 机器语言程序D. 源代码程序2. 在8088/8086 的寄存器组中,CPU确定下一条指令的物理地址时需要用到的寄存器对是( C ) 。
A..SS 和SPB.DS 和DIC.CS 和IPD.ES 和SI3. 为了使主机访问外设方便起见,外设中的每个寄存器给予一个( C ) 。
A. 物理地址B. 逻辑地址C. 端口地址D. 段地址4. MOV AX,3064H,该指令中源操作数采用的寻址方式是( A ) 。
A. 立即B. 直接C. 寄存器相对D. 寄存器间接5. 换码指令的助记符是( C ) 。
A. XCHGB. LEASC.XLATD. MOV6. 如果A≥B(A、B有符号数)发生转移,应选择的条件转移指令是( JGE ) 。
7. 下列符号中,可用作标识符的是( C ) 。
A.MOVB.AXC.MSG1D.1ABC8. X DB 10H DUP ( 1,2)内存变量定义语句拥有了( A ) 个字节的存储空间。
A.20DB.10DC.20HD.10H9. 当DF=0时,执行串操作指令MOVS,B变址寄存器SI、DI的值将( C ) 。
A. 不变B. 减 1C. 加 1D. 无法确定10. 如下指令可将AX寄存器内容改变的是( A ) 。
A.AND AX , BX B .TEST AX , BX C.CMP AX , BX D .XCHG AX , AX11.16 位CPU支持的I/O 地址范围是( D ) 。
A.0~0FFFFFH B.0~0FFFFH C.0~0FFFH D.0~0FFH12. M UL CL 指令实现的功能是( A ) 。
汇编语言期末复习题大全(免费)
汇编语言期末复习题DX:单项选择题 DU:多项选择题 TK:填空题 MC:名词解释v JD:简答题 CXFX:程序分析题 CXTK:程序填空题 BC:编程题第1章:基础知识1、在汇编语言程序的开发过程中使用宏功能的顺序是( C )。
DXA、宏定义,宏调用B、宏定义,宏展开C、宏定义,宏调用,宏展开D、宏定义,宏展开,宏调用2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( B )。
DXA、名字项B、操作项C、操作数项D、注释项3、可屏蔽中断就是它的请求是否被CPU响应要受( IF )的控制。
DX4、使用LINK连接命令,执行后可生成文件的扩展名为( EXE )。
DX5、在寄存器间接寻址中,如果指令中指定的寄存器为BP,则操作数在堆栈段中,段地址在 SS 寄存器中。
TK6、注释项用于说明程序段或是一条和几条指令的功能,一般用;(或分号) 表示注释的开始。
TK7、DOS系统功能调用方式为:(1)置入口参数;(2)中断程序编号送 AH 寄存器后执行INT 21H。
TK8、通常主程序和子程序间参数传送的方法有三种:用寄存器传递、用存储单元传递、用堆栈传递(顺序可调换)。
TK9、中断是CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该事务处理完后能自动恢复执行原先程序的过程。
在此,称引起紧急事务的事件为中断源。
TK10、在字符串操作指令中,DS∶ SI 指向源串,ES∶ DI 指向目的串。
TK11、计算机系统通过接口与外围设备通信。
TK12、键盘I/O、显示I/O和打印I/O分别对应 16H 、 10H 和 17H 号中断。
TK13、字符显示模式缓冲区中的一个字对应于屏幕上的一个字符。
每个字的第一个字节为显示字符的 ASCII码,第二个字节为显示字符的属性。
TK14、简述上机运行汇编语言程序的过程。
JD答:首先打开未来汇编,新建一个空的汇编文件,后缀为.asm,然后输入汇编程序代码,保存,再编译成机器指令,然后连接成可执行文件,即exe文件,最后再运行。
汇编语言程序设计复习题
围内。( )
A. -126~129
B. -128~127
C. -127~128 D. -129~126
23. 在循环次数已知的情况下,采用哪种方法控制循环程
序最方便。( )
A. 正计数法
B. 倒计数法
C. 寄存器终值法 D. 条件控制法
24. 当CX=0时,REP MOVSB执行的次数为。 ( )
A. 1次
3. 下面的子程序不完整,将它补充完整。
子程序的说明文件如下:
子程序名:FMAX
子程序功能: 从一组带符号的字节数据中找一个最大数
入口条件: DS:SI=数据的首地址, CX=数据的个数
出口条件: AL=最大数
FMAX PROC
FMAX1: MOV AL,[SI]
FMAX2: INC SI
DEC CX
A. BX的内容
B. SP+BX之和
B. IP+[BX]之和 D. BX指出的内存单元之内容
15.A≥B时转移的转移指令为(A、B为带符号数) ( )
A. JA
B. JAE
C. JG
D. JGE
16. 已知X,Y为带符号数, 两数比较后, 欲判断X≤Y发生
转移, 应使用指令 ( )
A. JBE
B. JL
B. 0,1
C. 1,0
D. 1,1
19. 条 件 转 移 指 令 的 转 移 目 标 距 该 指 令 的 距 离 范 围 为
()
A. -128~127
B. -126~129
C. -130~125
D. -127~128
20. NEXT是程序中标号,下述哪个程序段不能实现转移到
NEXT•语句执行 ( )
《汇编语言》复习题库
《汇编语言》复习题库一、单项选择题1、在下列的选项中,能够组成计算机系统的是()。
A、硬件系统和软件系统B、CPU、存储器、输入/输出设备C、操作系统、各种语言D、系统软件和应用软件2、以8086/8088为CPU的微机内存最大容量为。
A、4MBB、1MBC、640KBD、64KB3、下面几个程序中不属于翻译程序的是。
A、汇编程序B、编译程序C、解释程序D、编辑程序4、在下列的选项中,能够组成计算机系统的是()。
A、硬件系统和软件系统B、CPU、存储器、输入/输出设备C、操作系统、各种语言D、系统软件和应用软件5、汇编语言属于()。
A、用户软件B、系统软件C、高级语言D、机器语言6、汇编语言源程序是()程序。
A、不可直接执行的B、可直接执行的C、经汇编程序汇编后就可执行的D、经连接后就可直接执行的7、8086/8088 CPU的寄存器组中,8位的寄存器共有()个。
A、4B、6C、8D、108、如果指令的运算结果为0,则()标志位为1。
A、SFB、OFC、ZFD、CF9、物理地址的形成过程是将段地址左移()位加偏移地址。
A、2B、3C、4D、510、如果某一存储单元的逻辑地址为236FH:1000H。
则物理地址为()。
A、1236FHB、336FHC、336F0HD、246F0H11、如果数据存放在DI的内容为偏移地址的数据段中,设DS=3624H,DI=2200H,则此存储单元的物理地址为()。
A、38440HB、58240HC、25624HD、58240H12、汇编语言属于()。
A、用户软件B、系统软件C、高级语言D、机器语言13、汇编语言源程序经汇编程序汇编后产生的文件的扩展名是()。
A、EXEB、OBJC、ASMD、LST14、中央处理器CPU是由()组成的。
A、运算器B、控制器C、寄存器组D、前三者15、8086/8088 CPU的寄存器组中,16位的寄存器共有()个。
A、10B、12C、13D、1416、在程序执行过程中,IP寄存器始终保存的是()。
汇编语言考试复习题及答案
一、单项选择题(从下列每题的四个选择中选择一个正确的,填入答题纸的相应位置。
每小题2分,共30分)1.下列指令有语法错误的是__________。
A) PUSH AL B) ADDC AX,50HC) MOV [SI],[DI] D) JMP WORD PTR[BX+5]见书:35页,PUSH2.执行下列程序段后,(AX)= ________。
TAB DW 1,2,3,4,5,6ENTRY EQU 3MOV BX, OFFSET TABADD BX,ENTRYMOV AX,[BX]A) 0003H B) 0300H C) 0400H D) 0004H3.NC指令不影响_________标志。
A) OF B) CF C) ZF D) SF4.执行下列指令后:STR1 DW ‘AB’STR2 DB 16 DUP(?)CNT EQU $ -STR1MOV CX,CNTMOV AX,STR1HLT寄存器CL的值是________,寄存器AX的值是________。
①A) 10H B) 12H C) 0EH D) 0FH②A) 00ABH B) 00BAH C) 4142H D) 4241H5.汇编语言源程序经汇编后不能直接生成文件。
A).OBJ B).LST C).EXE D).CRF6.8086 CPU在基址加变址的寻址方式中,已知BX=2000H,SI=1234H,则指令“MOV AX,[BX+SI+2]”的源操作在中。
(A)数据段中偏移量为3236H的字节(B)数据段中偏移量为3234H的字节(C)附加段中偏移量为3236H的字节(D)附加段中偏移量为3234H的字节(A)19,20 (B)20,无右孩子(C)无左孩子,20 (D)无左孩子,无右孩子7.执行下面的程序段后,DA T1单元的值是。
DAT1 DB 12H,34HDAT2 DB 56H,78HMOV AX,WORD PTR DAT1CMP AX,WORD PTR DAT2JA DONEMOV BX,WORD PTR DAT2MOV WORD PTR DA T2,AXMOV WORD PTR DA T1,BXDONE:HLTA)12H B)34H C)56H D)78H8.下列指令中,正确的一条是。
《汇编语言程序设计》期末复习题及答案
汇编语言程序设计》期末复习题及答案一、选择( 30 题)1.下列是 8 位带符号二进制数的补码,其中最大的是( B )。
B、000000012.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现( C )C、占内存空间大,但速度快3.数据定义为:EE DB 3 , 4CC DW 3456H , 6789H执行指令“ MOV CX WORD PTR EE+1'后,(CX = ( B )B、5604H4.有如下指令序列:MOV AL, 95HMOV CL, 2SAR AL , CL上述指令序列执行后,AL的内容是(D )D、0E5H5. 设A=186io, B=273s, C=0B^,把这三个数看成无符号数,则它们之间的关系是(D )D、 A<B=C6. 用一条指令实现寄存器 BX和SI的内容相加,并将结果送入AX中,这条指令是(D )D、LEA AX, [BX][SI]7 .要从端口 1234H中读入8位数据,其指令应是( C )C、MOV DX, 1234HIN AL , DX&循环控制指令 LOOPNZ/LOOPNE续执行循环的条件是(B )B、CX^ 0 且 ZF=09. 8088/8086 存储器分段,每个段不超过( D )D、64K 个字节10.表示过程定义结束的伪指令是( A )A、ENDP11 .用来存放下一条将要执行的指令代码段地址的段寄存器是( D )D 、CS12 .假定(SS) =1000H, (SP) =0100H, (AX)=5609H,执行指令 PUSH AX 后,存放数据56H 的物理地址是( D )D、100FFH13.执行“ SUB AX, [BP][DI] ”指令,取源操作数时,使用的物理地址表达式是( A )A、16*SS+BP+DI14 .设AX中有一带符号数 8520H,执行“ SAR AX, 1”指令后,AX中的值是(C )C、0C290H15 .设(BX =1234H,( DS =2000H, ( 21234H) =5678H,则指令“ LEA SI,[BX] ” 执行后的结果是:( B )B、SI=1234H16 .测试BL中的数是否为负数,若为负数则转移至AA1处,横线处的指令应为( A )A 、 JNE17 .设 DF=Q (SI) =20H, (CX) =10,执行“ REP LODSW 指令后,SI 中的内容是(C )C 、 34H18.在程序执行过程中, IP 寄存器中始终保存的是( B )B 、下一条指令的首地址19 .设SP初值为2000H,执行指令“ POP AX'后,SP的值是(A )A、2002H20 .若 AX=3500H CX=56B8H 当 AND AX CX指令执行后, AX= ( A )A、1400H21 .汇编源程序时,出现语法错误的语句是( A )A、MOV DS, 1200H22 •将数据1234H存放在存储单元中的伪指令是( C )C 、 DATA1 DB 34H, 12H23 .下面指令执行后,可能改变AL寄存器内容的指令是( D )D 、AND AL, BLB、寄存器间接寻址25 •用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )B、汇编语言程序26 .用DOS功能调用时,子功能调用的编号应放在( C )C、AH27 .提供串指令中目的操作数地址的是( C )C、ES: [DI]28 .在寄存器间接寻址方式下,能够提供有效地址的寄存器有( B )B、BX BP, SI , DI29 .已知某操作数的物理地址是2117AH则它的段地址和偏移地址可能是( A )A、2025 : 0F2A30 .中断向量表中的每个中断向量所占内存空间为:(B )B、4个字节、填空(30题)1.在用直接寻址方式寻址操作数时,系统对段地址的默认值在段寄存器DS中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题1. 应用程序具有3个基本段,可执行指令应该保存于( A )。
A) 代码段B) 数据段C) 堆栈段D) 附加段2. 8位补码F3H要扩展成16位补码应该是( D ),这样其真值才不变。
A) F0F3H B) 00F3H C) 10F3H D) FFF3H3. “mov [ebx+8],eax”指令的目的操作数采用( C )寻址方式。
A) 存储器间接B) 寄存器C) 寄存器相对D) 立即数4. 执行“sar ebx,1”指令后,ebx最高D31位一定等于( D )A) 0 B) 1 C) D0位D) D30位5. 在代码段内的-128~127个字节前后范围的跳转,可以用( C )类型名表示。
A) WORD B) DWORD C) SHORT D) FAR6. 在Windows控制台环境,在当前光标显示信息应该使用( B )函数(功能)。
A) ReadConsole B) WriteConsoleC) MessageBox D) GetStdHandle7.汇编语言源程序经汇编后不能直接生成( C )A) OBJ文件B) LST文件C) EXE文件D) CRF文件8.在ADD指令中,两个操作数的物理位置不可以安排在( A )中。
A) 两个主存储单元B) 一个主存储单元和一个数据寄存器C) 两个数据寄存器D) 一个堆栈单元和一个数据寄存器9.假定ax=6987h,执行指令cmp ax,0eb30h后,则标志位CF和OF的状态( C )。
A)0,0 B) 0,1 C) 1,0 D) 1,110.假定esp=00120100h,eax=1f6c2107h,执行指令push ax后,存放数据07h的物理地址是( C )。
A) 00120104h B) 00120101h C) 001200fch D) 001200ffh11.下列对标志寄存器中标志位产生影响的指令是( B )A) jmp done B) shl eax, 2C) call subp D) not eax12. 假设CL=98H, 执行“MOVSX DX, CL”后,DX=( D )A) F098H B) 0098H C) 1098H D) FF98H13. “mov 80h[esi], eax”指令的目的操作数采用( C )寻址方式。
A) 存储器间接B) 寄存器C) 寄存器相对D) 变址寻址14. 要在程序中定义缓冲区BUF,保留9个字节存储空间的语句是(C )。
A) BUF DW 9 B) BUF DB 9C) BUF DB 9 DUP (?) D) BUF DW 9 DUP (?)15. 下列指令执行后总是使CF=0,OF=0的是( A )。
A) AND B) NEG C) MOV D) INC16. 下面指令的表示中,错误的操作是( C )A) mov eax,[ebx+esi] B) jmp near ptr don1C) dec [ebx] D) mul cx17.测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方法是( A )A) xor bl,4fh B) test bl,4fhjz next jz nextC) and bl,4fh D) or bl,4fhjz next jz next18.下列寄存器组中在段内寻址时不可以提供偏移地址的寄存器组是( C )A) ECX,EBX B) EDI,EBPC) EIP,EAX D) EDX,ESI19.若要使寄存器AL中的高4位不变,低4位为0,所用指令为( B )A) AND AL,0FH B) AND AL,0F0HC) OR AL,0FH D) OR AL,0F0H20. 将汇编语言源程序文件翻译成目标代码文件的过程,称为( A )A) 汇编B) 编辑C) 连接D) 调试21. ADD求和指令的结果最高位为1,则SF=( B )A) 0 B) 1 C) 任意D) 不影响22. 子程序最后,通常需要执行的返回指令是( D )A) LOOP B) JZ C) CALL D) RET23.“mov eax, [ebx] [esi]”指令的源操作数采用( A )寻址方式。
A) 基址变址B) 寄存器C) 寄存器相对D) 存储器间接24.若CL= 4,AX=0FF0FH,执行语句“ROL AX,CL”后,AX=( C )A) 0FFFFH B) 0FFF0H C) 0F0FFH D) 0FFFH25.JMP WORD PTR[EBX]转移的目标地址是( D )A) EBX中的内容B) ESP+EBX的和C) EIP+[EBX]之和D) EBX指示的内存单元的内容二、填空题1. IA-32处理器有三种操作模式分别是:保护模式、实地址模式、系统管理模式。
2. 在实地址工作方式下,逻辑地址“1460H: 100H”表示的物理地址是14700H 。
3.“cmp ebx, 98”指令之后是“jz again”指令,发生控制转移的条件是EBX=98 ,此时ZF= 1 。
4. 伪指令“xyz dword 67762000h”定义的变量保存于IA-32的存储器中,则从低地址到高地址每个字节依次是00 、20 、76 和67 。
5. mov ax, 1234h;xor ax, 00ffh;上述两条指令执行后:ax= 12cbh , CF=OF=0 , SF=0 , ZF=0 , PF=0 .6. 利用堆栈传递子程序参数的方法是固定的,例如:寻找堆栈段数据的寄存器是 EBP7. JMP 指令根据目标地址的转移范围和寻址方式,可以分为四种类型:段内转移、相对转移、段内转移、间接转移以及段间转移、直接转移、段内转移、间接转移。
8. IA-32处理器工作在保护方式时,可以使用平展和段式存储模型。
9. 数据段有语句“VAR DWORD 99008843H”,代码段指令“MOV CX, WORD PTR VAR”执行后,CX=8843H 。
10. 数据段有语句“ABC BYTE 1,2,3”,代码段指令“MOV CL, ABC+2”执行后,CL=3 。
11.已知ESI=04000H,EBX=10H ,指令“MOV EAX, [ESI+EBX*2+8]中访问的有效地址是04028H 。
12.假设在平展存储模型下,EBX=1256H,双字变量TABLE的偏移地址是40100H,线性地址41356H处存放40107H,执行指令“JMP EBX” 后EIP= 1256H ,执行指令“JMP TABLE[EBX]”后EIP=40107H13.已知数据段定义如下:.dataorg 2000hvard dword 1234hvarw word 3*20msg byte ’hello!’,’0’n1 equ $-msgcount equ 5buf word count dup(5,3 dup(1,2),0)array dword varw问题: (1)执行MOV EBX , OFFSET VARD后, EBX= 2000H(2)执行MOV ECX , TYPE BUF后, ECX= 2MOV EDX , SIZEOF VARD后, EDX= 4(3)经汇编后, BUF占有的存储空间是 80 字节(4)经汇编后,$= 200DH , N1= 7Array = 2004H14. 执行“SHR EBX, 4”指令后,JNC发生转移,则说明EBX的D3= 015. 子程序的参数传递主要有三种,它们是寄存器传递、共享变量传递、堆栈传递三、程序阅读题1.填写下面指令的执行结果。
mov eax,3721hadd eax,9 ; EAX= 372A Hmov ebx,50hsub ebx,8 ; EBX= 48 Hmov edi,9ehxor edi,7fh ; EDI= E1 H2.填写下面指令执行的结果。
mov al, 82h ;movsx bx, al ; BX =FF82hmovsx ebx, al ; EBX=FFFFFF82hmov cx, 1000h ;movsx edx, cx ; EDX=00001000h3.填写下面指令执行的结果。
mov ax, 20000mov bl,10div bl;以上代码是否产生溢出是4. 数据段有如下定义,IA-32处理器将以小端方式保存在主存:var dword 12345678h现以字节为单位按地址从低到高的顺序,写出这个变量内容。
并说明如下指令的执行结果:mov eax,var ; EAX=12345678hmov cx,word ptr var+2 ; CX=1234hmov dh,byte ptr var+3 ; DH=12h5.填写下面指令的执行结果。
mov eax, 3721hadd eax, 9 ; EAX= 372A Hmov ebx, 50hsub ebx, 8 ; EBX= 48 Hmov esi, 9ehand esi, 80h ; ESI=80 H6.填写下面指令执行的结果。
.dataarray dword 616h,727h,838h ;假设该变量的存储器地址是40100H.codemov esi,array+4 ;ESI= 727Hmov edi,offset array ;EDI= 40100Hmov edx,[edi] ;EDX= 616Hpush array+8 ;array+8= 838Hpop ecx ;ECX= 838H7.分析下面程序段:mov eax, 2000hmov ebx, 5000hmov [ebx+100h], 60hadd eax, [ebx+100h]lea esi, [ebx+100h]mov ebx, eax程序段执行后,ESI= 5100 H,EBX= 2060 H8.填写下面指令的执行结果。
mov eax,3721hadd eax,9 ; EAX= 372A Hmov ebx,50hsub ebx,8 ; EBX= 48 Hmov esi,9ehand esi,80h ; ESI= 80 H9.填写下面指令执行的结果。
mov eax,0ffhmov ebx,1000hcall sub1inc eaxdec ebx;子程序sub1 procadd eax, ebxxchg eax, ebxretsub1 endp程序段执行后,EAX= 1001 H,EBX= 10FE H。
四、语句填空题1. 在下面程序段实现下述功能:求:z=|x-y|,设x, y, z分别为双字数据的无符号变量名称。
mov eax,xcmp eax,yjb belowsub eax,ymov z,eaxbelow: mov eax,ysub eax,xdone: mov z,eax2.下列程序段将EAX中值乘以9,请将程序填写完整。