《微机原理补充习题.doc》由会员分享,可在线阅读,更多相关《微机原理补充习题.doc(3页珍藏版)》请在金锄头文库上搜索。
1、补充习题1编程在数据段的以BUF开始的单元中存放着一字符串,试编写程序(要求按汇编语言的格式编写)测试该字符串中是否存在数字。如有数字,则把BL寄存器的D4位置1,否则置0。DATASEGMENTBUF DB ABCDHACDQERAGACOUNTEQU $-BUFDATAENDSCODESEGMENTASSUME CS:CODE,DS:DATA START:MOV AX , DATAMOV DS , AXMOV AH ,4CHINT 21HCODEENDSEND START2源程序及8254的方式控制字格式如下:MOV DX, 143HMOV AL, 77HOUT DX, ALMOV AX,
2、 0DEC DXDEC DXOUT DX, ALMOV AL, AHOUT DX, AL 设8254的端口地址为140H143H,问:(1)程序是对8254的哪个通道进行初始化?(2)该通道的计数常数为多少?安排该通道工作在哪种工作方式?(3)若该通道时钟脉冲CLK的周期为1s,则输出脉冲OUT的周期为多少s?3下图中,AB7AB0为8086CPU低八位地址总线。 试问:(1)8259A占用_个端口地址,分别为_,其中ICW1的设置地址为_;(2) 8255A占用_个端口地址,分别为_,其中控制寄存器的地址为_。4 阅读下图,ADC0809通过8255和8086 CPU相连,8255的口地址为
3、80H83H,CPU通过8255的A口读取ADC0809转换后的数据。试分析程序,回答以下问题。D7D0 PA7PA0WRRDA1 PC1A0 8255 PC6CSD7D0 IN0OEEOC IN7 ADC 0809START ADDAALE ADDB ADDCCPU的DBCPU的WR+5VCPU的RDCPU的A0CPU的A1 80H83H 对8255进行初始化及启动A/D转换并读取A/D转换的数据的部分程序段如下: MOV BX,2000HMOV CX,10 MOV AL, ;对8255进行初始化 OUT 83H,ALLP2:MOV AL,0DHOUT 83H,ALNOPMOV AL,0CHOUT 83H,ALLP1:IN AL, ;读8255 C口,查询EOCTEST AL,02JZ LP1IN AL,80H ;读A/D转换结果MOV BX,AL INC BXLOOP LP2试问:(1) 将程序当中的空格填上。(2) 8255的A、C口分别工作在何种方式? (3) ADC0809转换的是哪一个通道的模拟量? (4) 程序启动了几次A/D转换?转换后的结果放于何处? (5) 程序中指令NOP所起的作用是什么? 第 3 页 共 3 页