您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 综合/其它 > 合肥工业大学-微机原理与接口技术答案
合肥工业大学试卷(A卷)共2页第1页一、填空题(每空1分,30分)1、微型计算机的基本组成包括:控制器、主存储器、运算器、输入设备和输出设备五部分。2、CPU被重新启动后,CS=FFFFH,IP=0000H。3、8086的I/O端口寻址方式为:直接端口寻址和间接端口寻址,其最大寻址空间分别为FFH和FFFFH。4、8086CPU的结构由执行单元/EU和总线接口单元/BIU两部分组成。5、主程序与子程序之间的参数传递方式有:寄存器传递参数、存储器传递参数和堆栈传递参数。6、8086的中断系统可处理256种不同的中断,按产生中断的方法可分为内部/软件中断和外部/硬件中断。7、二进制数101101.10B转换成十进制数为45.5D,转换成十六进制数为2D.8H。8、存储单元物理地址的计算公式为:物理地址=段基址×16+偏移地址。9、元件级总线包括地址总线AB、数据总线DB和控制总线CB三种,其中地址总线AB是三态单向总线。10、时钟发生器8284共产生哪三种时钟信号:OSC、CLK、PCLK、它们之间的关系是CLK是OSC的3分频,而PCLK是CLK的2分频。11、标志寄存器的标志位中,状态标志有OF,SF,ZF,AF,PF,CF、控制标志有DF,IF,TF。二、问答题(12分)1、在进行字符串操作时,必须遵守哪些隐含约定?(4分)(1)源串由DS寻址,源串的元素由SI作指针;(2)目的串由ES寻址,目的串的元素由DI作指针;(3)每执行一次字符串指令,指针SI和DI自动修改,以便指向下一个待操作的单元;(4)DF标志控制字符串的处理方向,DF=0时为递增方向,DF=1时为递减方向;(5)要处理的字符串长度入在CX中。2、请说明计算机中断指令的执行过程。(4分)(1)首先把标志寄存器的内容入栈,再把当前断点的段基址CS和偏移地址IP入栈;(2)清除中断标志IF和单步标志TF;(3)将中断类型号N乘以4,得到中断服务程序的入口地址表的表头地址,从中断向量表中得到中断报务程序的入口地址,CPU转入中断服务程序执行;(4)最后执行中断返回指令IRET,从堆栈中弹出程序断点,继续执行原来被中断的程序。(每步1分)3、试说明DOS系统功能调用的应用格式。(4分)(1)系统功能号送AH寄存器中;(2)入口参数送到指定寄存器中;(3)用INT21H指令执行功能调用;(4)根据出口参数分析功能调用执行情况。(每步1分)三、计算题(要求写出解题过程)(27分)1、写出下列程序段执行后的结果:AX=3632H?(6分)MOVAX,6262HMOVCL,4ANDAL,0FH;AX=6202HADDAL,30H;AX=6232HSHRAH,CL;AX=0632HORAH,30H;AX=3632H(答案3分,过程3分)2、设数据段数据定义如下:(9分)DSEGSEGMENTNUMDB‘IBM-PCCOMPUTER’,‘$’ADDRDB3DUP(1,2)ENTRYDW3DSEGENDS(1)画出内存分配图;(2)用两种指令将NUM的偏移地址送BX;(3)用一条指令将ADDR的头两个字节内容存入SI。答:(1)图略(每小题3分)(2)LEABX,NUM或MOVBX,OFFSETNUM考生注意�答题内容勿超过装订线左侧装订线合肥工业大学试卷(A卷)共2页第1页(3)MOVSI,[ADDR]3、设程序中数据段定义如下:(8分)DSEGSEGMENTBUFFERDB‘IAMADOCTOR’,‘$’ADDRDB20DUP(?)NUMDB111,222,133,88;(注意,此处为十进制数)DB01,0,1,2,138DISPPDW2DSEGENDS(1)执行下列指令段后,LEABX,NUMADDBX,DISPPMOVAX,WORDPTR[BX]AX=5885H,BX=0024H。(答案2分,过程2分)(2)执行下列指令段后,XORBX,BXMOVAX,[DISPP]MOVSI,OFFSETNUMADDBX,WORDPTR[SI]AX=0002H,BX=DE6FH。(答案2分,过程2分)4、分析下列程序段,指出该程序段的功能是什么?(4分)MOVCX,1AHMOVDL,‘Z’LAB1:PUSHDXMOVAH,02HINT21HPOPDXDECDXLOOPLAB1依次在屏幕上显示Z,Y,……C,B,A等26个字母。(答案2分,过程2分)四、请画出8086系统中存储器与总线的连接图,注意标注清楚地址和数据线的位数。(8分)见教材五、编程题(23分)(注:第1小题必做,第2、3小题任选做1题)1、请编制程序段完成AX*10的任务。(要求不准用乘法指令)(8分)(1)直接连续相加或用循环指令连加;(2)用移位和加法指令相结合。2、试编写完整程序,统计字数组ARY中每个元素含1的个数,并存入数组CONT中,绘出程序流程图,程序的数据段定义已给出。(提示:应用双重循环)(15分)DATASEGMENTARYDW12ABH,0F101H,04A2H,019CH,B305HDW0E51H,03D9H,4159H,0C12H,05B8HLENEQU($-ARY)/2;数组元素个数CONTDBLENDUP(?)DATAENDS参考程序:DATASEGMENTARYDW12ABH,0F101H,04A2H,019CH,B305HDW0E51H,03D9H,4159H,0C12H,05B8HLENEQU($-ARY)/2;数组元素个数CONTDBLENDUP(?)DATAENDSSTACK1SEGMENTPARASTACKDW20HDUP(0)STACK1ENDSCOSEGSEGMENTASSUMECS:COSEG,DS:DATA,SS:STACK1START:MOVAX,DATAMOVDS,AXMOVCX,LENLEASI,ARY;初始化指针LEADI,CONTLOP1:MOVAX,[SI];取一个ARY数组元素到AXMOVBL,0;初始化个数计数器合肥工业大学试卷(A卷)共2页第1页LOP2:CMPAX,0;(AX)=0JZNEXT;是,退出内循环JNSSHIFT;AX最高位=0,不计数INCBL;AX最高位=1,计数SHIFT:SHLAX,1;将AX左移一位JMPLOP2;继续内循环NEXT:MOV[DI],BL;存1的个数ADDSI,2;修改指针INCDILOOPLOP1;CX计数不为0,继续外循环MOVAH,4CHINT21HCOSEGENDSENDSTART3、试编写完整程序,将某字符串中的所有数字字符去除掉,要求处理后的字符串应放回原空间,并显示处理后的字符串,绘出程序流程图,程序的数据段定义已给出。(提示:用9号功能调用显示字符串,入口参数为DS:DX=串首址)(15分)DATASEGMENTSTRINGDB‘HEIS35YEARSOLD$’;待处理字符串STRLENEQU$-STRING;待处理字符串长度STRTEMPDBSTRLENDUP(0);中间变量,暂存处理后字符DATAENDS参考程序:DATASEGMENTSTRINGDB‘HEIS35YEARSOLD$’;待处理字符串STRLENEQU$-STRING;待处理字符串长度STRTEMPDBSTRLENDUP(0);中间变量,暂存处理后字符DATAENDSSTACK1SEGMENTPARASTACKDW20HDUP(0)STACK1ENDSCODESEGMENTASSUMESS:STACK1,DS:DATA,ES:DATA,CS:CODEMAIN:MOVAX,DATAMOVDS,AXMOVES,AXLEASI,STRING;取字符串首址LEADI,STRTEMP;取目的串首址MOVCX,STRLEN;取字符串长度CLD;清标志寄存器DF位LOP:LODSB;取字符串中的一个字符送AL寄存器CMPAL,‘9’;该字符与数字字符9比较JNCDISPOSE;若大于9,则不为数字字符CMPAL,‘0’;若小于9,则与0比较JCDISPOSE;若小于0,则不为数字字符JMPNEXTDISPOSE:STOSB;若不为数字字符,则保存该字符NEXT:LOOPLOP;若未处理完,则继续处理LEASI,STRTEMP;取暂存空间首址LEADI,STRING;取原字符串首址MOVCX,STRLEN;取字符串长度CLD;清标志寄存器DF位REPMOVSB;将暂存字符串传送到原字符所在空间MOVDX,OFFSETSTRING;显示处理后的字符MOVAH,09HINT21HMOVAH,4CH;结束程序INT21HCODEENDSENDMAIN
本文标题:合肥工业大学-微机原理与接口技术答案
链接地址:https://www.777doc.com/doc-2131723 .html