微机原理、汇编与接口技术分析题.doc

上传人:rrsccc 文档编号:9607581 上传时间:2021-03-11 格式:DOC 页数:11 大小:1.83MB
返回 下载 相关 举报
微机原理、汇编与接口技术分析题.doc_第1页
第1页 / 共11页
微机原理、汇编与接口技术分析题.doc_第2页
第2页 / 共11页
微机原理、汇编与接口技术分析题.doc_第3页
第3页 / 共11页
微机原理、汇编与接口技术分析题.doc_第4页
第4页 / 共11页
微机原理、汇编与接口技术分析题.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《微机原理、汇编与接口技术分析题.doc》由会员分享,可在线阅读,更多相关《微机原理、汇编与接口技术分析题.doc(11页珍藏版)》请在三一文库上搜索。

1、(汇编)分析题(汇编)分析题 1.MOV AX,0BC5FH MOV BX,0C0FBH AND AX,BX AND AX,BX 上述程序段运行后, AX=805BHAX=805BH,BX=0C0FBHBX=0C0FBH,CF=0CF=0 2. A DB 0F8H B DB 3 DUP(?) LEA DI,B MOV CX,3 MOV AL,A LOP:SAR AL,1 MOV DI,AL INC DI LOOP LOP 上述程序段运行后,从 B 单元开始 依次存放的数据是多少? 依次存放依次存放 FCHFCH、FEHFEH、FFHFFH 3. 已知 BUF 开始的数据区中存放有 10 个大、

2、小写字母,下面程序段完 成的功能是什么? MOV CX,10 LEA BX,BUF K2: MOV AL,BX CMP AL,Z JBE K1 SUB AL,20H MOV BX,AL K1: INC BX LOOP K2 小写字母转换成大写字母小写字母转换成大写字母 4、 MOV AX, 0ABCDH MOV BX, 0CDEFH PUSH AX PUSH BX POP AX POP BX 上述程序段执行后 AXAXCDEFHCDEFH,BXBXABCDHABCDH 5、已知数据段: DATA SEGMENT STR1DB 12H,64 STR2 DB 2 DUP(B ,9) COUNT E

3、QU $-STR2 STR3 DB COUNT STR4 DW STR3 DATA ENDS 画出该数据段的存储形式。 6、说出该子程序实现什么功能。 aadpproc push bx shl ah,1 mov bl,ah shl ah,1 shl ah,1 add bl,ah add al,bl mov ah,0 pop bx ret aadpendp 该子程序实现该子程序实现 ALAH10ALAH10ALAL,AH0AH0。 7、编写一个程序段,在 DX 低 3 位 全为 1 时,使 AX1;否则使 AX1。 andand dx,7dx,7 SubSub dx,7dx,7 jzjz nex

4、tnext movmov ax,1ax,1 jmpjmp donedone next:movnext:mov ax,-1ax,-1 done:done: 8、给下面程序段加上合适的指令, 该程序段使一个 50 个字节元素的数 组,其首地址为 array,每个元素 减 2(不考虑溢出或借位)存于原 处。 . mov si,0 again: sub arraysi,2 . loop again movmov cx,50cx,50 incinc sisi 五、指出下列标志位的含义 (1) CF (2)OF(3)AF(4)ZF (5) DF (1)(1) 进位标志。若运算结果的最高进位标志。若运算结果

5、的最高 位产生一个进位或借位,则位产生一个进位或借位,则 CF=1CF=1, 否则否则 CF=0CF=0。 (2)(2) 溢出标志。若在算术运算中带溢出标志。若在算术运算中带 符号数的运算结果,当字节运算时符号数的运算结果,当字节运算时 大于大于+127+127 或小于或小于-128-128;字运算时大;字运算时大 于于+32767+32767 或小于或小于-32768-32768,则,则 OF=1OF=1, 否则否则 OF=0OF=0。 (3)(3) 辅助进位标志。若在字节操作辅助进位标志。若在字节操作 时,由低半字节向高半字节有进位时,由低半字节向高半字节有进位 或借位;或在字操作时,由低

