汇编语言复习题
- 格式:doc
- 大小:69.50 KB
- 文档页数:8
汇编语言程序设计复习题一、单项选择题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。
《汇编语言》试卷一、单选题(每题1分,共20分)1.CPU在读取指令时,实际读到的是什么?()A.伪指令和汇编指令所对应的字符串B.用汇编语言写的源程序中的信息C.由一系列二进制位组成的信息D.汇编指令所对应的字符串2.关于编译和连接,错误的说法是()。
A.编译产生的*.obj文件不能在操作系统下直接运行B.连接产生的*.exe文件里面没有伪指令C.编译可以检查出语法错误D.连接可以检查出逻辑错误3.CPU传递到地址总线上的地址是()。
A.逻辑地址B.偏移地址C.物理地址D.段地址4.一条将立即数赋值给寄存器的指令,在执行的前一刻,指令中的立即数在()中。
A.通用寄存器B.端口C.内存D.CPU内部的指令缓冲器5.关于8086CPU的几个寄存器,正确的说法是()。
A.可将BX当成两个8位寄存器,在偏移地址范围为0~255时,可以用“mov ax,[bl]”来实现将内存中的数据读到ax中B.可以用“byte ptr”实现将SI当成两个8位寄存器使用C.可将AX、BX、CX、DX当成8个8位寄存器使用D.AX、ah、al是不同的寄存器,指令“add al,bl”的执行不会影响AX的值6.对于16位结构的CPU,其应有的特征不包括()。
A.寄存器最大宽度是16位B.寄存器与运算器之间的通路为16位C.运算器一次处理的数据的最大宽度为16位D.地址总线宽度是16位7.下列与8086CPU寻址相关的说法,错误的是()。
A.8086CPU有20根地址总线,它的寻址能力为1MBB.一个物理地址可以对应多个段地址与偏移地址C.因为段寄存器是16位,所以一个段最大为64KBD.CPU内部有一个能合成20位地址的地址加法器8.8086CPU读取、执行指令的过程是()。
①从CS:IP指向的内存空间读取指令,将指令放入指令缓冲器②执行指令,转到步骤①③IP指向下一条指令A.①、②B.①、③、②C.若指令是转移指令,过程为①、③、②,不是则过程为①、②D.若指令是转移指令,过程为①、②,不是则过程为①、③、②9.对于8086CPU,错误的指令是()。
汇编语言选择题及填空题复习部分已填写答案的汇编语言复习题一、选择题1.设A=0.4H,B=0.8H,C=0.4,D=0.4Q,它们之间的关系是( C)A. C+D=BB. A+D=BC. B=DD. A>C>D2.标志寄存器中属于控制标志位的是(B )A.DF,OF,SFB.DF,IF,TFC.OF,CF,PFD.AF,OF,SF3.8088/8086存储器分段,每个段不超过()A.64K个字B.32K个字节C.1兆个字节D.64K个字节4.设AL中已有压缩型BCD码,为实现对AL的减1操作,可选用的指令序列是()A.DEC ALB.SBB AL,0C.SUB AL,1D.SUB AL,1AAS DAS AAS DAS5.若AX= - 15要得到AX=15应执行的指令是()A.NEG AXB.NOT AXC.INC AXD.DEC AX 6.8086/8088系统执行传送指令MOV时()A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志7. MOV AL,79ADD AL,0B1H上面指令执行后,设置的标志位 CF和OF的值是()A.CF=0,OF=1B.CF=1,OF=1C.CF=0,OF=1D.CF=1,OF=08.已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是()A.DIV BXB.CWDC.XOR DX,DXD.CBWIDIV BX DIV BX IDIV BX 9.下列指令中操作数在代码段中的是()A.MOV AL,42HB.ADD AL,BLC.SUB [BX],DID.INC [DI]10.用REPE SCASB指令对字符串进行扫描,如CX>0时,扫描结束,那么表示()A.在字符串中遇上第一个AL中指定的字符B.在字符串中有一个AL中指定的字符C.在字符串中有一个不是AL中指定的字符D.在字符串中遇上第一个不是AL中指令的字符11.下列指令执行后对源和目的操作数均无影响的是()A.MOV [BX+2],AXB.SUB AX,2467HC.SBB [SI],BXD.CMP AX,BX12.表示过程定义结束的伪指令是()A.ENDPB.ENDSC.ENDD.ENDM13.下列有语法错误的语句是()A.DB 12HB.DW 4567HC.DD ˋBCDˊD.DB ˋCDˊ14.DB1 DB 8 DUP(2 DUP(3),3 DUP(2))┇MOV AX,WORD PTR DB1 [04H]上面指令执行后,AX的内容是()A.0302HB.0203HC.0202HD.0303H15.BUF1 DB 3 DUP(0,2 DUP (1,2),3)COUNT EQU $ - BUF1符号COUNT等价的值是()A.6B.18C.16D.816.DA1 DW 2A05HDA2 DB 0FAH┇MOV AL,BYTE PTR DA1SUB DA2,AL上述指令执行后,DA2中的内容是()A.0DAHB.0FAHC.0F5HD.0D0H17.设(SS)=338AH,(SP)=450H,执行PUSH BX,和PUSHF两条指令后,堆栈顶部的物理地址是()A.33CECHB.33CF2HC.33CF4HD.33CE8H18.设(SP)=0028H,执行段内返回指令RET 6后,SP的内容是()A.0036HB.0022HC.0030HD.0020H19.条件转移指令JNBE产生转移的条件是()A. CF=0 AND ZF=0B. CF=0 AND ZF=1C. CF=1 AND ZF=0D. CF=1 AND ZF=120.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是( )。
汇编语言复习题附答案一、选择题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.CPU要访问的某一存储单元的实际地址称()。
A.段地址B.偏移地址C.物理地址D.逻辑地址2.某存储单元的物理地址是12345H,可以作为它的段地址有()。
A.2345H B.12345HC.12340H D.1234H3.执行后使BX=0的同时也使CF=0,OF=0的指令是()。
A.XOR BX,BX B.OR BX,BXC.AND BX,BX D.CMP BX,BX4.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是()。
A.CX≠0且ZF=1 B.CX≠0且ZF=0C.CX≠0或ZF=1 D.CX≠0或ZF=05.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是()。
A.指令XOR AX,AX执行后,AX内容不变,但设置了标志位B.指令OR DX,1000H执行后,将DX最高位置1,其余各位置0C.指令AND AX,OFH执行后,分离出AL低四位D.NOT AX,执行后,将AX清06.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是()。
A.ADD BH,01H B.OR BH,01HC.XOR BH,01H D.TEST BH,01H7.完成对CL寄存器的内容乘以4的正确操作是()。
A.ROL CL,1 B.MUL 4ROL CL,1C.SHL CL,1 D.MOV CL,2SHL CL,1 SHL CL,CL8.下面各传送指令中,正确的是()。
A.MOV [DI],[SI] B.MOV[DX+DI],ALC.MOV WORD PTR [BX],0100H D.MOV AL,BX9.要实现使BETA的值为56,应采用语句为()。
A.BETA DB 56 B.BETA DB 56HC.BETA EQU 56 D.BETA EQU 56H10.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为()。
A.ZF=1 B.ZF=0C.SF=1 D.SF=011.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是()。
汇编语言复习题一、单项选择题(在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
每小题1分,共20分)1、设DS=8225H,DI=3942H,指令NEG BYTE PTR [DI]操作数的物理地址是()。
A、85B92HB、86192HC、BB690HD、12169H2、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是()。
A、AX,BX,CX,DXB、BX,BP,SI,DIC、SP,IP,BP,DXD、CS,DS,ES,SS3、循环指令LOOPNZ终止循环的条件是()。
A、CX=0,且ZF=0B、CX=0,或ZF=1C、CX≠0,且ZF=0D、CX≠0,或ZF=14、对寄存器AX的内容乘以4的正确指令序列是()。
A、SHR AX,1SHR AX,1B、SHL AX,1SHL,AX,1C、ROL AX,1ROL AX,1D、RCR AX,1RCR AX,15、执行INC指令除对于SF、ZF有影响外,还要影响的标志位是()。
A、OF,AF,PFB、OF,AF,CFC、OF,PF,CFD、AF,PF,CF6、设DH=10H,执行NEG DH指令后,正确的结果是()。
A、DH=10HCF=1B、DH=10HCF=0C、DH=10HCF=0D、DH=0F0H7、下列传送指令中有语法错误的是()。
A、MOV CS,AXB、MOV DS,AXC、MOV SS,AXD、MOV ES,AX8、下面指令执行后,改变AL寄存器内容的指令是()。
A、TEST AL,02HB、OR AL,ALC、CMP AL,BLD、AND AL,BL9、执行除法指令后,影响的标志位是()A、CF,OFB、SF,ZFC、CF,OF,SFD、AF,CF,OF,PF,SF,ZF都不确定10、执行下面指令序列后,结果是()。
MOV AL,82HCBWA、AX=0FF82HB、AX=8082HC、AX=0082HD、AX=0F82H11、与MOV BX,OFFSET V AR指令完全等效的指令是()。
一、选择1.下面指令执行后,改变AL寄存器内容的指令是( D )。
A.TEST AL,02HB.OR AL,ALC.CMP AL,BLD.AND AL,BL2.对寄存器AX的内容乘以4的正确指令序列是( B )。
A.SHR AX,1 /SHR AX,1B.SHL AX,1/ SHL,AX,1C.ROL AX,1 /ROL AX,1D.RCR AX,1/ RCR AX,13.设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( A )A.85B92HB.86192HC.BB690HD.12169H4.指令JMP FAR PTR DONE属于 CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址5.将DX的内容除以2,正确的指令是 CA.DIV 2 B.DIV DX,2 C.SAR DX,1 D.SHL DX,16.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有( D )。
A.CMPB.SUBC.ANDD.MOV7.下列指令执行后既能使AX=0同时又使CF=0,OF=0的是A。
A.XOR AX,AXB.AND AX,AXC.OR AX,AXD.TEST AX,08.假设执行ADD指令后AX=006EH,再执行AAA指令,AX中的值是( B )A. 14HB. 0104HC. 74HD. 04H9.用MOV指令将十进制数89以非压缩BCD码格式存入AX,可使用的指令是( D )A. MOV AX,89B. MOV AX,0809C. MOV AX,89HD. MOV AX,0809H10.下列语句中能与“DA1 DB 32H,34H”语句等效的是( A )A. MOV DA1,32HB. MOV DA1,32C. MOV WORD PTR DA1,3234HD. MOV WORD PTR DA1,‘24’MOV DA1+1,34H MOV DA1+1,3411.设NUM1 EQU 100NUM2 =64H 下面指令执行后,BL中全为1的指令是 D 。
汇编语言期末复习题一、单项选择题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、存储器地址为什么要分段?物理地址是如何形成的?2、IBM PC机的寻址方式(与数据有关的寻址方式)有几种?各举一例说明。
3、80x86微机的存储器中存放信息如下图所示。
试读出30022H与30024H字节单元的内容与30021H和30022H字单元的内容。
4、现有(DS)=2000H,(BX)=0100H,(SI)=0002H, (20100)= 12H, (20101)=34H, (20102)= 56H, (20103)=78H, (21200)=2AH, (21201)= 4CH, (21202)=B7H, (21203) = 65H,试说明下列各条指令执行完后AX的内容。
1)MOV AX,1200H2)MOV AX,BX3)MOV AX,[1200H]4)MOV AX,[BX]5)MOV AX,1100[BX]5、完成下列各式补码数的运算,并根据结果设置标志位SF,CF,ZF,OF,指出运算结果是否有效1)01001001b+10011101b2)01000001b-10101011b6、有符号定义语句如下:BUFF DB 1,2,3,’123’EBUFF DB 0L EQU EBUFF-BUFF问L的值为多少?为什么?答案:1、IBM PC系列机的字长为16位,能够访问的最大存储空间64KB,而在IBM PC内存为1MB的情况下,访问这1MB的存储空间需要20位。
为了解决字长为16位的机器访问1MB的存储空间,将1MB空间每16B分为一段,共64K段,以16位段地址:16位偏移地址的形式组成,物理地址通过如下方式计算:物理地址=段地址×10h + 偏移地址2、IBM PC机的寻址方式有7种:1)立即寻址:MOV AX, 1234H;2)寄存器寻址:MOV AX, BX;3)直接寻址:MOV AX, [1234H];4)寄存器间接寻址:MOV AX, [BX];5)寄存器相对寻址:MOV AX, 20H[BX];6)基址变址寻址:MOV AX, [BX][SI];7)相对基址变址寻址:MOV AX, 100H[BX][SI];3、解:(30022H)= 12H(30024H) = 56H(30021H) = 12CDH(30022H) = 3412H4、解:(1)MOV AX,1200H解:(AX)=1200H(2)MOV AX,BX解:(AX)= 0100H(3)MOV AX,[1200H]解:物理地址=(DS)×10H+1200H(AX) = 4C2AH(4)MOV AX,[BX]解:物理地址=(DS)×10H+0100H=20100H(AX)=3412H(5)MOV AX,1100[BX]解:物理地址=(DS)×10H+0100H+1100H=21200H(AX)=4C2AH5、(1)01001001b+10011101b解:01001001+10011101————————11100110 由此可得:SF=1 CF=0 ZF=0 OF = 0 计算结果有效(2)01000001b-10101011b解:01000001-10101011————————=> 01000001+ 01010101————————10010110 由此可得:SF=1 CF=1 ZF=0 OF=1减法计算中,被减数、减数符号相反,结果符号与减数相同,OF=1计算结果无效6、有符号定义语句如下:BUFF DB 1,2,3,’123’EBUFF DB 0L EQU EBUFF-BUFF问L的值为多少?为什么?解:根据数据段的定义,BUFF长度定义为6个字节,分别存放1,2,3,‘1’,‘2’,‘3’,而后紧接着为EBUFF的地址,故L值为6二、程序题1、MOV BL,64HMOV CL,03HXOR AX,AXAGAIN:ADD AL,BLADC AH,0DEC CLJNZ AGAIN问:(1)该程序段完成的功能是:(2)AX=________。
2、已知数据段中定义DA T1 DB 12H,34H,56H,78HMOV CX,0MOV AX,WORD PTR DA T1MOV CL,DA T1+3当程序段执行完后AX=________,CX=________。
3、DA1 DB 83H,72H,61H,94H,5AH┇MOV CX,WORD PTR DA1AND CX,0FHMOV AL,DA1+3SHL AL,CL上述指令序列执行后,AL=_______,CL=_______。
4、某程序欲用单个字符显示的2号功能调用去显示STRING中的字符串‘COMPUTER’(不显示字符‘$’!).试在空白处填上适当的一条指令。
STRING DB‘COMPUTER’,‘$’MOV BX,0FFSET STRINGLOP:MOV DL,[BX]MOV AH,02HINT 21H________________________________________JNE LOP答案:1、AX=012CH,将AX内容乘3送BX中2、AX=3412H,CX=0078H3、AL=0A0H,CL=03H4、INC BXCMP [BX],24H三、选择题1.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是()A.JNC LOP1B.JA LOP1C.JC LOP1D.JGE LOP12.在下列串操作指令中,同时使用源串和目的串地址指针的指令是()A.STOSW B.LODSWC.SCASW D.CMPSW3.设AL=0AH,下列指令执行后能使AL=05H的是()A.NOT AL B.AND AL,0FHC.XOR AL,0FH D.OR AL,0FH4.DA1 DW‘AB’,‘CD’,‘EF’,‘GH’()┇MOV AX,DA1+3指令执行后AX中的内容是A.‘EF’B.‘CD’C.‘BC’D.‘FC’5.使用DOS系统功能调用时,使用的软中断指令是()A.INT 21 B.INT 10HC.INT 16H D.INT 21H6.CPU要访问的某一存储单元的实际地址称()A.段地址B.偏移地址C.物理地址D.逻辑地址7.某存储单元的物理地址是12345H,可以作为它的段地址有()A.2345H B.12345HC.12340H D.1234H8.执行后使BX=0的同时也使CF=0,OF=0的指令是()A.XOR BX,BX B.OR BX,BXC.AND BX,BX D.CMP BX,BX9.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是()A.指令XOR AX,AX执行后,AX内容不变,但设置了标志位B.指令OR DX,1000H执行后,将DX最高位置1,其余各位置0C.指令AND AX,OFH执行后,分离出AL低四位D.NOT AX,执行后,将AX清010.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH 中,对这进位值的操作应是()A.DAA校正指令的功能已自动加在AH中B.进位值在AF中,校正后根据AF内容再加在AH中C.进位值在CF中,校正后根据CF内容再加在AH中D.进位值在AL最高位上,校正后根据AL最高位内容再加在AH中答案:1. C 2. D 3. C 4. D 5. B6. C 7. D 8. A9. C 10.C四、名词解释题1、机器语言2、汇编语言3、堆栈4、物理地址5、汇编程序6、SP:7、IP:答案:1、机器语言:能被计算直接识别的恶语言;2、汇编语言:用指令的助记符、符号地址、标号等符号书写程序的语言;3、堆栈:以后进先出(或先进后出)方式工作的存储空间;4、物理地址:唯一代表存储空间中每个字节单元的地址;5、汇编程序:把汇编语言程序翻译成机器语言的系统程序。
8、 SP :保存当前栈顶地址的寄存器;9、IP :指示下一条要执行指令的地址的寄存器五、编程题1、试编制一程序段,用串操作指令实现以DA_BY 为首址的20H 个字节单元中存放相同字符‘Y ’(设DA_BY 存储区已有ES 指向)。
2、试编制一源程序,统计DA1字单元中含0的个数,如统计的个数为 奇数,则将进位位置1,否则进位位清0。
DATA SEGMENTDA1 DW XXXXDATA ENDS3、已知在N 到N+i 的存储区内有一ASCII 码字符串(共i+1个),试编写一个汇编语言程序,将此字符串传送到NI 到NI+i 单元中,并使字符串的顺序与原顺序相反。
(只写出关键代码段即可)4、编写程序,求解sum= ∑=1001i ai =a1+a2+…+a100,要求写出完整程序。
5、试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。
只写关键代码段即可。
6、试编写一程序,比较两个字符串STRING1与STRING2所含有的字符是否完全相同,若相同则显示“MATCH ”,如不同则显示“NO MATCH ”,字符串内容自定义,要求写出完整的程序。
答案:1、 LEA DI ,DA_BYMOV CX ,32MOV AL ,‘Y ’CLDREP STOSB 。
2、 CODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DA TAMOV DS,AXLEA SI,DA1MOV CX,16XOR BL,BLAGAIN: MOV AL,[SI]HL AL,1JC NEXTINC BLNEXT:INC SILOOP AGAINTEST BL,01HJNE L1CLCJMP DONEL1: STCDONE: MOV AH,4CHINT 21HCODE ENDSEND START3、解:LEA SI,NLEA DI,NIADD DI,IMOV CX, IADD CX,1MOVE:CLDLODSBSTDSTOSBLOOP MOVE4、解:DATA SEGMENTARR DW a1, a2, a3, a4, a5, a6, …, a100 SUM DW ?DATA ENDSCODE SEGMENTASSUME DS: DATA, CS: CODESTART:MOV AX, DA TAMOV DS, AXLEA BX, ARRMOV CX, 100MOV AX, 0AGAIN:ADD AX, [BX]ADD BX, 2LOOP AGAINMOV AX, 4C00HINT 21HCODE ENDSEND START5、解:BEGIN: MOV AH, 01HINT 21HCMP AL,’a’JB FINCMP AL,’z’JA FINSUB AL, 20HMOV DL, ALMOV AH, 02HINT 21HJMP BEGINFIN: RET6、解:DATA SEGMENTSTRING1 DB ‘HERE YOU ARE’STRING2 DB ‘HERE YOU AER’YES DB ‘MATCH’, 0DH, 0AH, ’$’NO DB ‘NO MATCH’, 0DH, 0AH, ‘$’DATA ENDSCODE SEGEMTNASSUME CS:CODE, DS: DTATSTART:MOV AX, DA TAMOV DS, AXBEGIN:LEA AL, STRING1LEA DL, STRING2MOX CX, STRING2 – STRING1REP CMPSBJNE DISPNOMOV AH, 09HLEA DX, YESINT 21HJMP EXITDISPNO:MOV AH, 09HLEA DX, NOINT 21HEXIT:MOV AX, 4C00HINT 21HCODE ENDSEND START。