汇编语言程序设计试题

合集下载

汇编语言程序设计

汇编语言程序设计

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.用来存放下一条将要执行的指令地址的寄存器是 (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表示任意数据。

汇编语言程序的设计试卷与答案

汇编语言程序的设计试卷与答案

汇编语言程序设计试卷一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分)1.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。

① 无符号十进制数136② 带符号十进制数-120③ 压缩型BCD码十进制数88④ 8位二进制数-8的补码表示2.指令指针寄存器是()。

① IP② SP③ BP④ PSW3.当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是()。

① 表示结果中含1的个数为偶数② 表示结果中含1的个数为奇数③ 表示该数为偶数④ 表示结果中低八位含1的个数为偶数4.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是()。

① MOV AL,00H② AND AL,00H③ XOR AL,AL④ SUB AL,AL5.下列指令执行后总是使CF=0,OF=0的是()。

① AND② NEG③ NOT④ INC6.完成同指令XCHG AX,BX相同功能的指令或指令序列是()。

① MOV AX,BX② MOV BX,AX③ PUSH AXPOP BX④ MOV CX,AXMOV AX,BXMOV BX,CX7.设AH=0,AL=06H,BL=09H,执行指令ADD AL,BLAAA之后,其结果应是()。

① AH=01,AL=05② AH=1 AL=15③ AH=0 AL=0FH④ AH=0 AL=058.设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为① OF=1,CF=0② OF=1,CF=1③ OF=0,CF=0④ OF=0,CF=19.在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()。

① CX=0且ZF=0② CX=0且ZF=1③ CX=0或ZF=0④ CX=0或ZF=110.下面指令中,合理而有意义的指令是()。

汇编语言程序设计试题参考答案

汇编语言程序设计试题参考答案

汇编语言程序设计参考答案A卷一、单项选择题(本大题共8小题,每小题2分,共16分)1.C2.B3.B4.A5.C6.A7.A8.C9.D 10.B二、名词解释(本大题共5小题,每小题4分,共20分)11.微处理器:也成中央处理器(CPU),是微型计算机的核心部件,包含运算器、控制器、寄存器组及总线接口等,负责对计算机系统各部件进行统一的协调和控制。

12.寻址方式:就是寻找操作数或操作数地址的方式,根据寻址方式可方便地访问各类操作数。

13.伪指令:是发送给汇编程序的命令,在汇编过程中由汇编程序进行处理,如定义数据、分配存储区、定义段及定义过程等。

14.中断源:指能引起中断的外部设备或内部原因。

15.汇编语言:是一种面向CPU指令系统的程序设计语言,采用指令助记符来表示操作码和操作数,用符号地址表示操作数地址。

三、简答题(本大题共4小题,每小题5分,共20分)16.微型计算机系统软件的主要特点是什么?计算机系统软件的主要特点是简化计算机操作,支持应用软件的运行并提供相关服务,通常包括操作系统、语言处理程序等。

17.什么是逻辑地址?他由哪两部分组成?计算机存储器中给每个逻辑段编址的地址称逻辑地址。

逻辑地址是在程序中使用的地址,他由段地址和偏移地址两部分构成。

18.一个完整的汇编源程序由那些逻辑段组成?各逻辑段的主要作用是什么?一般情况下汇编语言源程序应该由以下3个逻辑段组成:①数据段:用来在内存中建立一个适当容量的工作区,以存放常数,变量等程序需要对其进行操作的数据;②堆栈段:用来在内存中建立一个适当容量的堆栈区,以便在中断、子程序调用时使用;③代码段:包括了许多以符号表示的指令,其内容就是程序需要执行的具体操作。

19. DMA数据传送方式的特点是什么?DMA数据传送方式把外设与内存交换信息的操作与控制交给DMA控制器,简化了CPU对数据交换的控制,数据传送速度快,但这种方式电路结构复杂,硬件开销大。

第四章汇编语言程序设计题库

第四章汇编语言程序设计题库