6、位字或借位;或在字操作时,由低位字 节向高位字节有进位或借位,则节向高位字节有进位或借位,则 AF=1AF=1,否则,否则 AF=0AF=0。 (4)(4) 零标志。若运算结果为零标志。若运算结果为 0 0,则,则 ZF=1ZF=1,否则,否则 ZF=0ZF=0。 (5)(5) 方向标志。若用指令置方向标志。若用指令置 DF=1DF=1,则串操作指令就为自动减量,则串操作指令就为自动减量 指令,也就是从高地址向低地址处指令,也就是从高地址向低地址处 理串;若理串;若 DF=0DF=0,则串操作指令就为,则串操作指令就为 自动增量指令,也就是从低地址向自动增量指令,也就是从低地址向 高地址处理串

7、。高地址处理串。 六、 (1)若 STR 是字符串的首地址,指 出下列程序的功能,并将语句加上 注解。 LEA BX , STR 置地址指针置地址指针 MOV CX , 20 置计数器初值置计数器初值 LP : CMP BX , ;控制端口地址控制端口地址: 9003H9003H movmov al,10000001Bal,10000001B; ;方式控制字方式控制字: 91H91H outout dx,aldx,al;A;A 端口方式端口方式 0 0 输出输出, C C 端口上输出、下输入端口上输出、下输入 movmov al,00001111B;al,00001111B;端口端口 C C

8、的复位置的复位置 位控制字位控制字,使使 PC7PC71 1 outout dx,aldx,al;打印子程序打印子程序:查询查询 printcprintcprocproc pushpush axax pushpush dxdx prn:prn: movmov dx,9002hdx,9002h; ;读取端读取端 口口 C C inin al,dxal,dx; ;查询打印机查询打印机 状态状态 andand al,04h;PCal,04h;PCBUSYBUSY0 0? jnzjnz prnprn ;PC2;PC21 1,打印机打印机 忙忙,则循环等待则循环等待 movmov dx,9000hdx,

9、9000h ;PC2;PC20 0,打打 印机不忙印机不忙,则输出数据则输出数据 movmov al,ahal,ah outout dx,aldx,al; ;将打印数据将打印数据 从端口从端口 A A 输出输出 movmov dx,9003hdx,9003h ; ;从从 PC7PC7 送出送出 控制低脉冲控制低脉冲 movmov al,00001110Bal,00001110B; ; 置置 STROBE*STROBE*0 0 outout dx,aldx,al nopnop ; ;产生一定宽度的低电平产生一定宽度的低电平 nopnop movmov al,00001111Bal,0000111

10、1B; ;置置 =1=1 outout dx,aldx,al; ;最终最终, STROBE*STROBE*产生低脉冲信号产生低脉冲信号 poppop dxdx poppop axax retret printcprintcendpendp 1 1、内部、内部 RAMRAM 低低 128128 单元划分为单元划分为 哪哪 3 3 个主要部分个主要部分? ?说明各部分的特点。说明各部分的特点。 1 1)00H1FH00H1FH 为通用工作寄存器为通用工作寄存器 区,共分为区,共分为 4 4 组,每组由组,每组由 8 8 个工个工 作寄存器(作寄存器( R0R7R0R7)组成。)组成。 (2 2 分

11、)分) 由由 RS1RS1、RS0RS0 决定当前组。决定当前组。 工作时只有工作时只有 1 1 组做当前组。组做当前组。 (1 1 分)分) 2 2)20H2FH20H2FH 位地址区位地址区 分为分为 128128 位,位地范围为位,位地范围为 00H7FH00H7FH (2 2 分)分) 3 3)30H7FH30H7FH 用户数据区用户数据区 2、指令 MOV Ri, A 和指令 MOVX Ri, A 的功能是否相同.如 果不同区别是什么? 两条指令功能是有区别的。两条指令功能是有区别的。 (2 2 分)分) 1 1)MOVMOV Ri,Ri, A A 指令是对片指令是对片 内内 RAM

