您好,欢迎访问三七文档
本试卷共14页第1页本试卷共14页第2页河南师范大学新联学院2008—2009学年度第一学期2006级计算机专业《汇编语言程序设计》A卷题号一二三四总分得分1、汇编语言是面向的低级语言,通常是为专门设计的;2、将二进制数101101转换为十六进制数和十进制数;3、请用8位二进制补码计算下题,并用十六进制数表示其运算结果。-85-(-76)=H;4、如果在一个程序开始执行以前(CS)=0A7F0H,(IP)=2B40H,试问该程序的第一个字的物理地址是;5、请将下列左边的项和右边的解释联系起来(把所选字母放在括号中):(1)控制标志()A.保存当前栈顶地址的寄存器。(2)伪指令()B.指示下一条要执行的指令的地址。(3)IP()C.由汇编程序在汇编过程中执行的指令。(4)SP()D.记录指令操作结果的标志,共6位:OF、SF、ZF、AF、PF、CF。(5)状态标志()E.控制操作的标志,如DF位。6、给定(IP)=2BC0H,(CS)=0200H,位移量D=5119H,(BX)=1200H,(DS)=212AH,(275B9H)=098AH,使用BX及寄存器相对寻址方式的段内间接寻址,即执行JMPD[BX]指令后,转移的偏移地址(IP)=,(PA)=。7、假设程序中的数据定义如下:PARTNODW?PNAMEDB16DUP(?)COUNTDD?PLENTHEQU$-PARTNO问PLENTH的值为,它表示的意义。8、执行下列指令后AX寄存器中的内容是;TABLEDW10,20,30,40,50;000AH,0014H,001EH,0028H,0032HENTRYDW3┇MOVBX,OFFSETTABLEADDBX,ENTRYMOVAX,[BX]得分评卷人一、填空题(每空1分,共20分)姓名:________学号:__________年级:______________专业:_____________…….……………………….密…………………封…………………线…………………………本试卷共14页第3页本试卷共14页第4页9、INT21H是功能调用,INT10H是功能调用。10、指出下列伪操作或指令表达方式的错误。(1)DATA_SEGSEG(2)MOVAH,BX1、宏指令STORE定义如下:STOREMACROX,NMOVX+I,II=I+1IFI-NSTOREX,NENDIFENDM试展开下列宏调用:I=0STORETAB,62、试分析下面的程序段完成什么功能?MOVCL,04SHLDX,CLMOVBL,AHSHLAX,CLSHRBL,CLORDL,BL3、数据段的位置从0E000H开始,数据段中定义一个300字节的数组,其类型属性既是字又是字节,按前面的要求写出程序的框架。4、以下是程序运行步骤及生成文件的图示,请分别指出文件扩展名xxx,yyy,zzz的真实含义。得分评卷人二、问答题(每小题6分,共36分)本试卷共14页第5页本试卷共14页第6页文件扩展名xxx:文件扩展名yyy:文件扩展名zzz:5、调用DOS功能的编程方法是什么?6、试比较子程序结构与宏汇编的优缺点。1、画图说明下列语句所分配的存储空间及初始化的数据值。(‘A’=41H)BYTE_VARDB‘BCE’,-12H,3DUP(0,?,2DUP(1,2),?)得分评卷人三、画图题(每小题8分,共24分)myfile.xxx汇编程序连接程序myfile.crfotherfiles.objmyfile.lstmyfile.yyymyfile.map编辑程序myfile.zzz本试卷共14页第7页本试卷共14页第8页2、有两个16位字1EE5H和2A3CH分别存放在80x86微机的存储器的000B0H和000B3H单元中,请用图表示出它们在存储器里的存放情况。3、分析下面的程序,画出堆栈最满时各单元的地址及内容。S_SEGSEGMENTAT1000HDW200DUP(?)TOSLABELWORDS_SEGENDSC_SEGSEGMENTASSUMECS:C_SEG,SS:S_SEGSTART:MOVAX,S_SEGMOVSS,AXMOVSP,OFFSETTOSPUSHDSMOVAX,0PUSHAX┇PUSHT_ADDRPUSHAXPUSHF┇POPFPOPAXPOPT_ADDRRETC_SEGENDSENDSTART最后一题答案:INAL,50H;输入数据并存入缓冲区BUFFMOVBUFF[DI],ALINCDIINAL,51H;判断是否有错?TESTAL,00111000BJNZERROR_OUTLOOPBEGIN┇本试卷共14页第9页本试卷共14页第10页得分评卷人四、编程题(共20分)1、已知可屏蔽中断处理程序在INTHAND为标号处,请完成下列程序段为中断类型N设置中断向量。MOVAX,0MOVES,AXMOVBX,N*4MOVAX,OFFSETINTHANDMOVMOVAX,SEGINTHANDMOV……INTHAND:;中断处理程序……IRET2、假定串行通讯口的输入数据寄存器的端口地址为50H,状态寄存器的端口地址为51H,状态寄存器各位为1时含义如右图所示,请编写一程序:输入64个字符并存入缓冲区BUFF,同时检验输入的正确性,如有错则转出错处理程序ERROR_OUT。《汇编语言程序设计》A卷答案及评分细则1.1机器,特定的计算机或计算机系列1.22DH,451.30F7H1.40AAA40H。1.5E,C,B,A,D1.6(IP)=((DS)*10H+(BX)+D)=098AH,PA=0298AH1.7PLENTH=22或16H,它表示变量PARTNO、PNAME、COUNT总共占用的存储单元数(字节数)。1.8(AX)=1E00H1.9DOSBIOS1.10DATA_SEGSEGMENT(伪操作错),SRC和DST的字长不一致2、1答:宏展开如下:I=0STORETAB,61MOVTAB+0,01MOVTAB+1,11MOVTAB+2,21MOVTAB+3,31MOVTAB+4,41MOVTAB+5,5答对1个1分,全对6分2、2答:本程序段将((DX),(AX))的双字同时左移4位,即将此双字乘以10H(16)。2分2分2分或3分3分输入数据准备76543210输出寄存器空奇偶校验错溢出错格式错本试卷共14页第11页本试卷共14页第12页2、3DATA_SEGSEGMENTAT0E000H1分ARRAY_BLABELBYTE2分ARRAY_WDW50DUP(?)2分DATA_SEGENDS1分2、43处各占2分。文件扩展名xxx:asm文件扩展名yyy:obj文件扩展名zzz:exe2、51、将调用参数装入指定的寄存器中;2、DOS功能号装入AH;3、如需子功能号,把它装入AL;4、按中断号调用DOS中断(INT);5、检查或取得返回参数。注:1,2占3分,3,4,5占3分2、6子程序3分优:模块化,省内存缺:开销大宏汇编3分优:参数传送简单,执行效率高缺:占用内存空间大每条1分。3、13.23.34.1已知可屏蔽中断处理程序在INTHAND为标号处,请编写程序段为中断类型N设置中断向量。ES:WORDPTR[BX],AX(5分)ES:WORDPTR[BX+2],AX(5分)4.2假定串行通讯口的输入数据寄存器的端口地址为50H,状态寄存器的端口地址为51H,状态寄存器各位为1时含义如右图所示,请编写一程序:输入一串字(FLAGS)(AX)T_ADDR0000(DS)1000:0184:0186:0188:018A:018C:018ESP:01863.3题堆栈最满时各单元的地址及内容E5H000B0H1EH000B1H3CH000B3H2AH000B4H存储器3.2题的信息存放情况…000B2H42H59H54H45H0DHEEH00H-01H02H01H02H-00H-BYTE_VAR本试卷共14页第13页本试卷共14页第14页符并存入缓冲区BUFF,同时检验输入的正确性,如有错则转出错处理程序ERROR_OUT。答:程序段如下:MOVDI,0MOVCX,80;最多输入80个字符BEGIN:INAL,51H;查询输入是否准备好?TESTAL,02HJZBEGIN输入数据准备好76543210输出寄存器空奇偶校验错溢出错格式错4.2状态寄存器各位含义
本文标题:汇编语言试卷
链接地址:https://www.777doc.com/doc-2368374 .html