第四章汇编语言程序设计题库第四章汇编语言程序设计练习题一、单项选择题(共40题)1、关于指令MOV [BX],AX,以下叙述正确的是:A、目的操作数是寄存器操作数B、源操作数是内存操作数C、目的操作数是内存操作数D、源操作数是立即操作数2、执行下列程序,设(SS)=2000H,执行后(SP)=?MOV SP,2000HMOV AX,1234HPUSH AXA.21FFEH B.20000H C.22000H D.22002H3、运算型指令的寻址和转移型指令的寻址,其不同点在于A.前者取操作数,后者决定程序的转移地址B.后者取操作数,前者决定程序的转移地址C.两者都是取操作数D.两者都是决定程序的转移地址4、MOV ( ),300A、WORD PTR [DX]B、BYTE PTR [BX]C、WORD PTR [BP]D、AL5、汇编语言程序代码必须位于代码段中,形成代码段物理地址的寄存器对是A.SS: SP B.CS: IP C. DS: BX D. CS: BX6、若定义DAT DW 'A',则(DAT)和(DAT+1)两个相邻的内存中存放的数据是()A.0041H B.4100HC.××41H D.4l××H7、执行下面的程序段后,(AX)=()TAB DW 1,2,3,4,5,6ENTRY EQU 3MOV BX,OFFSET TABADD BX,ENTRTMOV AX,[BX]A.0003H B.0300HC.0400H D.0004H8、下面表示段定义结束的命令是()A.ENDP B.ENDS C. ENDM D.END9、设AL、BL,中都是带符号数,当AL<BL时转至NEXT处,在CMP AL,BL指令后应选用正确的条件转移指令是()A.JBE B.JLC.JNA D.JNLE10、指令LOOPZ它的循环执行条件是( )A.CX不等于0且ZF=0 B.CX不等于0或ZF=0C.CX不等于0且ZF=1 D.CX不等于0或ZF=111、执行下列指令后,SP寄存器的值是()MOV SP,1000HPUSH AXA.0FFEH B.0FFFHC.1001H D.1002H12、完成将有符号数BX的内容除以2的正确指令是()A.SHR BX,1 B.SAR BX,1C.ROR BX.1 D.RCR BX,113、汇编语言源程序经汇编后不能直接生成()A.OBJ文件B.LST文件C.EXE文件D.CRF文件14、执行下列程序(AL)=( )。