12、RAM 00H7FH00H7FH 的访问的访问 (2 2 分)分) MOVXMOVX Ri,Ri, A A 指令是对片外指令是对片外 RAMRAM 低低 256256 个字节的访问个字节的访问 (2 2 分)分) 执行执行 MOVXMOVX 指令时,指令时,WRWR 引脚有引脚有 效。效。 (1 1 分)分) 1 1、 MOVMOV R2R2 , , #08H#08H MOVMOV R0R0 , , #7F#7FH H SETBSETB RS1RS1 CLRCLR RS0RS0 DL0:DL0: MOVMOV A A , , R0R0 MOVMOV DPTRDPTR , , #TAB#TAB

13、MOVCMOVC A A , , A+DPTRA+DPTR MOVMOV SBUFSBUF , , A A D0D1D2D3D4D5D60 1:置位,0:复位 无关 10101010D1 11001100D2 11110000D3 76543210位 D0D1D2D3D4D5D60 1:置位,0:复位 无关 10101010D1 11001100D2 11110000D3 76543210位 BUSY DATA07 8255A PC7 PC2 PA0PA7 打印机打印机 STROBE DL1:DL1: JNBJNB TITI , , DL1DL1 CLRCLR TITI DECDEC R0R0

14、 DJNZDJNZ R2R2 , , DL0DL0 TAB:TAB: DBDB 0C0H,0C0H, 0F9H,0F9H, 0A4H,0A4H, 0B0H,0B0H, 99H;099H;0 1 1 2 2 3 3 4 4 DBDB 92H,92H, 82H,82H, 0F8H,0F8H, 80H,80H, 90H90H ; ; 5 5 6 6 7 7 8 8 9 9 答:答:该程序段用于完成一个该程序段用于完成一个 LEDLED 静态显示电路的送显,其中,静态显示电路的送显,其中, 字形码从字形码从 串行口(或串行口(或 TXD/RXDTXD/RXD 或或 P3.0/P3.1P3.0/P3.1

15、)_ _送出(送出(3 3 分)分) ,显示缓冲区地址范围为,显示缓冲区地址范围为 78H7FH78H7FH (4 4 分)分) ,本段程序,本段程序 使用了工作寄存器组第使用了工作寄存器组第 2 2 组。组。 (3 3 分)分) 2 2、 DATAPP:DATAPP:MOVMOV A,A, 34H34H JBJB ACC.7,ACC.7, LOOPXXLOOPXX RETRET LOOPXX:LOOPXX:CPLCPL A A ADDADD A,A, #81H#81H MOVMOV 34H,34H, A A RETRET 答:该程序段所完成的功能为:答:该程序段所完成的功能为: 对片内对片内

16、 RAM34HRAM34H 单元中的原码求补单元中的原码求补 码(对片内码(对片内 RAM34HRAM34H 单元中的补码求单元中的补码求 原码)原码) 1、设有一个 8 路模拟量输入的 巡回监测系统,如下图所示,试求: (1) 、该系统中所扩展的芯片 片选信号采用的方法是线选法线选法,此 外还有 译码法译码法 ;(;(2 2 分)分) (2) 、该系统中所扩展的 RAM6264 芯片的地址范围是 6000H6000H(4000H4000H) 7FFFH(5FFFH)7FFFH(5FFFH) ; (3) 、设采样数据依次存放在 内部 RAM 60H67H 单元中,按上图 所示的接口电路,完成其

17、数据采样 程序(假定只采样一次) ; ORG 0000H MAIN: MOV R0, #60H MOVMOV R2R2,#08H#08H MOV DPTR, #0BFF8H(#0BFF8H(或或 8000H8000H 等等) ) (0.50.5 分分) MOVXMOVX DPTRDPTR , , A A LOOP: JB P3.3P3.3 ,LOOP (1 分) MOVXMOVX A,A, DPTRDPTR MOV R0, A INC DPTRDPTR INC R0R0 DJNZ R2, LOOP SJMP $ END (5 5 分)下图为计数式分)下图为计数式 A/DA/D 转转 换的原理图

18、,简述其工作原理?再换的原理图,简述其工作原理?再 写出两种常用的写出两种常用的 A/DA/D 转换方法。转换方法。 计数式 A/D 转换的原理: (1 1)S S 由高变低,计数器清零,由高变低,计数器清零, S S 变高,准备计数;变高,准备计数;(1 1 分)分) (2 2)计数器输出)计数器输出 0 0,VoVo0 0,ViVoViVo,C C1 1,计数器计,计数器计 数;数;(1 1 分)分) (3 3)VoVo 升高,升高,Vi=VoVi=Vo 时,时, C C0 0,计数器停止计数。,计数器停止计数。 (1 1 分)分) D D7 7D D0 0即是即是 ViVi 对应的数字量

