1、微机原理与接口设计试题13年1月试卷一、填空题(16分,每小题2分)2.8086地址总线中的AD0AD1(低15位)位与数据总线公用。使用总线周期控制信号来锁存地址信号。3.8086的标志寄存器中有6个控制标志位和3个状态标志位。4.执行指令“ JGDS时,需判断标志位SF、OF ZF的内容。 5.中断向量表的地址范围是 00000H03FFFIH物理地址),中断类型 码为35H的中断向量所占用的物理地址是 000D4H000D7JH6.8253的6种工作方式中,有2种能够自动重装计数初值,有 2种是采用硬件方式启动计数过程。7.一直8255的端口地址为40H43H贝U “ OUT43H 08
2、H所执行的操作是将C端口的PC4置0。8.某内存地址范围是A0000HC7FF,其存储容量为160Kbyte,需 要20片8KX 8位的内存芯片才能构成该存储区。二、计算器1.某堆栈区地址为 2000H:0000H2000H:0100H SP=0080H 计算:1) 栈顶的物理地址为20080H栈底的物理地址为20000H 2) 执行“ RET指令(段间调用)后,栈顶的物理地址为 20084H 2.MOVSI,0100HMOVAL,08HMOVCX,35HL1:MOVSI,ALDECALINCSILOOPL1运行结果:AL=D3 SI=0135H, QS:0105H =03H 3.MOVAX,
3、6587HMOVBX,3412HNEGBXCBWIDIVBH执行结果:AX=F702H BX=CBE。 4.根据数据定义给出结果DATASEGMENTD1DB1,2,3,4,5DUP(07:89D2Dhisisacomputer : 0DH,0AHCNTEQU$-D1LEABX,D2MOVAX,SIZED1CNT=26- BX=7 AX=7 -三、程序设计编写完整的汇编程序,并使用二个子程序分别实现以下功能:1)从键盘输入一个32位(双字)的16进制无符号数-存储在变量NUM 中;2) 将NUM与16位数NUM21乘,乘积存储在变量 NUM中;3) 统计NUM中16进制数字“ 0”的个数,并显
4、示输出。答:我觉得2)太难了,应该不会考,从周明德的书上看到一道差不 多的写了两大篇儿,DATASEGMENTNUM1DD?NUM2DB1AHNUM3DD?DATAENDSSTACKSEGMENTSTADB100DUPTOPEQULENGTHSTASTACKENDSCODESEGMENTASSUMEDS:DATA,CS:CODE,SS:STACK,ES:STACKSTART:MOVAX,DATAMOVDS,AXMOVES,AX MOVAX,STACKMOVSS,AXMOVTOPMOVSI,OFFSETNUM1MOVBX,OFFSETNUM2MOVDI,OFFSETNUM3;初始化MOVCX,0
5、4;设定输入数字时循环的次数CALLENT;调用输入数字子程序CALLMULT调用乘法子程序MOVSIQFFSETNUM3MOVCX,04HCALLDISPLAY调用输出子程序MOVAH,4CHINT21H;输入子程序ENTNPROCNEARCLDADDSI,CX从最高位开始输入LOP:MOVAH,1INT21H;高位输入CMPAL,40H判断是09还是AFJANEXT若字母,则跳SUBAL,30H减去30H转为16进制JMPFINISHNEXT:SUBAL,31H若为字母则减去 31H转为16进制FINISH:MOVBH,AL 暂存至 BHMOVAH,1INT21H;低位输入CMPAL,40
6、H判断是09还是AFJANEXT若字母,则跳SUBAL,30H减去30H转为16进制JMPFINISHNEXT:SUBAL,31H若为字母则减去 31H转为16进制FINISH:MOVBL,AL 暂存至 BLMOVSI,BX ;将 BX移至 NUM1DECSI偏移地址-1LOOPLOPRETENTNENDP;统计“ 0”的个数并输出子程序DISPLAYPROCNEARMOVBL,0存在BL中AGAIN:MOVAX,SI;取 NUM放在 AX中TESTAL,0FFH低八位判0JNZNEXT1INCBLNEXT1:TESTAH,OFF高八位判 0JNZNEXT2INCBLNEXT2:INCSILO
7、OPAGAINADDBL,30H将BL转换为ASCI (小于等于8)MOVDL,ALMOVAH,02HINT21H;屏幕显示RETDISPLAYENDPCODEENDSENDSTART四、可编程接口芯片的应用技术8253的CLK0输入脉冲F=1MH,255的 A 口连接OUT1和按键,8255 的 B 口接 8 个 LED要求:1.依据接线图写出8255的A 口、B 口、C 口及控制寄存器的端 口地址,8253的计数器CNT0 CNT1 CNT2及控制寄存器的端口地 址。2.当PAO的按键按下,使B 口的“ LED0点亮1秒后熄灭,下 一次按键使“ LED0点亮0.5秒后熄灭,按以下顺序反复循
8、环:“ LED0,“ LED1 , “ LED7,LED0,LED1,”,如键盘有输入就结束循环并退出。试编写完整的汇编程序。答:1.8255 : 034CH034FH 8253: 0344H0347H2.我没看懂题,就都按亮1秒写了 =DATASEGMENTmesdbenteranykeyexittodo$Ah)h,DATAENDSSTACKSEGMENTSTADW100DUPTOPEQULENGTHSTASTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXM
9、OVTOPMOVDX,OFFSETMESMOVAH,09HINT21HMOVDX,O34FHMOVAL,90HOUTDX,ALLOOPA:MOVDX,034CHINAL,DXNOTAX13年5月重修试卷一、 填空题1.若X=35H,丫=F7H,则X+Y=。看不清原反补,反正会=2.8086/8088汇编语言中,操作数具有,和三种属f 没找到什么属性,倒是分立即数、寄存器、存储器三种类型 ,3.8086/8088的CPU有 6个状态标识位和3个控制标志位。4.要把AL的D2D5位置1,其他位保持不变,应使用的指令是: ORAL,3CH5.将不带符号数进行比较是,应根据标志位 ZF和CF来判断比较
10、 _结果。6.若某外部中断的类型码为仆H则该中断向量(在中断向量表中)的物理地址是0007CH00080H7.一片中断控制器8259A可以管理8级外部中断,两片8259A通过主从方式可以管理15级处部中断。(这题蒙的,)8.某RAM芯片的存储容量是16KX 8bit,则该芯片有8根数据线和 14根地址线。二、 计算题1已知各寄存器内容,确定下列指令中存储器操作数的物理地址。DS=4000HSS=6000HBX=1000HBP=2000HDI=3000H1) MOVAX,1234H41234H 2)MOVAX,BX41000H 3)MOVAX,5678HBP67678H 4)MOVAX,1000
11、HBXDI45000H5)MOVAX,BPDI65000H2.MOVAX,6789HMOVBX,ABCDHNOTBXDIVBL执行结果:AX=6789H BX=5432H(我算商大于FF,产生中断?)3.MOVAX,1234HMOVBX,5678HSUBAX,BXHLT执行后各标志位状态分别为:CF=1 SF=J ZF=0,OF=0 PF=Q4.根据数据定义给出结果:DATASEGMENTD1DW230BH,1,2,3,4,4DUP(0)D2DBBCD0ABHCNTEQU$-D1CNT=15 LEABX,D2BX=10 MOVAX,TYPED1AX=2 -三、程序设计1 B U 正1负的 个
12、数0 分Nu字 节 的 用 原 码 表 示将B答:FtAsegment中的JFDBQX1OO正PLUSDB1OODUP负数NUM中。M1NUSDB1OODUP分NUmpdb?PUUMMDB?SDATAENDSM的tacksegment 数,要求:STADB1OODUP(?)S中OPEQULENGTHSTA计STACKENDSCODESEGMENTASSUMEDS:DATA,CS:CODE,SS:STACK,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVAX,STACKMOVSS,AXMOVSTOPMOVSI,OFFSETBUF1MOVDI,OFFSETPL
13、USMOVBX,OFFSETMINUSMOVDX,00;记录正负数个数清零MOVCX,64;设置循环次数LOP:MOVAL,SI;取一个数TESTAL,08H判断正负JNZNEXT负数跳MOVDI,AL;正数挪到 PLUSINCDIINCDH正数个数+1NEXT:MOVBX,AL 负数挪到 MINUSINCBXINCDL;负数个数+1LOOPLOPMOVAX,OFFSETNUMPMOVAX,DH放正数个数MOVAX,OFFSETNUMMMOVAX,DL;放负数个数MOVAH,4CHINT21HCODEENDSENDSTART2使用1子 2程答:中 NUM的累加和存放在AX中。DAtasegme
14、nt现D上 数UM1DBX?,X10缩CD数,试编写完整的汇编程序,并两并UM2DB5DUP:存放ATAENDSNUM中;STACKSEGMENTSTADB100DUPTOPEQULENGTHSTASTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK;ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVAX,STACKMOVSS,AXMOVSTOPMOVSI,OFFSETNUM1MOVDI,OFFSETNUM2MOVCX,05;设置循环次数CALLTRN;调用转换子程序MOVSI,OFFSETNUM2MOVCX,0
15、5;设置循环次数CALLPLSS调用加法子程序MOVAH,4CHINT21HTRNSPROCNEA转换子程序LOP:PUSHCX保护 CXMOVAL,SI;取一个非压缩BCD马INCSIMOVAH,SI再取一个INCSIMOVCL,04H设置左移次数SHLAH,CL第二个BCD马左移四位ORAL,AH第二个与第一个相或MOVDI,AL;存至U NUM2INCDIPOPCX 恢复 CXLOOPLOPRETTRNSENDPPLSSPROCNEA相加子程序MOVAX,00; AX 清零CLC CF清零LOP:PUSHCX保护 CXMOVBL,SI;取一个压缩 BCD码INCSIMOVBH,BLAND
16、BL,0FH第一个取低四位ADCAL,BL 加到 ALAAA非压缩BCD码加法调整ANDBH,0F0H第二个取高四位MOVCL,O4HSHRBH,CL右移四位ADCAL,BH 加到 ALAAAPOPCXLOOPLOPRETPLSSPROCENDSCODEENDSENDSTART四、可编程接口芯片应用技术8253 的 CLK0输入脉冲 F=500KHz OUT1接 8255 的 A 口,8255的B 口接6个LED要求:1.依据接线图写出8255的A 口,B 口,C 口及控制寄存器的端 口地址,8253的计数器CNTO、CNT1 CNT2及控制寄存器的端口地 址。2.使B 口的LED按以下顺序循环点亮:“ LED(”,LEDf,,, “ LED5,LED0,LED1,”,每个LED点亮1秒后切换,反复循环,如键盘有按键就停止。试编写完整的汇编程序。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1