汇编语言程序设计题库练习题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.假设字节单元(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种数据寻址方式,其中采用寄存器寻址方式的指令执行速度最快。

汇编语言程序设计试卷

汇编语言程序设计试卷

汇编语言程序设计试卷一. (共75 题,共150 分)1.下列说法错误的是。

(2 分)A.机器指令的形式包含操作码和地址码B.计算机只能够识别规定好的机器指令C.不同计算机系统之间的机器指令能够相互兼容D.汇编语言的主要操作和机器指令基本上一一对应★检查答案标准答案:C2.两个有符号数相减,通过标志位判断结果是否溢出。

(2 分)A.ZFB.CFC.SFD.OF★检查答案标准答案:D(2 分)3.汇编语言和高级语言的比较,下列说法错误的是A.汇编语言和高级语言都不能被机器直接识别B.完成同样的功能,汇编语言占据空间小C.高级语言可以使用变量,但汇编语言不行D.汇编语言中有类似于高级语言的宏功能★检查答案标准答案:C4.下列寄存器中,哪个寄存器不能供汇编程序直接访问. (2 分)A.SPB.BPC.CSD.IP★检查答案标准答案:D5.下列寄存器,哪个不能作基址寄存器。

(2 分)A.BXB.BPC.SID.ESI★检查答案标准答案:C6.设有关寄存器及存储单元的内容如下:则指令MOV AX, 1100H[BX][SI] 执行完毕后,AX 寄存器中的值是。

(2 分)A.65B7HB.3412HC.4C2AHD.7856H★检查答案标准答案:AA.可以作立即寻址的操作数B.也可作某些存贮器操作数的的位移量组成部分C.在数据定义伪指令语句中给变量赋初值D.可以作目的操作数★检查答案标准答案:D8.若(ECX)=0ABCD1234H(BL)=0E3H,则语句MOVSX ECX,BL执行后:(ECX)的值为。

(2 分)A.0ABCD1234HB.0FFFFFFE3HC.000000E3HD.0ABCD12E3H★检查答案标准答案:B(2 分)9.若(AX)=0FFFDH ,则语句ADD AX,7FFFH 执行后,下列说法正确的是。

A.(AX) =7FFCH,(OF)=1 ,(CF)=1B.(AX) =17FFCH ,(OF)=1 ,(CF)=1C.(AX)=7FFCH,(OF)=0 ,(CF)=1 D.(AX)=17FFCH ,(OF)=0 ,(CF)=1★检查答案标准答案:C10.在语句INC SS:[BX] 中,操作数使用的段寄存器是。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、单项选择题(从四个备选答案中选出一个正确的答案填在题干的括号内)(20分)
( A )1. 指令MOV AL,[BX+100]的源操作数的寻址方式为?
A. 基址寻址
B. 寄存器间接寻址
C. 变址寻址
D.基址变址寻址
( A )2.确定下列哪些数据在汇编语言中的表示是合法的?
A. 2 AND 3*5
B. 138Q
C. A3H
D. HIGH AX
( C )3.若栈顶指针SP的值为100H,当执行完指令PUSH AX后,SP的值为?
A. 00FCH
B. 00FAH
C. 00FEH
D. 0106H
( B )4. 已知在寄存器 AX和 BX 中分别存放着一个无符号数据,在满足条件 AX≥BX 时转到标号OK去执行,不能实现该功能的程序段是?
A. CMP AX,BX
B. CMP AX,BX
JNB OK JA OK
C. CMP BX,AX
D. CMP AX,BX
JBE OK JNC OK
( A )5. 下列程序段在语法上是正确的是?
A. X1 DB ‘ABCD’
B. X1 DW ‘ABCD’
C. X1 DD ‘ABCD’
D. X1 DB 1234H
( C )6. 已知AL=67H,BL=34H, 则指令ADD AL,BL执行后,OF和CF的值分别为?
A. 0,0
B. 0,1
C. 1,0
D. 1,1
( D )7. 已知AL,BL中各存放一个带符号数,计算AL/BL的商,用下述哪个程序段?
A. DIV BL
B. IDIV BL
C. XOR AH,AH
D. CBW
IDIV BL IDIV BL
( C ) 8. 已知SUBR是一个属性为NEAR的子程序, 下述调用SUBR子程序的指令序列中, 哪一个能实现调用SUBR的目的?
A. LEA SI,SUBR
B. MOV SI,SUBR
CALL [SI] CALL SI
C. MOV BX, OFFSET SUBR
D. MOV BX, OFFSET SUB
( B )9. 初始化8259A时,ICW2的值为15H,当IR2端有中断请求时,8259A送出的中断方式码是什么?
A. 17H
B. 12H
C. 13H
D. 10H
( A )10. 在两个8259A级联的中断系统中,从8259A连接在主8259A的IR3上,主8259A和从8259A的ICW3应设置为多少?
A. 03H,08H
B. 08H,03H
C. 04H,03H
D. 08H,08H
二、判断题(判断每题正误,对的在题后括号内划“√ ”,错的划“×”)。

(10分)
1. MOV DS,CS ( × ) 6. MOV CS,AX ( × )
2. MOV AX,DL ( × ) 7. XCHG 50H,BH ( × )
3. POP AL ( × ) 8. SHL AX,10 ( × )
4. NOT 5 ( × ) 9. IN AL,DX ( √ )
5. IN AX,200H ( × ) 10. OUT 21H,AL ( √ )
三、填空题。

(20分)
1.已知:BX=100H,BP=200H,SI=300H,DS=1000H,SS=2000H,CS=3000H,指出下述指令
中存储器操作数的有效地址及实际地址。

(6分)
2. 写出下述两条数据定义伪指令语句经过汇编后的内存分配情况。

(4分)
DATA1 DB -32,‘AB’
DATA2 DW -32,‘AB’
DATA1 DATA2
3. 已知部分中断向量表的内容给出如下, 则方式码为10H的中断服务程序的入口偏移地址为( 0007H ),段地址为( C870H )。

(4分)
C>DEBUG
-d 0:0
0000:0000 9E 0F C9 00 65 04 70 00-16 00 C1 08 65 04 00 00
0000:0010 65 04 70 00 54 FF 00 F0-00 80 00 F0 6F EF 00 F0
0000:0020 00 00 00 C8 28 00 C1 08-6F EF 00 F0 6F EF 00 F0
0000:0030 6F EF 00 F0 6F EF 00 F0-9A 00 C1 08 65 04 70 00
0000:0040 07 00 70 C8 4D F8 00 F0-41 F8 00 F0 97 25 58 FD
0000:0050 39 E7 00 F0 40 02 2D 06-2D 04 70 00 28 0A 76 06
0000:0060 A4 E7 00 F0 2F 00 82 09-6E FE 00 F0 04 06 76 06
0000:0070 1D 00 00 C8 A4 F0 00 F0-22 05 00 00 C6 57 00 C0
4.依据下述子程序说明文件把子程序补充完整。

(6分)
1)子程序名:MSHL;
2)子程序功能:多字节数据逻辑左移一位;
3)入口条件:数据低字节地址在SI中,数据长度在CX中;
4)出口条件:移后数据低字节地址在SI中;CF为移位前数据最高位状态;
5)受影响的寄存器:F。