19、。对应的数字量。 比较器从比较器从 1 1 变为变为 0 0 的下降沿也是的下降沿也是 A/DA/D 转换结束信号。转换结束信号。 常用的常用的 A/DA/D 转换方法:双积分转换方法:双积分 式、逐次逼近式式、逐次逼近式 (2 2 分)分) 1、 (5 分)设 8255A 各端口的地址 分别为 80H、82H、84H、86H,编写 初始化程序,使端口 A 工作于方式 0 输出,端口 B 方式 0 输入,端口 C 高四位输出,端口 C 低四位输入, 并对端口 C 的 PC6位清 0,对 PC2位 置 1。 MOVMOV AL,AL, 83H;83H;控制字控制字 10001000 0011B0

20、011B OUTOUT 86H,86H, ALAL (2 2 分)分) MOVMOV AL,AL, 0CH0CH 。 OUTOUT 86H,86H, ALAL (2 2 分)分) MOVMOV AL,AL, 05H05H 。 OUTOUT 86H,86H, ALAL (1 1 分)分) 2、 (9 分)8255A 作为打印机的 接口,工作于方式 0,如图所示。 工作过程:当主机要往打印机 输出字符时,先查询打印机的忙信 号(BUSY) ,如果打印机忙,则 BUSY 信号为 1,否则为 0。当查询 到 BUSY 为 0 时,可通过 8255A 往打印机输出一个字符, 此时,要将 置为低电平,然S

21、TB 后再使为高电平,相当于在STB 端输出一个负脉冲,此负脉STB 冲作为打印机的选通信号。 设在 CL 寄存器存放着一待打印 字符,请写出 8255A 的初始化程序 及把待打印字符送打印机打印的程 序。8255 的地址为 20H26H。 MOVMOV AL,AL, 82H82H (83H83H) ;10001000 0 0 0 0 01X01X B B OUTOUT 26H,26H, ALAL;设置工作方式设置工作方式 (2 2 分分) MOVMOV AL,AL, 0DH0DH ; 00 1101B1101B OUTOUT 0D6H,0D6H, ALAL;PC6PC6 置位置位 (2 2

22、分分) LPST:LPST: ININ AL,AL, 22H22H;读读 B B 端口端口 ANDAND AL,AL, 01H01H ;00000000 0100B0100B JNZJNZ LPSTLPST ;打印机忙打印机忙,继继 续查询续查询,否则打印否则打印(2 2 分分) MOVMOV AL,AL, CLCL OUTOUT 20H,20H, ALAL;待打印字符送端口;待打印字符送端口 A A (1 1 分)分) MOVMOV AL,AL, 0CH0CH;00 1100B1100B OUTOUT 26H,26H, ALAL;PC6PC6 置位置位 INCINC ALAL OUTOUT

23、26H,26H, ALAL;PC6PC6 置位置位 (2 2 分)分) 3、 (10 分)8255A 作为打印机 的接口,工作于方式 0,如图所示。 工作过程:当主机要往打印机 输出字符时,先查询打印机的忙信 号(BUSY) ,如果打印机忙,则 BUSY 信号为 1,否则为 0。当查询 到 BUSY 为 0 时,可通过 8255A 往 打印机输出一个字符,此时,要将 置为低电平,然后再使 STB 为高电平,相当于在端 STBSTB 输出一个负脉冲(初始状态为高电 平) ,此负脉冲作为打印机的选通 信号。 现将 A 端口作为传送字符的通 道,工作于方式 0;PB0 作为 BUSY 信号输入端,P

