资源描述
选择题1、设DS=8225H,DI=3942H,指令MOV BX,DI源操作数的物理地址是( )A、85B92HB、86192HC、BB690HD、12169H2、计算机能直接识别并执行的语言是( )。A、汇编语言B、机器语言C、高级语言D、低级语言3、循环指令LOOPNZ终止循环的条件是( )。A、CX=0,且ZF=0B、CX=0,或ZF=1C、CX0,且ZF=0D、CX0,或ZF=14、循环控制指令LOOPNZ/LOOPNE继续执行循环的条件是( )。A、CX0且ZF=1 B、CX0且ZF=0 C、CX0或ZF=1 D、CX0或ZF=05、已知ARRY DB 500 DUP(0),则ARRY+100存储单元内容为( )。A、100B、500C、0D、1016、THIS IS A BOOK作为字符串存储在数据段时应使用数据定义指令是( )。A、DB B、DW B、DD D、以上三种情况均可7、对一个段的起始地址描述,下面不正确的是( )。A、可在内存任何地方B、段的起始地址能被16整除C、段的起始地址用16进制数表示,但最后一位为0D、段的起始地址可用任意一个四位16进制数乘以16来表示8、要在程序中定义缓冲区BUF,保留9个字节存储空间的语句是( )。A、BUF DW 9B、BUF DB 9 C、BUF DB 9 DUP (?)D、BUF DW 9 DUP (?)9、AX,BX,CX都是通用寄存器,但它们又可用于专门的目的,它们的名字称为( )。A、累加器、变址寄存器、计数器 B、累加器、基址寄存器、计数器C、累加器、指针寄存器、计数器 D、累加器、变址寄存器、指针寄存器10、变址寄存器指的是( )。A、SI、DIB、SI、SPC、SP、BPD、DI、DX11、在执行子程序段间调用CALL SUBR指令后,SP的值( )。A、加2B、减2C、加4D、减412、在执行子程序段内调用CALL SUBR指令后,SP的值( )。A、加1B、减1C、加2D、减213、当SS=9876H, SP=4328H,执行POPF指令后,堆栈顶部的物理地址是( )。A、9CA8AHB、9CA90HC、9CA86HD、0DB00H14、下列传送指令中有语法错误的是( )。A、MOV CS,AXB、MOV DS,AXC、MOV SS,AXD、MOV ES,AX15、下面指令执行后,改变AL寄存器内容的指令是( )。A、TEST AL,02HB、OR AL,ALC、CMP AL,BLD、AND AL,BL16、DEC BYTE PTRBX指令中的操作数的数据类型是( )。A、字B、双字C、字节 D、四字17、与MOV BX,OFFSET VAR指令完全等效的指令是( )。A、MOV BX,VARB、LDS BX,VARC、LES BX,VARD、LEA BX,VAR18、MOV SP,3210HPUSH AX执行上述指令序列后,SP寄存器的值是( )。A、3211HB、320EHC、320FHD、3212H19、MOV BH,1000SI,该指令中源操作数采用的寻址方式是( )。A、立即B、直接C、寄存器相对寻址D、寄存器间接寻址20、BUF DW 10H DUP(3 DUP(2,10H),3,5)上述语句汇编后,为变量BUF分配的存储单元字节数是( )。(DW后面的10H化为10进制为16,然后2*16*(3*(1+1)+1+1)=256个字节,转化为16进制数后就是100HA、80HB、100HC、124D、19221、DOS系统功能调用中,显示单个字符的系统调用号是( )H。A、01HB、02HC、08HD、09H 22、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( )。A、AX,BX,CX,DXB、BX,BP,SI,DIC、SP,IP,BP,DXD、CS,DS,ES,SS23、下面描述中,( )是正确的。A、高级语言与汇编语言的算法都是针对计算机硬件结构的。B、汇编语言需要算法,高级语言不需要算法。C、高级语言的算法是针对计算机硬件结构的。D、汇编语言的算法是针对计算机硬件结构的。24、在书写汇编语言程序时,在代码段中初始位置要对数据段进行加载,加载的指令语句,下面( )描述正确。A、mov ax,dataB、mov ds,dataC、mov ax,data mov ds,axD、mov ax,ds mov cs,ds25、无条件段间间接转移指令JMP DWORD PTRBXDI执行的操作是( )。A、IP(EA) CS (EA+2)B、IP (BX) CS (DI)C、IP=BL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是( )。A、JNC LOP1B、JA LOP1C、JC LOP1D、JGE LOP149、设CL=8,AL=0C8H,执行SAR AL,CL后,AL中的数据是( )。SAR算术右移指令,最高位不变,最低位移入CFA、0FFHB、80HC、00HD、0FEH50、完成将AX清零,并且使CF清零,下面错误的指令是( )。A、SUB AX, AXB、AND AX, 0C、XOR AX,AXD、MOV AX,051、8086/8088系统执行传送指令MOV时( )。A、不影响标志位B、影响DF方向标志C、影响SF符号标志D、影响CF进位标志52、下面关于保护现场和恢复现场的描述,不正确的是(c)A、保护现场和恢复现场工作可在主程序中完成B、保护现场和恢复现场可在子程序中完成C、保护现场和恢复现场工作只能在子程序中完成D、保护现场和恢复现场既可在主程序中完成,也可在子程序中完成。53、下面( )描述属于子程序嵌套调用。A、某程序调用子程序B、某程序调用子程序1,子程序又调用了子程序2。C、某程序调用一个或多个子程序D、某程序调用了两个子程序54、执行CALL子程序调用指令时,CPU会自动地将断点压入堆栈保护。断点指的是( )。A、CALL指令所在的地址B、CALL指令的下一条指令的首地址C、子程序入口地址D、CALL指令所在的段地址55、执行RET指令后,CPU自动将断点弹到相应的寄存器中。如果是段间返回,返回的操作是( )A、先弹出送IP,后弹出送CSB、先弹出送CS,后弹出送IPC、弹出送IPD、弹出送CS56、能够与SS寄存器组合形成堆栈区物理地址的寄存器是( )。A、BXB、BPC、IPD、SI57、不能作为地址指针寄存器的是( )。A、CXB、BXC、SID、DI58、将1存入AX中,其内容为( )。A、FFFFHB、-0001HC、FFHD、8001H59、下列指令中有语法错误的是( )。 A、PUSH AXB、PUSH 20H+SI+BXC、POP CSD、PUSH ES 60、十进制数40用十六位二进制补码表示为( )。A、FF40HB、8040HC、4000HD、FFD8H61、在程序中采用DOS系统功能调用退出用户程序时,在使用INT 21H指令前,应选用( )指令。A、MOV AX,4CHB、MOV AL,4CHC、MOV AH,4CHD、RET62、8086CPU不能用指令直接访问的寄存器是( )。A、SSB、BPC、ESD、IP63、能够与SS寄存器组合形成堆栈区物理地址的寄存器是( )。A、BXB、BPC、IPD、SI64、使用DOS系统功能调用时,使用的软中断指令是( )。A、INT 21HB、INT 10HC、INT 16HD、INT 2165、设AL=0AH,下列指令执行后能使AL=05H的是( )。A、NOT ALB、AND AL,0FHC、XOR AL,0FHD、OR AL,0FH66、下列指令中操作数在代码段中的是( )。A、MOV AL,42HB、ADD AL,BL C、SUB BX,DID、INC DI67、表示过程定义结束的伪指令是( )。A、ENDSB、ENDC、ENDMD、ENDP 69、以寄存器DI间接寻址的存储器字节单元内容加1的指令是( )。A、INC DIB、INC DIC、ADD DI,1D、INC BYTE PTRDI70、指令SCASB操作数的段地址一定在( )寄存器中。A、DSB、ESC、SSD、CS71、转移指令JMP NEAR PTR PROCA的转移范围是( )。A、8000H7FFFHB、7FFFH0FFFHC、80H7FHD、0FH7FH72、串操作指令中,每次操作后使SIDI为减量应设置( )。A、DF=0B、TF=1C、DF=1D、TF=0 73、指令MUL CX是将( )。A、(CX,AX)(AX)(CX)B、(AX,CX)(AX)(CX)C、(DX,AX)(AX)(CX)D、(AX,BX)(AX)(CX)74、下列指令中,( )指令影响8086标志寄存器的标志位。A、MOVB、NOTC、XCHGD、TEST75、指令TEST AL,02H的含义是( )。A、测试AL是否等于02HB、测试AL第2位状态C、测试AL第1位状态 D、将AL与02单元的各位进行测试76、某存储单元的物理地址是12345H,可以作为它的段地址有( )。A、2345HB、12345HC、12340HD、1234H77、AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是( )。A、指令XOR AX,AX执行后,AX内容不变,但设置了标志位B、指令AND AX,0FH执行后,分离出AL低四位C、指令OR DX,1000H执行后,将DX最高位置1,其余各位置0D、NOT AX,执行后,将AX清078、下面有语法错误的指令是( )。A、LDS BL,VARSIB、LEA BX,VARSIC、LES DI,VARBXD、LEA DI,VARBP 79、无条件转移指令JMP实现段间间接转移,转移的目标地址在( )。A、某个16位通用寄存器中B、两个16位通用寄存器中C、某个字存储单元中D、某个双字存储单元中80、8088/8086存储器分段,每个段不超过( )。 A、64K个字B、32K个字节 C、1兆个字节D、64K个字节81、若AX=-15要得到AX=15应执行的指令是( )。A、NEG AXB、NOT AXC、INC AXD、DEC AX82、已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是( )。A、20250F2AB、210800EA C、2000017AD、2100117A83、用REPE SCASB指令对字符串进行扫描,如CX0时,扫描结束,那么表示( )。A、在字符串中有一个AL中指定的字符B、在字符串中遇上第一个AL中指定的字符 C、在字符串中遇上第一个不是AL中指令的字符 D、在字符串中有一个不是AL中指定的字符84、将AX中有符号数除以2的正确指令是( )。A、SHR AX,1B、SAR AX,1C、ROR AX,1D、RCR AX,185、执行1号DOS系统功能调用,从键盘输入的字符值存放在( )寄存器中。A、ALB、BLC、CLD、DL86、将CX寄存器低4位清零的正确指令是( )。A、AND CX,0F0H B、AND CX,0FFF0HC、AND CX,1110H D、MOV CX,087、设物理地址(21000H)=20H,(21001H)=30H,(21002H)=40H。如从地址21001H中取出一个字的内容是( )。A、2030HB、3040HC、3020HD、4030H88、下列寄存器中用来指示堆栈中任意数据区的偏移地址的是( )。A、BXB、BPC、SID、DI89、设AL=57H,BL=24H,执行指令SUB AL,BL后,寄存器内容为( )。A、AL=57H,BL=24HB、AL=33H,BL=24HC、AL=57H,BL=33HD、AL=33H,BL=090、下列指令执行后影响CF值的是( )。A、DECB、XCHGC、LEAD、SHL91、CPU要访问的某一存储单元的实际地址称( )。A、段地址B、偏移地址C、物理地址D、逻辑地址92、汇编语言指令中唯一不可缺少的部分是:( )。A、标号名字B、助记符C、操作数D、注释93、中断服务程序入口地址占用( )个字节。A、 4B、6C、2D、194、有语句:COUNT EQU 256,下列四种叙述中,正确的是( )。A、COUNT是变量 B、COUNT占用一个字节存储单元C、COUNT是符号常数 D、COUNT占用二个字节存储单元95、( )环境下,可以对源程序进行汇编、修改和执行。A、LINKB、MASMC、DOSD、DEBUG96、下列四条指令中错误的是( )。A、MOV AX,SIB、MOV AX,DIC、MOV AX,SI+DID、MOV AX,SI-1097、执行下列( )指令后,就能用条件转移指令判断AL和BL寄存器中的最高位是否相同? A、TEST AL,BLB、CMP AL,BLC、AND AL,BLD、XOR AL,BL 98、下列四条指令执行后不影响标志位的是( )。A、JNC NEXTB、CMP AX,BXC、SHL AX,1D、OR AL,AL99、定义宏指令的伪指令是( )。A、PROC和ENDPB、CODE和ENDSC、EQU和ENDD、MACRO和ENDM100、在下列寄存器中,代码段寄存器是( )。A、DSB、ESC、CSD、SS101、有数据定义语句BUF DW 0ABH,1,10 DUP(3 DUP(1,0),2)汇编后,为变量BUF分配的存储单元字节数是( )。A、48H B、90H C、120 D、60102、若有BUF DW 1,2,3,4。则可将数据02H取到AL寄存器中的指令是:( )。A、MOV AL,BYTE PTRBUF1B、MOV AL,BYTE PTRBUF2C、MOV AL,BYTE PTRBUF3D、MOV AL,BYTE BUF2103、指令指针寄存器是( )。A、IPB、 SPC、BPD、PSW 104、下列指令执行后总是使CF0,OF0的是( )。A、ANDB、NEGC、NOTD、INC 105、确定下列哪些数据在汇编语言中是非法的( )。A、F3HB、10101010BC、123D、137Q106、现用数据定义伪指令定义数据:BUF DB4 DUP(0,2 DUP(1,0)问定义后,存储单元中有数据0100H的字单元个数是( )。A、4B、3C、8D、12107、计算机系统由()组成。A、硬件系统和软件系统 B、系统硬件和系统软件C、CPU和系统软件 D、操作系统和主机108、8086/8088微处理器中,既可作为16位寄存器也可分为两个8位寄存器用的寄存器是( )。A、BP SP SI DIB、AX BX CX DXC、CS DS SS ESD、AX BX SI DI109、用DEBUG调试汇编语言程序时,显示某指令的地址是2F80:F400,此时段寄存器CS的值是( )。A、F400HB、2F80HC、F4000HD、2F800H110、已知AX=0001H,下列四条指令执行后,不能使ZF=1的语句是( )。A、DEC AX B、SUB AX, 1 C、AND AX , 1 D、CMP AX,1111、设DS=8225H,DI=3942H,指令MOV BX,DI源操作数的物理地址是( )。A、85B92HB、86192HC、BB690HD、12169H112、如果内存中某一单元的逻辑地址为2318H:0035H,它的段地址、偏移地址及物理地址是( )。A、2318H、0035H、231B5HB、2318H、0035H、234DHC、23180H、0035H、23215HD、2318H、00350H、2668H113、存储单元有惟一的物理地址,但可用不同段地址和偏移地址表示。若存储单元的物理地址是88D52H,则下面( )的表示是正确的。A、8561H:3742HB、8561H:3752HC、85610H:3742HD、3752H:85610H114、控制寄存器是指()A、BP SPB、SP IPC、SI DID、IP FLAGS115、FLAGS寄存器中,属于控制标志位的是()A、CF AF PFB、DF IF TFC、OF SF ZFD.DF OF CF116、用DEBUG调试汇编语言程序时,显示某指令的地址是2F80:F400,此时段寄存器CS的值是( )。A、F400HB、2F80HC、F4000HD、2F800H117、设DS=1100H,(12000H)=80H,(12001H)=20H,(12002H)=30H,执行MOV AX, 1000H则AX=( )。A、8000HB、0080HC、2080HD、8020H 118、CPU与存储器之间的信息交换使用的是()A逻辑地址B有效地址C物理地址D相对地址119、若各段地址分配如下:数据段为1K,代码段为4K,堆栈为8K,附加段为16K。若从10000H开始分段,各段依次相连,段地址寄存器的值是()A、DS=1000H CS=1040H SS=1140H ES=1340HB、DS=1000H CS=1010H SS=1150H ES=13D0HC、DS=1000H CS=1040H SS=1050H ES=13D0HD、DS=1000H CS=1040H SS=1200H ES=1400H120、有指令MOV AX,1234H,指令中的立即数1234H是存储在( )。A、数据段B、代码段C、附加段D、堆栈段二、填空题循环程序可由循环初始化、循环体、循环控制三部分组成。循环初始化、循环体、循环控制在存取一个存储器操作数时,段地址必须由相应的段寄存器提供。相应的段寄存器ARRAY DB 0,2 DUP(1,2),0,3汇编时生成的数据依次是 。0,1,2,1,2,0,3设BX=1152H,偏移量D=3568H,那么指令 “ADD DBX,AL”中目的操作数的有效地址EA= 。46BAH在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是CMPS或SCAS才有实际意义。CMPS、SCAS有指令MOV CL,N完成将一个有符号数送入CL,要使该指令合法,则N的最大值是 127 ,最小值是 -128。(用十进制表示)127,-128中断INT 12H 在中断向量表中的物理地址是48H、49H、 4AH和4BH。48H、49H、4AH、4BH“=”和“EQU”两条伪指令有相同的功能,它们之间的区别是EQU伪指令不允许对符号名重复定义。EQU在汇编语言源程序文件中,每一个段都有段定义伪指令SEGMENT和ENDS来分段。SEGMENT存储器的存储单元的物理地址由两部分组成,它们是 和 。段地址、偏移地址/有效地址/EA(3种写法均可以)偏移地址可由各种成份组成,也称为有效地址,用EA表示。有效地址、EA取指令时,默认的段寄存器是 CS ,堆栈操作时,默认的段寄存器是 SS ,通用数据读写,默认的段寄存器是DS ,目的串操作时,默认的段寄存器是 ES ,以BP作为基地址进行存取方式时,默认的段寄存器是 SS 。CS、SS、DS、ES、SSDOS系统功能调用中1 号调用的功能是 ;2号调用的功能是 ;9号调用的功能是 ;10号调用的功能是 。 输入一个字符、显示一个字符、显示一个字符串、输入一个字符串CF是程序状态字寄存器中的 标志位,ZF是 标志位,SF是 标志位。进位、零、符号要将二进制数10100110B输出到端口25H,可用MOV AL,10100110B 和OUT 25H,AL两条语句来实现。MOV AL,10100110B、OUT 25H,AL汇编语言源程序在计算机上不能直接运行,必须经过 和 后才能形成一个可执行文件。编译、链接8086/8088CPU中,有二个变址寄存器,分别是 SI 和 DI 。SI、DI在8086/8088系统中,存储器是分段的,每段最大长度是 64K 字节。64K内存的地址区域从00000H开始为中断向量表。00000H子程序的参数传送方式有寄存器 、 地址表 、 堆栈 等。寄存器参数传送方式、地址表参数传送方式、堆栈参数传送方式子程序调用和返回是通过指令 和 来实现的。CALL、RET逻辑运算指令都是按位操作的,其中 NOT 指令执行后不影响任何标志位,其他指令执行后,标志位 CF 和 OF 一定是0。NOT、CF、OF在1M字节的存储器中,每个存储单元都有一个唯一的 位地址(二进制形式),称为该物理单元的物理地址。20若(SP)=0FFFFH,则指令POP AX执行后,(SP)=0001H0001Hn位补码的表数范围为: N 。 2n-1、2n-1-1指令MOV AX,SEG BUF的执行,是把BUF所在的段地址送到AX中。BUF所在的段地址当标志位 CF =1时表示无符号数运算产生溢出,而当标志位 OF =1是表示带符号数运算产生溢出。CF、OF外中断有两种类型,分别是 可屏蔽中断和 非屏蔽中断可屏蔽中断、非屏蔽中断已知DS=29A0H,某数据的物理地址是2A400H,则当DS=6700H时,该数据的物理地址是 67A00H67A00H要将二进制数10100110B输出到端口25H,可用 和 两条语句来实现。MOV AL,10100110B;OUT 25H,AL中断INT 10H 在中断向量表中的物理地址是 、 、 和 。40H,41H,42H,43H在汇编语言源程序文件中,每一个段都有段定义伪指令 SEGMENT 和ENDS来分段。SEGMENT汇编语言源程序在计算机上不能直接运行,必须经过编译 和 连接 后才能形成一个可执行文件。编译,连接一条指令由 操作码 和操作数 两部分组成。操作码,操作数子程序的调用和返回是通过指令 CALL 和RET 来实现的。CALL,RET8086/8088指令系统中,所有指令的目的操作数均不能为 立即 寻址方式。立即1、现有数据定义伪指令如下,写出对应的数据在存储单元中的存放形式。 BUF1 DB 01,52H BUF2 DW 3 DUP(?,0) BUF3 DB 2 DUP(0,2DUP(1,2),3)BUF1 BUF2 BUF3 BUF10152BUF2 - - 0 0 - - 0 0 - - 0 0BUF3 0 1 2 1 2 3 0 1 2 1 2 32有两个16位数1000H和ABCDH分别存放在内存10000H和10004H单元中,试用图表示他们在内存中的存放情况。3若在内存中建立50个字的数据区,其起始地址为1000:0100,试给出数据区第一个字单元和最后一个字单元的物理地址。解:第一个字的物理地址=1000H*10H+0100H=10100H最后一个字的物理地址=10100H+(50-1)*2=10162H4、什么是伪操作?简述伪指令和指令的区别?答:伪操作是汇编程序对源程序进行汇编时处理的操作,完成处理器选择、存储模式定义、数据定义、存储器分配、指示程序开始结束等功能。伪指令和指令的区别在于,每一条指令必须生成机器代码,然后在程序运行期间由CPU来执行其操作;而伪指令是在汇编期间由汇编程序执行的操作命令,除了数据定义及存储器分配伪指令分配存储器空间外,其它伪指令不生成目标码。5、已知AX=1234H,CX=0302H,CF=0,指出下述指令执行后的结果及标志位CF、SF、ZF、OF的值分别是多?解:1234H+0302H=1536H,指令执行后,AX的值为1536H。没有产生进位,CF=0;结果为正数,SF=0;结果不等于0,故ZF=0;两正数相加,结果为正,故无溢出,OF=0。6、在0624H单元内有一条二字节JMP SHORT OBJ指令,如其中位移量为(1)27H,(2)6BH,(3)0C6H,试问转向地址OBJ的值是多少?(要有计算过程)(1)0624H+2H+27H=064DH(2)0624H+2H+6BH=0691H(3)0624H+2H+0FFC6H=05ECH7、求出15F4H减去4EA0H之差,并根据结果设置标志位SF、ZF、CF和OF的值。15F4H-4AE0H=0C754H,其中 SF=1 ZF=0 CF=1 OF=08、如TABLE为数据段中0032单元的符号名,其中存放的内容是1234H,试问以下两条指令有什么区别?指令执行完后BX寄存器的内容是什么?(5分)(1)MOV BX,TABLE(2)LEA BX,TABLEMOV指令是数据传送指令,是将TABLE对应的存储单元中的内容送入BX,因此,指令执行完后BX的内容为1234H,而LEA指令是地址传送指令,是将TABLE的偏移地址传送给BX,因此,指令执行完后BX的内容为0032H。9、请简述指令JMP DI和JMP DI的相同点与不同点。这两条指令都是无条件的段内间接转移指令,不同的是JMP DI采用的寄存器寻址方式,转移到以(DI)内容为偏移地址的单元去执行指令;而JMP DI则采用的是寄存器间接寻址方式,转移到以(DI)间接寻址的内存单元内容为偏移地址的单元去执行指令。10、宏指令与子程序有什么不同之处?宏指令实际上就代表了它对应的一组指令。对程序中出现的宏指令进行汇编时,这条宏指令被它对应的一组指令所代替。如果程序中多次使用宏指令,就等于多次重复拷贝了这个指令组,占用的内存随之增加。调用子程序通过执行CALL指令实现,存在“主程序”与“子程序”之间的两次控制转移。使用宏指令不存在控制转移的过程。使用子程序和宏指令都可以提高编程效率。子程序占用固定大小的存储空间,被主程序调用时,空间不会随调用次数而增加。但是,宏指令占用存储空间会随着使用次数的增加而增加。11、求出16进制数4321H与62A0H的和,并根据结果设置标志位SF、ZF、CF和OF。 4321H+62A0H=A5C1H,其中SF=1,CF=0,ZF=0,OF=112、程序分析题MOV AX,1234HMOV BX,AXNEG BXADD AX,BX请写出以上程序段执行后,(AX)=?,(BX)=?,CF=?参考答案(AX)0,(BX)0EDCCH,CF113、设某数据段:DATA SEGMENTORG 20HNUM1=8NUM2=NUM1+10HDA1 DB COMPUTER DB 0AH,0DHCOUNT EQU $-DA1DA2 DW CO,MP,UT,ERDATA ENDS试回答:1)DA1的偏移地址是多少?2)COUNT的值是多少?3)DA2+5字节单元的内容是多少?参考答案: 1)20H 2)0AH 3)U的ASCII码14、DA_B DB 0CH,9,8,0FH,0EH,0AH,2,3,7,4 XOR AX,AX XOR CL,CL XOR BX,BX LOP: TEST DA_BBX,01H JE NEXT ADD AL,DA_BBX INC AH NEXT:INC BX INC CL CMP CL,10 JNE LOP 上述程序段运行结束后,AH=_4_,AL=_34_。如果把”JE NEXT“指令改为“JNE NEXT“指令,那么AH=_6_,AL=_50_。参考答案4、AH4,AL34;AH6,AL5015、分析下面程序,回答指定问题:MOV AX,DXNOT AXADD AX,DXINC AX试回答:(AX)= ,(ZF)= 。(0,1)16、BUF DW 0000HLEA BX,BUFSTC RCR WORD PTRBX,1MOV CL,3SAR WORD PTRBX,CL问:该程序段执行后,存储单元BUF的内容为 。(0F000H或十进制数-4096)17、BLOCKDB20,1FH,08H,81H,0FFH RESULT DB?START:LEASI,BLOCK MOVCX,SI INCSI MOVAL,SILOP1: CMPAL,SI+1 JNGNEXT MOVAL,SI+1NEXT: INC SI LOOP LOP1 MOVRESULT,AL HLT问:(1)该程序完成的功能是 ;(2)该程序的循环次数是 。(从BLOCK数组中找出最小数,并送入RESULT单元;循环次数为20)18、MOVAX,00FFHMOVBX 0FFFFHXORAX,BXNEGAX问:该程序段执行后,AX= ,CF= 。(0100H (CF)=1)19、MOV BX,1234HMOVAX,BXNEGAXADDAX,BX问:该程序段执行后,AX= ,CF= 。(0000H,1)20、MOVAL,01H RORAL,1 OR AL,AL NEGAL上述程序段执行后,AL= ,CF= 。(AL=80H, CF=1)21、已知有如下指令MOV AX,AAND AX,0FF0HMOV A,AXOR A,000FH1)以上指令实现的功能是什么?2)若已知(A)=2525H,那么执行以上指令后,(A)=?3)若已知(A)=5252H,那么执行以上指令后,(A)=?1)将A高4位清0,低4位置1;2)(A)=052FH,3)(A)=025FH22、设AL中高低4位分别有大于7的数, MOV AH,AL AND AH,88H MOV AL,AH OR AL,11H程序段运行后,AH=_,AL=_。AH=88H(2分),AL=99H23、设DS=4000H,DI=0,内存单元4000F40013H内容依次为02H,00H,38H,01H和40H,执行下面程序段后,(DS)=?,(CL)=?,(BX)=?MOV SI,DI+0FHMOV BX,DI+10HMOV AX,DI+12HMOV DS,AXMOV CL,SI+1(DS)=4001H,(CL)=40H,(BX)=3800H24、XOR AX,AXMOV BX,2MOV CX,10LP:ADD AX,BXADD BX,2LOOP LP1)该程序段的功能是什么?2)程序执行后,(AX)=?,(BX)=?,(CX)=?2、1)实现求2+4+20的和;2)(AX)=110;(BX)=22;(CX)=025、阅读以下程序代码,分析:MOV BX,1 XOR AX,AX MOV CX,5 NEXT:ADD AX,BX INC BX LOOP NEXT上述程序段执行后AX=_;BX=_。(AX)=000FH,(BX)=0006H26、阅读以下程序代码,分析:XORDL,DL A:CMP AX,0JZ BYE SHL AX,1 JNCB INCDL B:JMPA BYE:试说明该程序段完成的功能。该程序段完成的功能是统计AX中1的个数。27、试分析下面的程序段完成什么功能?MOV CL,04SHL DX,CLMOV BL,AHSHL AX,CLSHR BL,CLOR DL,BL程序功能:将(DX)(AX)中双字内容左移4位。28、DA1 DB 01234DA2 DB 5DUP(0) MOV SI,0 MOV CX,5LOP:MOV AL,DA1SIADD AL,11HOR AL,01HMOV DA2 SI,ALINC SILOOP LOP1) 程序执行完后,写出DA2各字节的数据。2) 程序中MOV AL,DA1SI指令的操作数是什么寻址方式?1)41H,43H,43H,45H,45H;2)寄存器相对寻址29、在某子程序的开始处要保护AX、BX、CX、DX四个寄存器信息,在子程序结束时要恢复这四个寄存器信息。例如:PUSH AXPUSH BX ;保护现场PUSH CXPUSH DX;恢复现场试写出恢复现场时的指令序列。POP DXPOP CXPOP BXPOP AX30、指出下列指令源操作数的寻址方式:MOV AX,ES:BX寄存器间接寻址方式MOV AX,20BXSI相对基址变址寻址方式MOV AX,ARRAY直接寻址方式MOV AX,BXDI基址变址寻址方式MOV AX,1200H立即寻址方式程序填空题1、下述程序段完成计算220之间的偶数的和,并将结果存于AX中,试把空白处填上适当的指令(每一空白只填一条指令)XOR AX,AXMOV BX,0MOVCX,11CONT:ADD AX,BXADDBX,2 LOOP CONT(第一空MOVCX,11,第二空ADDBX,2)2、下面程序段判断A单元的有符号数,并根据其值小于0,等于0,大于0,分别将0FFH,00H,01H送入B单元中。在空白处填上适当的指令(每一空白处只填一条指令)MOV AL,ACMP AL,0 JLEAA MOV B,1 JMPDONEAA:JL BBMOV B,0JMP DONEBB:MOV B,0FFHDONE:HLT(第一空JLEAA,第二空JMPDONE)3、下列程序段的功能是把09的数据转换为相应的ASCII码。请在每个空白处填上一条指令。DAT DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09HASC DB 10 DUP(?)COUN=ASC-DATLEA SI,DATLEA DI,ASCMOVCX,10 LOP:MOV AL,SI ADDAL,30H MOV DI,ALINC SIINC DILOOP LOPHLT(第一空MOVCX,10,第二空ADDAL,30H或ORAL,30H)4、下面程序完成将0100H开始的100个字节数据搬移到从0180H开始的存储单元中,设DS、ES已设置好且其值相等。在每个空白处填上一条适当的指令。MOV SI,0100HMOV DI,0180H MOV CX,100 CLD REP MOVSB (参考答案MOV CX,100、REP MOVSB)5、设字符串的段地址、偏移地址和长度已经分别存于DS、SI和CX中,要统计其中字符“P”的个数,并存于DL中。试把空白处填上适当的指
展开阅读全文