MSHL PROC
PUSH SI
PUSH CX
( CLC )
MSHL1: RCL BYTE PTR [SI],1
( INC SI )
LOOP MSHL1
POP CX
POP SI
( RET )
MSHL ENDP
四、改错题。

(10分)
下列程序有错, 请将它们找出并改正过来。

已知程序欲完成的功能是从两个无符号数中选出较大者送入MAX单元, 若二者相同, 将MAX清0。

要求:不必抄题,直接在试题上修改。

在错误的部分下面划一条线,然后在本行的后面给出正确的答案即可。

1. SEGA SEGMENT
4. DAX: DW A0H ( DAX)
8. DAY DB 1000H ( DW)
12. MAX DB 0,0 ( MAX DW 0)
15. SEGA ENDS
18. CSEG SEGMENT
21. ASSUME CS:CSEG;ASSUME DS:SEGA
25. BEGIN:MOV DS,SEGA
27. MOV AX,DAX
29. CMP AX, DAY
33. JG XGY (JA)
35. JZ ZERO
40. MOV AX,DAY
43. XGY: MOV MAX,AX
47. ZERO MOV AH,4CH (ZERO:)
49. INT 21
50. CSEG END (ENDS)
56. END START
五、简答题(24分):用尽可能少的指令编写完成下列功能的程序段
1.将寄存器AL的高4位取反,低4位不变。

答:XOR AL,0F0H
2.将寄存器AL的第i位清0,其它位状态不允许改变,已知i在CL中。

答:MOV AH,OFEH
ROL AH,CL
AND AL,AH
3.已知AL,BL中各存放一个字节数据,如果两数同为偶数,则将AL清0;如果两数同为奇数,则将AL置2;否则将AL置1。

答:MOV AL,0
AND AH,01H
JZ L2
DEC AL
4.已知中断服务程序的入口地址为SEVER,对应的中断方式码为40H,则将其入口地址写入中断向量表的程序段。

答:XOR AX,AX
MOV ES,AX
MOV DI,40H*4
CLD
LEA AX,SEVER
STOSW
MOV AX, SEG SEVER
STOSW。

相关文档
最新文档