24、C0 作为信号输 STB 出端。设在 BUFFER 所指向的内存 单元存放着一待打印字符,请写出 8255A 的初始化程序及把待打印字 符送打印机打印的程序。 参考答案: 82558255 各端口的地址:各端口的地址: 80H80H,82H82H,84H84H,86H86H MOVMOV AL,AL, 82H82H 或或 8AH8AH ;(;(1000010B1000010B) OUTOUT 86H,86H, ALAL MOVMOV AL,AL, 01H01H OUTOUT 86H,86H, ALAL LPSTLPST:ININ AL,AL, 82H82H AND/TESTAND/TEST A

25、L,01HAL,01H 或(或(SHRSHR AL,1AL,1 ) JNZJNZ LPSTLPST (JC(JC LPST)LPST) MOVMOV AL,AL, BUFFERBUFFER OUTOUT 80H,80H, ALAL MOVMOV AL,AL, 00H00H OUTOUT 86H,86H, ALAL INCINC ALAL OUTOUT 86H,86H, ALAL 4、 (8 分)完成 8253A 的初始 化程序,使 8253A 的计数器 1 输入 8MHZ 的时钟信号,输出 2KHZ 的方 波,以二进制方式计数。8253A 的 地址为 60H66H。 (1)求计数器 0 的初值

26、。 N N8MHZ/2KHZ8MHZ/2KHZ40004000 (2)完成 8253A 的初始化程序。 MOVMOV AL,AL, 76H76H ;0111110B;0111110B OUTOUT 66H,66H, ALAL ; ;设控制字设控制字 MOVMOV AX,AX, 40004000 OUTOUT 62H,62H, ALAL MOVMOV AL,AL, AHAH OUTOUT 62H,62H, ALAL ; ;设初值设初值 5、 (14 分)将 8253 的计数器 0 设置为方式 3,计数器 1 设置为 方式 0 串联使用,启动计数后,经 过 2 秒 OUT1 输出高电平,通过 82

27、55 的 B 口查询 OUT1 的输出电平, 用 C 口输出电平控制指示灯的燃灭, PC0 为高电平,指示灯亮,否则灭。 编写程序使用 8253 定时,让指示 灯周而复始的亮 5 秒,灭 5 秒, 8253 采用二进制计数。设 8253 的 端口地址为: 20H、22H、24H、26H,8255 的端 口地址为:28H、2AH、2CH、2EH。 参考答案:参考答案: 注:注:82538253 两个计数器的初值只要满两个计数器的初值只要满 足乘积为足乘积为 50000005000000 即可。即可。 START:START: MOVMOV AL,82HAL,82H ; ; 1010B1010B

28、,设,设 82558255 为为 B B 口输口输 入入,C,C 口输出口输出 OUTOUT 4EH,AL4EH,AL LLL:LLL: MOVMOV AL,01/00AL,01/00 ; ;将将 PC0PC0 置位置位 OUTOUT 4EH,AL4EH,AL CALLCALL DELAYDELAY ; ;延时延时 2S2S MOVMOV AL,00/01AL,00/01 ; ;将将 PC0PC0 复位复位 OUTOUT 4EH,AL4EH,AL CALLCALL DELAYDELAY ; ;延时延时 2S2S JMPJMP LLLLLL ; ;转转 LLLLLL DELAYDELAY PRO

29、CPROC NEARNEAR ; ;延时子程序延时子程序 MOVMOV AL,36HAL,36H OUTOUT 46H,AL;46H,AL;设设 82538253 计数器计数器 0 0 为方为方 式式 3 3 MOVMOV AX,10000;AX,10000;写入计数器初值写入计数器初值 1000010000 OUTOUT 40H,AL40H,AL MOVMOV AL,AHAL,AH OUTOUT 40H,AL40H,AL (4 4 分)分) MOVMOV AL,70HAL,70H OUTOUT 46H,AL;46H,AL;设计数器设计数器 1 1 为工作方式为工作方式 0 0 MOVMOV

30、AX,500;AX,500;写入计数器初值写入计数器初值 200200 OUTOUT 42H,AL42H,AL MOVMOV AL,AHAL,AH OUTOUT 42H,AL42H,AL (4 4 分)分) LL2:LL2: ININ AL,AL, 4AH;4AH;查询查询 82558255 的的 PB0PB0 是否为高电平是否为高电平 ANDAND AL,01AL,01 JZJZ LL2LL2 ; ;若不是则继续若不是则继续 (2 2 分)分) RETRET ; ;定时时间到,子程序返回定时时间到,子程序返回 DELAYDELAY ENDPENDP (2 2 分)分) 6、 (10 分)设

