汇编语言程序设计练习题
汇编语言程序设计

06年10月一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.CPU要访问的某一存储单元的实际地址称(C )A.段地址B.偏移地址C.物理地址D.逻辑地址2.某存储单元的物理地址是12345H,可以作为它的段地址有(D)A.2345HB.12345HC.12340HD.1234H3.执行后使BX=0的同时也使CF=0,OF=0的指令是(A)A.XOR BX,BXB.OR BX,BXC.AND BX,BXD.CMP BX,BX4.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是( B )A.CX≠0且ZF=1B.CX≠0且ZF=0C.CX≠0或ZF=1D.CX≠0或ZF=05.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是()A.DAA校正指令的功能已自动加在AH中B.进位值在AF中,校正后根据AF内容再加在AH中C.进位值在CF中,校正后根据CF内容再加在AH中D.进位值在AL最高位上,校正后根据AL最高位内容再加在AH中6.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是( C )A.指令XOR AX,AX执行后,AX内容不变,但设置了标志位B.指令OR DX,1000H执行后,将DX最高位置1,其余各位置0C.指令AND AX,OFH执行后,分离出AL低四位D.NOT AX,执行后,将AX清07.在执行下列指令时,需要使用段寄存器DS的指令是( D )A.STOSWB.ADD AL,CLC.NEG BXD.INC DA[BX]8.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是( B )A.ADD BH,01HB.OR BH,01HC.XOR BH,01HD.TEST BH,01H9.完成对CL寄存器的内容乘以4的正确操作是( C )A.ROL CL,1B.MUL 4ROL CL,1C.SHL CL,1D.MOV CL,2SHL CL,1 SHL CL,CL10.下面各传送指令中,正确的是( C )A.MOV [DI],[SI]B.MOV[DX+DI],ALC.MOV WORD PTR [BX],0100HD.MOV AL,BX11.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法( B )A.名字的第一个字符可以是大写英文字母及小写英文字母B.名字的第一个字符可以是字母、数字及?、@、_C.名字的有效长度≤31个字符D.在名字中不允许出现$12.要实现使BETA的值为56,应采用语句为( C )A.BETA DB 56B.BETA DB 56HC.BETA EQU 56D.BETA EQU 56H13.REPZ CMPSW指令,重复执行的终止条件是( A )A.CX=0或ZF=0B.CX=0且ZF=0C.CX=0或ZF=1D.CX=0且ZF=114.下面程序段执行后,AL中的内容是( B )MOV AX,8833HADD AL,AHDAAA.21B.21HC.0C1HD.0DDH15.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为( A )A.ZF=1B.ZF=0C.SF=1D.SF=016.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是( A )A.JNC LOP1B.JA LOP1C.JC LOP1D.JGE LOP117.在下列串操作指令中,同时使用源串和目的串地址指针的指令是()A.STOSWB.LODSWC.SCASWD.CMPSW18.设AL=0AH,下列指令执行后能使AL=05H的是( C )A.NOT ALB.AND AL,0FHC.XOR AL,0FHD.OR AL,0FH19.DA1 D W‘AB’,‘CD’,‘EF’,‘GH’( D )┇MOV AX,DA1+3指令执行后AX中的内容是A.‘EF’B.‘CD’C.‘BC’D.‘FC’20.使用DOS系统功能调用时,使用的软中断指令是( D )A.INT 21B.INT 10HC.INT 16HD.INT 21H二、填空题(本大题共12空,每空0.5分,共6分)请在每小题的空格中填上正确答案。
汇编语言程序设计题目以及答案

