汇编习题

发布时间:2016-12-11 16:03:16 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"汇编习题",主要涉及到汇编习题方面的内容,对于汇编习题感兴趣的同学可以参考一下。

原文地址:汇编习题作者:依然一.选择题 1、通常说计算机的内存为32M、64M或128M指的是:(c) A.RAM的容量  B.ROM的容量  C.RAM和ROM的容量  D.硬盘的容量   2.汇编语言的优点不包括__d___。   A直接有效地控制硬件  B生成的代码序列短小 C运行速度快          D   编程容易 3 十六进制数88H,可表示成下面几种形式,请找出错误的表示(d   )。   A.无符号十进制数136            B.带符号十进制数-120      C.压缩型BCD码十进制数88      D.   8位二进制数-8的补码表示 4 下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(b   )  A、AX,BX,CX,DX       B、BX,BP,SI,DI     C、SP,IP,BP,DX         D、CS,DS,ES,SS            5可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是( d  )。 A.AX,BX,CX,DX    B.DS,ES,CS,SS    C.SP,BP,IP,BX      D.SI,DI,BP,BX 6.当运行结果为0时,ZF=____b______。   A  0     B 1      C 任意   D 不影响   7某次求和结果最高位为1,则SF=____b______。   A  0     B   1     C 任意    D不影响 8设DS=5788H,偏移地址为94H,该字节的物理地址_____c________。 A 57974H    B 5883H   C  57914H    D  58ECH 9. “MOV   AX,[BP+DI]”指令从_____b_____段取出数据送AX。 A CS      B SS    C DS   D ES 10.下面不能用于寄存器寻址的寄存器有( c  )   A. CS   B. AX    C IP    D SI   E. CL   F. SP 11存储器寻址方式在指令中给出操作数在内存中的地址,该地址是(c) A 逻辑地址    B.有效地址     C偏移地址    D.物理地址  E.段地址 12.堆栈的操作原则是________b_____。   A先进先出      B后进先出   C后进后出   D循环 13 “MOV SP,3210H”和“PUSH AX”指令执行后,SP寄存器值是_c___。 A  3211H    B 320EH  C 320FH     D 3212H      14假设当前SP=700H,执行pop   ax指令后,SP内容变为__d___ A  6FEH    B 6FFH   C  701H   D 702H 15用一条指令实现将AX←BX+SI的方法是__d____   A XCHG   AX,[BX][SI]     B MOV   AX,[BX][SI]   C  MOV  AX,[BX+SI]      D LEA   AX,[BX][SI]   16.设AX=1000H,BX=2000H,则在执行了指令“SUB AX, BX”后, 标志位CF和ZF的值分别为________c_____。   A 0,0    B  0,1    C 1,0     D1,1   17.设DH=10H,执行NEG   DH指令后,正确的结果是(   d    )。 A.DH=10H CF=1  B.DH=0F0H CF=0 C.DH=10H CF=0  D.DH=0F0H CF=1 18.  IMUL   CL指令实现__a____功能   A有符号乘法:AX←AL×CL   B  无符号乘法:AX←AL×CL C有符号乘法:DX←AL×CL   D无符号乘法:DX←AL×CL 19.   执行除法指令后,影响的标志位是___a___   A所有状态标志都不确定 B CF OF  C SF、ZF D AF、PF 20.下列4条指令中,有___a___条指令需要使用DX寄存器 MUL   BX、IDIV   BL、IN   AX,20H、OUT   21H,AL A 1      B  2      C  3     D  4 21.执行下面指令序列后,结果是(    a        )。 MOV   AL,82H            CBW            A、AX=0FF82H   B、AX=8082H  C、AX=0082H   D、AX=0F82H 22. 执行AND   AL,80H后,可以肯定的执行结果是AL寄存器的__c_ A最高位为0     B 最高位为1     C低7位均为0    D 低7位均为1 23.指令_a__实现对AX当中D15和D0位设置为0,其他位不变的功能。 A AND   AX,7FFEH    B OR   AX,8001H   C XOR   AX,8001H    D NOT   AX 24.指令__b___实现对AX当中D15和D0位设置为1,其他位不变的功能。 A AND   AX,7FFEH    B OR   AX,8001H  C  XOR   AX,8001H   D NOT   AX 25.执行OR   AL,80H后,可以肯定的执行结果是AL寄存器的__b____ A  最高位为0     B最高位为1    C低7位均为0     D低7位均为1 26.指令______c____实现对AX当中D15和D0位求反,其他位不变的功能。 A AND   AX,7FFEH     B OR   AX,8001H  C   XOR   AX,8001H   D NOT   AX 27设AX=1000H               NEG   AX               NOT   AX  执行上述指令后,AX=__b____   A 1001H  B 0FFFH   C  1000H    D 0111H 28. 下列指令中,执行后对标志未发生影响的是__a____。 A  MOV  AX,[BX]   B ADD  AX,0FFHH  C AND   AX,[BX]    D TEST AX,0FFHH 29.执行“SAR   BX,1”指令后,BX最高D15位等于___d_______。 A 0      B 1   C  D0   D  D14 30.对寄存器AX的内容乘以2的指令是__b____。 A SHR   AX,1     B SHL   AX,1   C ROR   AX,1    D  RCR   AX,1 31 8086/8088CPU的条件转移指令Jcc采用____a______地址寻址方式。 A相对          B直接   C  寄存器间接  D存储器间接 32.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有( d )。 A、CMP    B、SUB    C、AND       D、MOV 33当标志CF=1时转移到目的地址的条件转移指令是____a__ A JC        B JNC     C  JZ      D JNZ 34条件转移指令JA产生程序转移的条件是__b____ A  CF=0和ZF=1    B CF=0和ZF=0   C  CF=1和ZF=1  D CF=1和ZF=0 35.循环指令LOOPNZ继续循环的条件是___c___   A CX=0,且ZF=0    B CX=0,或ZF=1   C  CX≠0,且ZF=0 D CX≠0,或ZF=1 三判断错对 1.“46”用原码表示为:(00101110)原码 “-46”用原码表示为:(10101110)原码对 2.086/8088系统中,堆栈的操作可以是字节或字操作。错 3 已知AX=1234H、BX=4612H,计算1234-4612的差的算法不能写成下面的形式:对 SUB  AX,BX  DAS 4 已知CL=23H,指令“CMP  CL,CL”执行后标志位的值是:CF=0,ZF=1,SF=0对 5判断下列8086指令的对错:SHL  AX,3错 6. 对寄存器AX的内容乘以4的正确指令序列是SHL AX,1;SHL,AX,1  对 7. 已知CL=0,指令INC CL的执行的结果CF=不变对 8.设DH=10H,执行NEG  DH指令后,正确的结果是 DH=0F0H  CF=0错 9下列指令中,执行后对标志未发生影响的是D错 A MOV AX,[BX]    BADD AX,0FFHH C AND AX,[BX]    D TEST AX,0FFHH 10对寄存器AX的内容乘以2的指令是SHL AX,1对 11. 8088按逻辑段组织程序,数据变量应该且必须在数据段中。错 12. 说明性语句可以在任何一个段中。对 13. 使用简化段定义源程序格式,必须具有.MODEL语句, 且位于所有简化段定义语句之前。对 14. 使用简化段定义源程序格式,必须具有.MODEL语句,但写在何处没有关系.错 15. 正误判断题:源程序中只能用标号START表示程序的起始执行点。错 16. 完整段定义的程序入口点首先应该设置数据段寄存器的值。对 17.汇编源程序可以用WORD文字处理系统处理,并保存为WORD文档。错 18.对于常数41H,在汇编语言中表达成字符’A’也是正确的, 因’A’的ASCII码就是41H。对 19. EQU和=两个伪指令的功能和用法一样。错 20. MOV AX , DI + SI有没有语法错误?错 四.填空题 1.        段的定义用的是伪指令()SEGMENT/ENDS  2.        程序结束的语句是()解答:MOV AX,4C00H   INT 21H 3.        用汇编语言编写的程序称为______,它必须用______程序将它转换成二进制的机器语言程序,这种机器语言程序被称为______,而转换的过程称为______。它还必须用______程序连接,才能生成可执行的程序 汇编源程序,汇编程序,目标代码,汇编。连接 4.        汇编源程序不可以用word文字处理系统处理,并保存为word,师因为文档汇编源程序必须是纯文本文件 5.        在表达存储容量时,1KB=_____B;1MB=___________KB。1024  1024 6.        8086/8088CPU的地址线有20条,它的存储容量为_______。1MB 1KB=210B=1024B,1MB=220B=210KB=1024KB,1GB=230B=210MB=220KB=1024MB,1TB=240B=230KB=220MB。所以答案:1024/210    1024/210/1K 7.        外设与系统之间必须通过________连接。系统通过___________与外设进行通信。 输入输出接口电路(I/O接口)  I/O端口 8.        机器指令是一组 ___,由__和__构成。机器语言程序常被称作___。二进制代码,操作码 操作数 目标程序 9.        对于计算机内部的一个编码:01001001,他代表什么含义01001001作为ASCII码,表示字符I 10.    计算1101+11,1101-11,1101*11,1101/11的值。 1101+11=10000   1101-11=1010  1101*11=100111   1101/11=100(余数1)e 11.    8086CPU的主存寻址范围是(),数据线有()条 主存寻址空间为1M,数据线有16条eee 12.    8086CPU的内部结构分为总线接口(BIU)和执行单元(EU)两大部分。BIU负责CPU对存储器和外设的访问;EU负责指令的译码、执行和数据的运算。 13.    完成一条指令的功能可以分为两个主要阶段:(取指令)和(执行指令) 14.        Intel 8086 CPU的段寄存器有________________________。 15.        Intel 8086 CPU的SP寄存器的主要作用是_____________________________。 16.        (CS)=1000H,(DS)=2000H,(ES)=3000H,(SS)=4000H,(DI)=a100,操作数 [DI+1000H] 的寻址方式是_________,物理地址是______ 。 17.        标志寄存器中OF标志位的主要作用是_____________________。 18.        TEST指令的功能是______________________________。 19.        指令LEA__AX, [SI+100H]的具体操作是_____________________。 20.        有符号二进制字节数可表示的数的范围是_____________________ 。 五.回答问题 1.说明下列指令中源操作数的寻址方式?如果BX=2000H,DI=40H,给出DX的值或有效地址EA的值。 (1) MOV DX,[1234H] (1)直接寻址,EA=1234H(2) MOV DX,1234H (2)立即数寻址,DX=1234H(3) MOV DX,BX (3)寄存器寻址,DX=2000H (4) MOV DX,[BX]  (4)间接寻址,EA=2000H (5) MOV DX,[BX+1234H] (5)相对寻址,EA=3234H(6) MOV DX,[BX+DI]  (6)基址变址寻址,EA=2040H (7) MOV DX,[BX+DI+1234H] (7)相对基址变址寻址,EA=3274H 2已知DS = 2000H、BX = 0100H、SI = 0002H,存储单元[20100H] ~ [20103H]依次存放12 34 56 78H,[21200H] ~ [21203H]依次存放2A 4C B7 65H,说明下列每条指令执行完后AX寄存器的内容。     (1) MOV AX,1200H (1)AX=1200H     (2) MOV AX,BX (2)AX=0100H     (3) MOV AX,[1200H] (3)AX=4C2AH     (4) MOV AX,[BX] (4)AX=3412H     (5) MOV AX,[BX+1100H] (5)AX=4C2AH     (6) MOV AX,[BX+SI] (6)AX=7856H     (7) MOV AX,[BX][SI+1100H] (7)AX=65B7H 3、请分别用一条汇编语言指令完成如下功能: (1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。 (2)用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。 (3)用BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和CX寄存器的内容相加,并把结果送回存储器中。 (4)用位移量为0520H的直接寻址方式把存储器中的一个字与数3412H相加,并把结果送回该存储单元中。 (5)把数0A0H与AL寄存器的内容相加,并把结果送回AL中。 (1)ADD DX,BX(2)ADD AL,[BX+SI](3)ADD [BX+0B2H],CX(4)ADD WORD PTR [0520H],3412H(5)ADD AL,0A0H 六编程序 1.        已知两个八位无符号数x和y,分别存放在BUF和BUF+1单元中,且x>y。请编程序计算x-y,结果存回BUF单元。(4.1)此题为两个八位无符号数相减,我们可以直接使用减法指令SUB来实现。    源程序如下:    SSEG     SEGMENT   STACK ‘STACK’    STA       DW         100 DUP(?)    SSEG     ENDS    DSEG    SEGMENT   ‘DATA’ BUF      DB           82,60 DSEG     ENDS CSEG    SEGMENT    ‘CODE’          ASSUME   CS:CSEG,DS:DSEG,SS:SSEG START:   MOV     AX,DSEG           MOV     DS,AX           MOV     AL,BUF           SUB      AL,BUF+1           MOV     BUF,AL           MO      AH,4CH           INT        21H CSEG     ENDS           END      START 2.        已知DAT单元有一数x。现要求编程将x的低四位变为1010,最高位D7置为1,其它三位不变。    MOV  AL,DAT     ; 取x       AND  AL,70H   ;清低四位和D7位        OR   AL,8AH   ;置低四位为1010,D7位为1       MOV  DAT,AL   ;送回DAT单元 3.         DAT单元的内容拆成高、低各四位,然后分别存于DAT+1及DAT+2的低四位。(4.1)、 此类拆字问题一般均采用移位指令。先将DAT单元内容取出,屏蔽高四位,送入DAT+2单元。再将DAT单元内容右移四位。即:将高四位移至低四位,高四位补0,送入DAT+1单元。 程序如下: MOV  AL,DAT MOV  DAT+2,AL AND  DAT+2,0FH MOV  CL,4 SHR   AL,CL MOV  DAT+1,AL HLT 4.        在DATA单元有一个二进制数x,要求编程完成运算     x+1 x>0 y= x x=0   x-1 x<0 、本题为分支加简单运算。判断条件在零的左右,分支有三条, 程序如下:          MOV  AL,DATA          OR    AL,AL          JZ     L1          JNS    I1          DEC    AL          JMP    L1 I1:       INC    AL L1:      MOV   Y,AL          HLT 5.        编一程序,要求将BUF单元开始的100个存储单元全部清零。只知以0FFH作为结束标志,又该如何处理? 本题所要做的工作是将100个连续单元逐一清零。采用循环的方法最为简单。设置一个循环计数器,每清完一个单元,计数器减1,然后判断计数器是否为0,不为0则再去清一个存储单元,否则清零工作完成。    一般情况下,已知循环次数的,循环判断放在循环体的后面。未知循环次数但已知结束条件的,循环判断置于循环体的前面。 编程如下:          LEA   BX,BUF          MOV  CL,64H LP:      MOV  [BX],0          INC   BX          DEC  CL          JNZ   LP          HLT 注:以上采用字节操作,每次清一个存储单元。也可以采用字操作,每次清两个存储单元。 程序如下:          LEA   BX,BUF          MOV  CX,0032H          MOV  AX,0 LP:      MOV  [BX],AX          ADD  BX,2          LOOP  LP          HLT 注:当不知道所清单元个数但已知结束条件时,可编程序如下:          LEA   BX,BUF          MOV  AL,0FFH LP:      CMP  AL,[BX]           JE   DONE          MOV  [BX],0          INC   BX          JMP   LP

上一篇:NYOJ&nbsp;-&nbsp;汉诺塔(三)
下一篇:10054 - The Necklace(欧拉回路+回路打印)

相关文章

关键词: 汇编习题

相关评论