31、DAC0832 输出 的电压范围为 0V10V,用单缓 冲方式实现 D/A 转换,画出主要 信号的连接关系(在原图上画即 可) ,并编写程序,希望输出电 压在 2V8V 之间变化的锯齿波, 如图所示。 参考答案:参考答案: 2 2V V 对应的数字量为:对应的数字量为: D Dx1 x1=2255/10=33H =2255/10=33H (1 1 分)分) 8V8V 对应的数字量为:对应的数字量为: D Dx2 x2=8255/10 =8255/10 =0CCH=0CCH(1 1 分)分) 参考程序:参考程序: LOP1:LOP1: MOVMOV AL,32HAL,32H LOP2:LOP2:

32、 INCINC ALAL OUTOUT 42H,42H, ALAL (2 2 分)分) CMPCMP AL,AL, 0CCH0CCH JBJB LOP2LOP2 JMPJMP LOP1LOP1 (2 2 分)分) 6、 (10 分) 8255A 作为连接 A/DC 的接口。 计算机要采集 A/D 转换的数据, 需先启动 A/DC,即发一低电平信 号给 START; A/D 转换结束,使 EOC 输出有效高电平,CPU 查询 EOC 有效,可把数据从端口读入。 编写驱动程序,使 A/DC 进行转 换,计算机通过 8255A 读取转换 后数据。 STA:MOVAL,98HSTA:MOVAL,98H

33、 ;1001100B;1001100B MOVMOV DX,DX, 0126H0126H OUTOUT DX,DX, ALAL ; ;送送 8255A8255A 方式字方式字 MOVMOV AL,AL, 00H00H OUTOUT DX,DX, ALAL ; ; PC0=0PC0=0 ,START=START= 0 0,启动转换(,启动转换(2 2 分)分) TST:TST: MOVMOV DX,DX, 0124H0124H ININ AL,AL, DXDX ; ;读读 C C 口状态口状态 ANDAND AL,AL, 80H80H ; ;查询查询 EOCEOC 状态状态 JZJZ TST;T

34、ST;如未转换完,再测试如未转换完,再测试 MOVMOV AL,AL, 01H01H OUTOUT DX,DX, AL;AL; PC0=1PC0=1,START=1START=1 ,撤销启动信号,撤销启动信号 MOVMOV DX,DX, 0120H0120H ININ AL,AL, DXDX; ;从从 A A 端口输入转换结端口输入转换结 果果 7、 (8 分)存储器的扩展方法 有哪几种?用 1K 8 位的存储芯 片组成 2K 8 位的存储器。请按 照存储器扩展的方法将芯片连起来 。 A0A9 D0D7 WE OE CE 说明:地址线、数据线、片选说明:地址线、数据线、片选 信号线和读写信号线

35、的连接各信号线和读写信号线的连接各 1 1 分。分。 扩展方法有:扩展方法有:数据宽度数据宽度 扩充(位扩展)扩充(位扩展) (1 1 分)分) ; 字节数的扩充字节数的扩充( (字扩展字扩展) ) (1 1 分)分) ; 字位全扩展字位全扩展 (1 1 分)分) 9、用 32K8b 的 EPROM 芯片 27C256,构成 64K16b 的 EPROM 子 系统。 ,需要多少片 27C256?请按 照存储器扩展的方法将芯片连起来 。 需要芯片的个数:(需要芯片的个数:(64K/32K64K/32K) (16b/8b16b/8b)= = 2222 = = 4 4 片片 10、 (12 分)画出 8086 系统的 最小模式配置图,标出主要信号的 连接关系。 (地址锁存器用三片 8282,总线收发器用两片 8286,锁 存器 8282 的真值表如表一所示,总 线收发器 8286 的真值表如表二所示。 ) 表一 8282 真值表 表二 8286 真值表 (注:可编辑下载,若 有不当之处,请指正,谢谢!) OESTBDIDO LHHH LHLL LL 锁存 H 高阻 OET 功能 LLB A LHA B H 高阻

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1