一、单项选择题(每小题1分,共20分)1、设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是(A)A、85B92HB、86192HC、BB690HD、12169H2、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(B)A、AX,BX,CX,DXB、BX,BP,SI,DIC、SP,IP,BP,DXD、CS,DS,ES,SS3、循环指令LOOPNZ终止循环的条件是(B)。
A、CX=0,且ZF=0B、CX=0,或ZF=1C、CX10,且ZF=0D、CX10,或ZF=14、对寄存器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,15、执行INC指令除对SF、ZF有影响外,还要影响的标志位是(A)。
A、OF,AF,PFB、OF,AF,CFC、OF,PF,CFD、AF,PF,CF6、设DH=10H,执行NEG DH指令后,正确的结果是(D)。
A、DH=10H CF=1B、DH=0F0H CF=0C、DH=10H CF=0D、DH=0F0H CF=17、下列传送指令中有语法错误的是(A)。
A、MOV CS,AXB、MOV DS,AXC、MOV SS,AXD、MOV ES,AX8、下面指令执行后,改变AL寄存器内容的指令是(D)。
A、TEST AL,02HB、OR AL,ALC、CMP AL,BLD、AND AL,BL9、执行除法指令后,影响的标志位是(D)。
A、CF,OFB、SF,ZFC、CF,OF,SFD、AF,CF,OF,PF,SF,ZF都不确定10、执行下面指令序列后,结果是(A)。
MOV AL,82H / CBWA、AX=0FF82HB、AX=8082HC、AX=0082HD、AX=0F82H11、与MOV BX,OFFSET VAR指令完全等效的指令是(D)。
汇编语言程序设计练习题及参考答案

一、单项选择题从每小题的四个备选答案中,选出一个正确答案,并将正确答案的番号填人括号内。
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表示任意数据。
汇编语言程序设计

