1一、填空(每空0.5分,共15分)1、设[X]补=11100011,[Y]补=00110010,[X]原=10011101,[X-Y]补=10110001。[X-Y]=[X]补+[-Y]补[-Y]补=对[Y]原连符号位一起求反,再加12、计算机的指令应包括操作码和操作数两个部分。3、定义数据字的伪指令为DW,定义汇编结束的伪指令为END。4、8086CPU从内部功能上可分为BIU和EU两个独立的功能部件5、8088CPU的地址总线有20条,最大内存空间为1M,物理地址是由段地址和偏移地址形成的。6、设SS=1000H,SP=3000H,AX=128AH,CX=0931H则执行下列指令PUSHAXPUSHCXPOPAX后SS=1000H,SP=2FFEH,AX=0931H,CX=0931H。7、IBMPC的汇编语言中,对I/O端口的访问采用两条特殊指令,读端口和写端口两条指令的助记符分别是IN和OUT。8、写出3条能让AX=0的指令,它们是MOVAX,0、XORAX,AX、ANDAX,0。9、在8088系统中五片中断控制器8259可控制36个中断源。10、MOVAX,10H[BX+DI]对源操作数来说是基址加变址相对寻址方式。11、某8位A/D转换器的满度输入电压为10V,其量化误差为±0.02(=±(10V/(28-1))/2)V。12、某数的压缩BCD码为:0000,0001,0000,0001B,则其非压缩BCD码为:0000,0000,0000,0001,0000,0000,0000,0001。13、8088CPU的引脚中,可屏蔽中断输入端是INTR,非屏蔽中断输入端是NMI;当执行总线输出操作时,引脚RD输出高电平,引脚WR输出低电平;当访问端口时,引脚M/IO输出低电平二、选择题(每题1分,共10分)1、微型计算机在硬件上是由A四大部分分组成。A.微处理器、存储器、I/O接口和总线;B.ALU、寄存器组、程序计数器和指令系统;C.微处理器、存储器、输入设备、输出设备;D.主板、硬盘、键盘、显示器;2、n+1位符号数x的补码表示范围为DA.-2n<x<2nB.-2n≤x≤2nC.-2n-1≤x<2nD.-2n≤x<2n3、下列8088指令中,含有非法操作数寻址的指令是C。A.MOVAX,[10H]B.INAX,DXC.MOV[BX][BP],10HD.MOVBX,COUN[SI]4、以下四个标志位取值中,表示累加器运算结果为零的是C。A.OF=1B.OF=0C.ZF=1D.ZF=05、8088系统对中断请求响应优先级最低的请求是B。A.NMIB.单步中断C.除法错中断D.INTR6、若CPU的地址线为共16条,而某存储器芯片单元为2K,则加在该存储器芯片上的地2址线为A。A.A0~A10B.A0~A11C.A0~A12D.A0~A137、在数据传送指令中要注意:立即数只能作为A。A.源操作数B.目的操作数C.源操作数和目的操作数D.源操作数或目的操作数8、8255工作于中断方式传送数据时,可供使用的8位数据端口个数有_B___。A.1B.2C.3D.49、8086/8088响应不可屏蔽中断时,其中断类型码是A。A.由CPU自动产生B.从外设取得C.由指令INT给出D.由中断控制器提供10、8086/8088进行外设访问的地址空间为C。A.00H~FFHB.0000H~03FFHC.0000H~FFFFHD.00000H~FFFFFH二、阅读程序,回答问题(20分)1、MOVAH,0(5分)MOVAL,45HMOVCL,04HSALAX,CLSHRAL,CLHLT执行程序段后,AX=0405H2、CLD(5分)LEADI,[0126H]MOVCX,0100HXORAX,AXREPSTOW程序段功能是将地址为0126H开始的256个字单元清0。3、数据段定义如下:地址内容(10分)DATASEGMENTBUF1DB1,2,3,‘123’L1EQU$-BUF1BUF2DW0L2EQUBUF2-BUF1DATAENDS设定位后BUF1的地址为2000:0000①.在右图中写出该段占用内存情况②.填空L1=___6___L2=___6____四、编写程序(共20分)1、在数据段中,从2000H单元开始存放了50个8位字符,试编程序,求出其123‘1’‘2’‘3’003中’A’的个数,并将结果送入NUM单元中。(10分)STACKSEGMENTSTACKDB20DUP(?)STACKENDSDATASEGMENTNUMDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVSI,2000HMOVCX,50MOVBL,00HA1:MOVAL,[SI]CMPAL,’A’;CMPAL,41HJNZA2INCBLA2:INCSILOOPA1MOVNUM,BLINT03HCODEENDSENDSTART2、8位D/A转换器DAC0832的输出电压范围为0~5V,端口地址为4321H,试编程实现产生0~3V锯齿波的程序(10分)MOVDX,4321H;端口地址送DXA1:MOVAL,00H;准备起始输出数据LOOP:OUTDX,ALCALLDALLYINCALCMPAL,99H;0FFh*3/5JNCA1JMPLOOPDALLY:MOVCX,0500HA2:LOOPA2RET五、下图为SRAM6116芯片与8088系统总线的连接图(10分)(1)写出6116芯片的存储容量;(2)分析每片6116所占的内存地址范围。4(1)6116芯片的存储容量是2k*8bit(2)第一片6116的内存地址范围是F1000H~F17FFH第二片6116的内存地址范围是F1800H~F1FFFH六、8255A接口电路如题六图所示:已知8255A控制字寄存器的端口地址为103H,用全译码方式(地址线只用A0~A9)画出8255A与8088系统总线接口连线图,编写8255A初始化程序和循环彩灯控制程序。初始时D0亮,其余不亮,D0亮一秒后移位一次,D1亮,其余不亮,以此类推每隔一秒移位一次,每移位8次为一个循环,共循环8次。要求用汇编语言写出满足上述要求的程序段(已知一个延时1秒的子程序入口地址为DELAY1S)。(15分)...+5V1K1KL1L8PB0PB7D0~D7D0~D7IOWIORA0A1WRRDCSA0A1G1G2BG2A≥1A8A9A7A6A5A4A3A2CBAY08255的控制字:80H(D7=1,D2、D0=0)MOVAL,80HMOVDX,103HOUTDX,ALMOVAL,1MOVDX,101HNEXT1:OUTDX,ALCALLDELAY1SROLAL,1JMPNEXT1七、8253与8088CPU的连线如图所示。(10分)(1)写出8253的0#、1#、2#计数器及控制寄存器的地址,8088未用的地址线均设为0。5(2)设8253的0#计数器作为十进制计数器用,其输入计数脉冲频率为100KHz,要求0#计数器输出频率为1KHz的方波,试写出设置8253工作方式及计数初值的有关指令。A9A8A7A6A5A4A3A2A1A0G1AG24YBG2CBAD7…D0VccCSGATE0RDCLK0WROUT0A1A0数据总线IORIOW+5V100KHz1KHz8088CPU74LS1388253(1)地址:210H~213H2分(2)控制字00110111,N=100KHz/1KHz=100MOVAL,37H8分MOVDX,213HOUTDX,ALMOVDX,210HMOVAL,00HOUTDX,ALMOVAL,01HOUTDX,AL