03《汇编语言程序设计》(总20页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--《汇编语言程序设计》习题答案一、单项选择题(本大题共170小题,每小题2分)1、在汇编语言程序中,对 END 语句的叙述正确的是( C )。
A、END 语句是一可执行语句B、END 语句表示程序执行到此结束C、END 语句表示源程序到此结束D、END 语句在汇编后要产生机器码2、将 DX 的内容除以 2,正确的指令是( C )A、DIV 2B、DIV DX,2C、SAR DX,1D、SHL DX,13、下列数值表达式和地址表达式中,错误的是( D )。
A、MOV AL,8*14+4B、MOV SI,OFFSET BUF+13C、MOV CX,NUM2-NUM1D、MOV CX,NUM2+NUM14、用来存放下一条将要执行的指令地址的寄存器是 ( B )A、SPB、IPC、BPD、CS5、要使串处理从低地址向高地址进行,应把标志位置为 ( D )A、IF=1B、TF=0C、DF=1D、DF=06、设SS=2050H,SP=0140H,则栈顶存贮单元的物理地址是( A )A、20640HB、2063EHC、2063FHD、21900H7、十进制数269变换为十六进制数是( C )。
A、10BB、10CC、10DD、10E8、8位的微型计算机系统是以16位来表示地址,则该微机系统有( C )个地址空间。
A、255B、65535C、65536D、10485769、8位有符号二进制数能表示的最大十进制数是( D )。
A、256B、255C、128D、12710、十六进制数88H,可表示成下面几种形式,请找出错误的表示( D )。
A、无符号十进制数136B、带符号十进制数-120C、压缩型BCD十进制数88D、8位二进制数-8的补码表示11、有一个数值152,它与十六进制数6A相等,那么该数值是( B )。
汇编语言程序设计习题

1.假设字节单元(06925H)=12H,(06926H)=45H,(06927H)=78H,那么字单元(06925H)= C ,字单元(06926H)= D 。
a. 1245Hb. 4578Hc. 4512Hd. 7845H2.逻辑运算指令都是按A进行操作的,指令执行后只设置标志位,不保留结果的逻辑运算指令是H。
a. 位b. 字节c. 字d. BCD码e. ANDf. ORg. XORh. TEST3.和指令AND AL,55 AND 0F0H 等效的指令是,和MOV BX,0FH EQ 1111B等效的指令是。
a. AND AL,55Hb. AND AL,0F5Hc. AND AL,50Hd. AND AL,0F0He. MOV BX,0000Hf. MOV BX,0FHg. MOV BX,0FFHh. MOV BX,0FFFFH4.过程定义开始的伪指令是 C 。
宏定义结束的伪指令是G 。
a. SEGMENTb. MACROc. PROCd. ASSUMEe. ENDf. ENDSg. ENDMh. ENDP5.将数据37H定义为字节变量X1的语句是 A,数据37H定义为字变量X2的语句是 D 。
a. X1 DB 37b. X2 DB 37c. X1 DW 37Hd. X2 DW 37He. X1 DB 37H g. X2 DB 37H6.互换指令XCHG可以在两个寄存器之间互换数据,也可以在 A 与 C 之间互换数据。
a. 寄存器b. 立即数c. 存储单元d. 堆栈7.对程序流向的控制和转移,就是对执行指令地址的修改。
如在同一段内偏移,则修改 A ,如在两个段之间转移,则修改 C 。
a. IPb. CSc. CS和IPd. CS或IP1.8088/8086 CPU内部共有14个寄存器,其中有8个通用寄存器、2个变址寄存器、4个段寄存器。
2.8088/8086 CPU有7种数据寻址方式,其中采用寄存器寻址方式的指令执行速度最快。
《汇编语言程序设计》必考试题及答案

汇编语言程序设计试题及答案一.名词解释(本大题共5小题,每小题3分,共15分)试解释下列名词的含义。
1.寄存器:计算机系统内,位于CPU内部的存储单元,CPU访问此类存储单元不需要使用总线。
2.物理地址:CPU通过地址总线向外发送的20位地址,在访问内存单元前,CPU必须先将CPU内部的逻辑地址转换为物理地址。
3.段基值:逻辑地址的一个组成部分,用于指示一个段在内存中的起始地址。
4.寻址方式:指令获取操作数的方式。
5.补码:计算机系统内部用于表示带符号数的一种编码,正整数的补码为其真值本身,负整数的补码为其真值变反加1的结果。
二.计算题(本大题共5小题,每小题4分,共20分)试按照各小题的要求给出计算结果。
1.将十进制数100分别转换为二进制、十六进制数,它们的表示形式分别为多少?答案:二进制为 01100100B,十六进制为64H2.假设(DS)=0C00H,(BX)=0210H,对于指令MOV DS:100H[BX],AL,其目的操作数的物理地址为多少?答案:EA = (BX)+0100H = 0310H,物理地址 = (DS)*16 + EA = 0C000H + 0310H = 0C310H3.假设(BX)=0100H,(SI)=0020H,对于指令ADD DL,[BX][SI],其源操作数的偏移量为多少?答案:EA = (BX)+(SI)+ 0 = 0120H4.假设当前(SP)=0060H,连续执行5条PUSH指令后,(SP)=?答案:每执行一条PUSH指令,(SP)被减2,因此执行5条PUSH指令后,(SP)=0060H – 5*2 =0060H -000AH = 0056H5.对于一个十进制数– 80,其二进制补码表示形式为多少?答案:首先求得二进制真值为– 01010000B,负数补码为变反加1的结果,即 10110000B三.排错题(本大题共4小题,每小题5分,共20分)每小题列出了一条指令,判断该指令有无语法错误,如果存在语法错误,请指出具体的错误原因,判断正确给2分,分析正确给3分,判断错误不给分。
汇编语言程序设计练习题

汇编语言程序设计练习题阅读程序并完成填空:1.1.MOV BL,85HMOV AL,17HADD AL,BLAL=?,BL=?,CF=?2.2.MOV AX,BXNOT AXADD AX,BXINC AXAX=?,CF=?3.3.MOV AX,0FF60HSTCMOV DX,96XOR DH,0FFHSBB AX,DXAX=?,CF=?4.4.MOV BX,0FFFEHMOV CL,2SAR BX,CL5.5.MOV BX,0FFHAND BX,0FFFHOR BX,0F0FHXOR BX,00FFH上述程序段运行后,BX=?,CF=?6.6.CMP AX,BXJGE NEXTXCHG AX,BXNEXT:CMP AX,CXJGE DONEXCHG AX,CXDONE:。
试回答:(1)(1)上述程序段执行后,原有AX、BX、CX中最大数存放在哪个寄存器中?(2)(2)这3个数是带符号数还是无符号数?7.7.在数据段ADDR1地址处有200个字节,要传送到数据段ADDR2处。
MOV AX,SEG ADDR1MOV DS,AXMOV ES,-------MOV SI,-------MOV DI,OFFSET ADDR2MOV -----,200CLDREP ---------8.8.ADDR1开始的单元中连续存放两个双字数据,将其求和存放在ADDR2开始的单元。
MOV CX,2XOR BX,BXCLCNEXT:MOV AX,[ADDR1+BX]ADC AX,-------MOV [ADDR2+BX],AXADD --------,2--------- NEXT9.9.设初值AX=1234H,BX=5678H,DX=0ABCDH,则执行下面一段程序后AX=------,BX=----,DX=--------。
MOV CL,4SHL DX,CLMOV BL,AHSHL AX,CLSHR BL,CLOR DL,BL10.10.设有一个首地址为ARRA Y有N个字数据的数组,要求求出该数组之和,并把结果存入TOTAL地址中,有关程序如下:MOV CX,------MOV AX,0MOV SI,0START:ADD AX,-----ADD SI,2DEC CXJNZ STARTMOV ------,AX11.11.设段地址为1000H偏移地址为STR的5个字节的内容逐一装入累加器中,加1后,再送入STR为首地址的存储单元中,程序如下:MOV AX,1000HMOV ES,AXMOV DS,AX---------MOV DI,SIMOV CX,5CLDNEXT:LODSBADD AL,112.12.在一个首地址为STR、长度为N的字符串中查找空格,找到则向DL中送1,否则向DL中送-1。
汇编语言程序设计题库练习题1--详细答案

汇编语言程序设计题库练习题1--详细答案汇编语言程序设计练习题一、单项选择题1、与100.5不相等的数据是【 C 】A. 64.8HB. 1100100.1BC. 64.5HD. 144.4O2、指向程序代码段的段寄存器是【 A 】A. CSB. DSC. SSD. FS3、在内存字单元(20000)中存放数1324H,即(20000)=1324H,则从字节单元20001H 中取出一个字节为【 A 】A. 13H B. 24HC. 1324HD. 2413H4、完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是【 A 】A. MOV AL,00HB. AND AL,00HC. XOR AL,ALD. SUB AL,AL5、指令JMP BX转移的目标地址的偏移量为【 C 】A. IP+BX的内容B. IP+[BX]C. BX的内容D. BX所指向的内存字单元的内容6、DA1 DW 2A05HDA2 DB 07AH┇MOV AL,BYTE PTR DA1SUB DA2,AL上述指令执行后,DA2中的内容是【 C 】A. 7AH B. 02AHC. 075HD. 050H7、某存储单元的物理地址是12345H,可以作为它的段地址有【 d 】A. 2345HB. 12345HC. 12340HD. 1234H8、设有数据定义X2 DW 10 DUP (0,1,2),定义了多少字节的缓冲【 C 】A. 6B. 30C. 60D. 409、有符号数AX除以2的指令是【 B 】A. SHR AX,1B. SAR AX,1C. ROR AX,1D. RCR AX,110、DEC BYTE PTR[BX]中的操作数的数据类型是【 C 】A. 字B. 双字C. 字节D. 四字11、设SP=4AH,执行段内返回指令RET后,SP的值是【 C 】A. 44HB. 48HC. 4CHD. 50H12、指令“LOOP 标号”转移到标号的的条件是【 A 】A. CX≠0B. ZF=0C. CX≠0 AND ZF=0D. CX≠0 OR ZF=108086二、填空题1、汇编语言源程序经【编译】后,形成目标文件,再经过【链接】后,形成可执行文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言程序设计练习题阅读程序并完成填空:1.1.MOV BL,85HMOV AL,17HADD AL,BLAL=?,BL=?,CF=?2.2.MOV AX,BXNOT AXADD AX,BXINC AXAX=?,CF=?3.3.MOV AX,0FF60HSTCMOV DX,96XOR DH,0FFHSBB AX,DXAX=?,CF=?4.4.MOV BX,0FFFEHMOV CL,2SAR BX,CL5.5.MOV BX,0FFHAND BX,0FFFHOR BX,0F0FHXOR BX,00FFH上述程序段运行后,BX=?,CF=?6.6.CMP AX,BXJGE NEXTXCHG AX,BXNEXT:CMP AX,CXJGE DONEXCHG AX,CXDONE:。
试回答:(1)(1)上述程序段执行后,原有AX、BX、CX中最大数存放在哪个寄存器中?(2)(2)这3个数是带符号数还是无符号数?7.7.在数据段ADDR1地址处有200个字节,要传送到数据段ADDR2处。
MOV AX,SEG ADDR1MOV DS,AXMOV ES,-------MOV SI,-------MOV DI,OFFSET ADDR2MOV-----,200CLDREP---------8.8.ADDR1开始的单元中连续存放两个双字数据,将其求和存放在ADDR2开始的单元。
MOV CX,2XOR BX,BXCLCNEXT:MOV AX,[ADDR1+BX]ADC AX,-------MOV[ADDR2+BX],AXADD--------,2---------NEXT9.9.设初值AX=1234H,BX=5678H,DX=0ABCDH,则执行下面一段程序后AX=------,BX=----,DX=--------。
MOV CL,4SHL DX,CLMOV BL,AHSHL AX,CLSHR BL,CLOR DL,BL10.10.设有一个首地址为ARRAY有N个字数据的数组,要求求出该数组之和,并把结果存入TOTAL地址中,有关程序如下:MOV CX,------MOV AX,0MOV SI,0START:ADD AX,-----ADD SI,2DEC CXJNZ STARTMOV------,AX11.11.设段地址为1000H偏移地址为STR的5个字节的内容逐一装入累加器中,加1后,再送入STR为首地址的存储单元中,程序如下:MOV AX,1000HMOV ES,AXMOV DS,AX---------MOV CX,5CLDNEXT:LODSBADD AL,1LOOP NEXT12.12.在一个首地址为STR、长度为N的字符串中查找空格,找到则向DL中送1,否则向DL中送-1。
MOV CX,NMOV SI,0MOV AL,20HNEXT:CMP AL,----JZ DISPYINC---------NEXTMOV DL,-1JMP NEXT1DISPY:MOV DL,1。
NEXT1:13.13.将数据段中首地址为ADDR、长度为N的一组数据加1,并送回原处。
MOV AX,-----MOV DS,AXMOV ES,-----MOV SI,OFFSET ADDRMOV------,SICLDMOV CX,NNEXT:--------ADD AL,1STOSBLOOP NEXT14.14.若定义如下数据段DATA SEGMENTORG1000HDAT1DB‘ABC’,-2,12HDAT2DW3,‘AB’,$+4DAT3DB2DUP(1,2,3DUP(?))DATA ENDS试写出下列指令执行后,AX=----,BX=--------,CX=--------。
MOV BX,DAT2+4MOV CH,DAT3MOV AX,WORD PTR[DAT1+2]MOV CL,LENGTH DAT3SHL AX,CLOR BX,0F000H四.分析以下的汇编语言源程序。
1)tack segment stackDw256dup(?)Stack endsData segmentDa1dw-1,-3,5,6,9Rs dw?Data endsCode segmentAssume cs:code,ss:stack,ds:dataStart:mov ax,dataMov ds,axMov bx,offset da1;BX的含义是:________________Mov cx,(rs-da1)/2;CX的含义是:________________Mov dx,0;DX的含义是:________________ Lop1:mov ax,[bx];指令①Cmp ax,0Jge jus;什么条件下转到标号指令?________________Inc dxjus:inc bx;bx为什么要加1两次?_______________Inc bxDec cx;指令②Jnz lop1;指令③和前面的指令②可以用哪一条指令替代?_______________Mov rs,dx;rs单元存放的值的含义是什么?_______________Mov ah,4chInt21hCode endsEnd start1)1)请描述该程序的功能:__________________________________。
2)2)在注释处回答相应问题。
3)3)寄存器BX的变化规律是:_______________。
(递增还是递减)4)4)寄存器CX的变化规律是:_______________。
(递增还是递减)5)5)每次变化时,指令①的源操作书是如何变化的?__________________________________。
Stack segment stackDw256dup(?)Stack endsData segmentBlock db0e8h,34h,12h,91h,0fbh,99h,25h,3ehDb6ah,03h,65h,77h,80h,0beh,75h;定义数组block Count equ$-blockBuffer1db count dup(?)Buffer2db count dup(?)Data endsCode segmentAssume cs:code,ss:stack,ds:dataStart:mov ax,dataMov ds,axMov si,offset blockMov bx,offset buffer2Mov di,offset buffer1Mov cx,countGoon:mov al,[si]Test al,80hJnz miusMov[di],alInc diJmp again;①Mius:mov[bx].alInc bxAgain:inc siLoop goonMov ah,4chInt21hCode endsEnd start6)6)请描述该程序的功能:__________________________________。
7)7)试分析:该程序执行完后:数组block的内容是:_______________________________。
数组buffer1的内容是:_______________________________。
数组buffer2的内容是:_______________________________。
8)8)请分析指令①jmp again能否直接改成jmp goon?请说明原因。
请根据提示,补充完成下列程序段:________________________________;数据段定义array dw10dup(2)________________________________________________________________;程序段定义________________________________;assume伪指令________________________________;数据段地址送段寄存器值________________________________xor ax,axmov cx,0ahmov si,12hnext:add ax,array[si]sub si,2loop next________________________________________________________________________________________________________________________________1)1)阅读分析程序,本程序实现的功能是:____________________________。
2)2)当循环体执行完后,查看AX=__________________。
五.补充完整程序。
1)1)以buffer为首地址的字节单元中,存放count个无符号数,编写程序找出其中最大数并送入max单元中。
Buffer db5,6,7,58h,62,45,127,128Count equ$-bufferMax db?Mov bx,offset bufferMov cx,count-1Mov al,[bx]Lop1:inc bx___________________________jae nextmov al,[bx]next:dec cxmov max,al请分析,程序执行完毕后,MAX单元的值是:_____________。
2)2)da1数据区有20个字节的数据,将每个数据的低四位变反而高四位不变,并依次存入da2数据区中。
请阅读分析下面程序。
将空缺之处补充完整。
Mov cx,20Lea si,da1Lea di,da2K1:mov al,[si]___________________________Mov[di],alInc siInc diDec cx___________________________3)3)从键盘读入一字符串(长度小于maxno),再将该串反转后输出显示。
请阅读程序,根据程序设计思路,在空缺处填写正确的指令和注释。
Maxno equ41Sseg segment stackDw100dup(?)Sseg endsDseg segmentMesg1db‘input a string:$’Mesg2db0ah’its reverse is:$’Buf db maxno,?,maxno dup(?)Dseg endsCseg segmentAssume cs:cseg,ds:dseg,ss:ssegStart:______________________;__________________Mov ds,axMov dx,offset mesg1Mov ah,9Int21hMov dx,offset bufMov ah,0ah;设置输入字符串中断调用功能号Int21hXor ax,ax___________________________;取得实际读入字符的个数存入AX中lea di,buf+2;_____________________mov si,di;_____________________add si,ax;_____________________mov byte ptr[si],’$’;________________________dec sicmp di,si___________________________;_________________;如果字符串长度是奇数,会出现___________________________;如果字符串长度是偶数,会出现___________________________mov al,[si]xchg al,[di]dec si___________________________;调整DIjmp contlea dx,mesg2mov ah,9int21hlea dx,buf+2;___________________________mov ah,9int21hmov ah,4chint21h Cseg endsEnd start。