第一篇:微型计算机原理与接口技术复习重点
题型:
填空题30-35分左右
简答题30-35分左右
读程序题 12分左右
两个大题 23分左右
1、第三代16位微处理器的特点
2、补码的计算
3、微型计算机硬件系统的主要构成4、CPU的基本功能、特点及意义
5、总线的概念及分类,各种分类的基本特点
6、第三、四章指令系统及汇编,这是这门课的核心,如果时间允许应该全部掌握。
重点理解MOV, PUSH/POP, IN/OUT, ADC, ADD, INC, DEC, XOR, CMP, 及LOOP指令、JNC/JNZ等条件转移指令的含义及应用。
重点理解伪指令中的数据定义伪指令和段定义伪指令。
7、存储器系统的概念及分类
8、重点掌握用指定芯片构成指定地址范围的存储器系统,画出存储器连接图并指出各存储器芯片的地址范围。
9、Cache的概念、原理、作用及操作。
以上是前五章的主要内容,我在最后一次上课时都重点提到过的。
前五章约占50分。
后面三章主要由严老师答疑及划重点,约占50分
按照我的理解,大致可以如下归类:
第六、第八章主要是基本概念,即填空和简答为主。
第七章包括一些基本概念,重点掌握几种可编程接口芯片的应用,如8255芯片等,请结合严老师的课件进行复习。
第二篇:单片微型计算机原理及接口技术第三版复习总结
单片机复习总结
O、计算机的基本原理
计算机数值表示(原码、反码、补码)中断
存储器(堆栈)
一、绪论
要求:熟悉,不作为考试内容
二、MCS-51单片机系统结构
1、硬件结构 了解
2、引脚功能 熟悉,掌握在外部功能扩展中的应用
3、中央处理器 熟悉各个寄存器的基本功能
掌握振荡周期、机器周期及指令周期的概念 时钟,复位的定义
三、存储器结构
1、四个物理空间:内、外程序存储器,内、外数据存储器
三个逻辑空间:程序存储器,内、外数据存储器
2、程序存储器地址空间
重点掌握:低地址段的保留单元
3、数据存储器地址空间
重点掌握:内部数据存储器,地址范围,特点,SFR 外部数据存储器,寻址范围及寻址方式
4、位处理器
熟悉位处理器组成及位存储器地址范围
四、指令系统
1、指令的寻址方式(掌握)
7种寻址方式,名称、格式、寻址范围
2、指令系统(五大类)
要求:指令的格式,寻址方式,执行操作,对标志位影响,程序段编写。
五、定时/ 计数器
要求:初始化程序,中断或非中断情况下的应用编程
定时计数器特点:16位加1计数器,计数初值为计数长度的补码;可程控为4种不同工作方式。
初始化程序:
1、计数常数的计算
2、置工作方式字
3、置THX,TLX
4、置TRX启动计数
5、置EA、ETX开中断
六、中断系统
1、中断的概念
2、与中断有关的寄存器
3、中断源:外部及内部中断源,中断触发方式,如何设置
4、MCS-51中断优先级的处理原则,同级中断申请的查询次序。
5、中断处理过程(了解),各个中断源对应中断矢量(掌握),中断响应条件(掌握)。
6、中断程序编写的步骤
七、串行通讯口
1、串行通讯概述(熟悉,了解)重点:异步串行通讯的帧格式
2、MCS-51的串行通讯口
SCON串行控制寄存器,PCON(SMOD位作用)
串行通讯工作方式(熟悉了解),掌握不同工作方式的特点及帧格式,如何启动发送及接收。
串行通讯波特率,常用波特率的获得(掌握)。
串行通讯编程,初始化程序、简单应用程序
八、功能扩展
1、A/D、D/A转换的原理,逐次比较式AD转换的原理
给出接口芯片,画接口电路图;
根据接口电路图,写转换程序
2、键盘(行扫描法、反转扫描法)以及LED显示(静态显示、动态显示)的工作原理 习题示例:
请将(1)~(5)的词汇和A~J的说明联系起来(1)CPU ——()(2)PC ——()(3)SP ——()(4)指令 ——()(5)堆栈 ——()
(A)总线接口单元,负责与存储器、I/O接口传送信息(B)存放下一条要执行的指令的地址
(C)保存各个逻辑段的起始地址的寄存器(D)保存当前栈顶即堆栈指针的寄存器
(E)微型计算机的核心,包括运算器、控制器和寄存器3个主要部分(F)以后进先出方式工作的存储空间
(G)告诉CPU要执行什么操作,在程序运行时执行(H)执行单元,功能是执行指令
(6)断电后存储的资料会丢失的存储器是()
A.RAM B.ROM C.CD-ROM D.(7)若内存容量为64KB,则访问内存所需地址线()A.16 B.20 C.18 D.19(8).不需要访问内存的寻址方式是()
A.立即寻址 B.直接寻址 C.间接寻址 D.变址寻址
读程序
ORG 2000H MOV SP, #50H MOV A, #50H LCALL 2500H ADD A, #10H MOV B, A L1: SJMP L1 ORG 2500H
MOV DPTR, #200AH PUSH DPL
PUSH DPH
RET
上述程序执行后,SP= _________ A= _________ B=_________
ORG 0000h MOV DPTR,#2100H MOVX A,@DPTR ANL A,#0FH
SWAP A MOV B,A
INC DPTRMOVX A,@DPTR ANL A,#0FH ORL A,B INC DPTR MOVX @DPTR,A LOOP: SJMP LOOP
END
已知2100H,2101H单元中的数均为0FH,则程序执行后2102H中的数为______________ A=_________ B=_________
MOV DPTR,#2314H ……__________ MOV R0,DPH … … … …__________ MOV 14H,#22H … … …__________ MOV R1,DPL … … … …__________ MOV 23H,#56H … … …__________ MOV A,@R0 … … … … __________ XCH A,DPH … … … … __________
执行以上指令后A=_______ DPTR= _______
请写出下图中Y6,Y7引脚所对应的地址
汇编语言程序编写:
双字节与单字节无符号数相乘,设被乘数存于41H,40H单元中,乘数存于R4单元中,乘积存于52H、51H、50H单元中(前者为高字节,后者为低字节)。请编写此乘法程序段 •MOV •MOV •MUL •MOV •MOV • MOV •MOV •MUL •MOV •MOV •MOV •CLR •ADD •MOV •MOV •ADDC •MOV •
B, 40H A R4 AB 50H, A 40H, B B, 41H A R4 AB 51H, A 52H, B A, 40H C A, 51H 51H,A A, 52H A, #0 52H,A 试计算片内RAM区40H~47H八个单元中数的算术平均值,结果存放在4AH中 •MOV R0, #40H •
MOV 4AH,#0 •
MOV 4BH,#0 •LOOP: CLR C •
MOV A, @R0 •
ADD A, 4AH •
MOV 4AH,A •
MOV A, 4BH •
ADDC A, #0H •
MOV 4BH,A •
INC R0 •
CJNZ R0, #48H,LOOP •
MOV R2,#3
;右移三次,相当于除8 •
ACALL RR_LOOP •
RET •;双字节(4BH,4AH)右移子程序
•;右移的次数在R2中 • • RR_LOOP: CLR C •
MOV A, 4BH •
RRC A •
MOV 4BH,A •
MOV A, 4AH •
RRC A •
MOV 4AH,A •
DJNZ R2, RR_LOOP •
RET
•试编写计算1234H+0FE7的程序,将和的高8位存入41H单元中,低8位存入40H单元中。•MOV A, #34H •ADD A, #0E7H •MOV 40H, A •MOV A, #12H •ADDC A, #0FH •MOV 41H, A
•试编写程序,将内部RAM的20H、21H、22H、23H、和24H连续5个单元的内容一次存入2FH、2EH、2DH、2CH、2BH单元 MOV R7, #05H
MOV R0, #20H
MOV R1, #2FH LOOP: MOV A, @R0
MOV @R1, A
INC R0
DEC R1
DJNZ R7, LOOP
第三篇:微型计算机原理与接口技术期末总结(全能版)
0~9的ASCⅡ码为30H ~ 39H A~F的ASCⅡ码为41H ~ 46H 回车符的ASCⅡ码为0DH 换行符的ASCⅡ码为0AH
①机器数比真值数多一个符号位。②正数的原、反、补码与真值数相同。
③负数原码的数值部分与真值相同;负数反码的数值部分为真值数按位取反;负数补码的数值部分为真值数按位取反末位加1。
④没有负零的补码,或者说负零的补码与正零的补码相同。
一个计量器的最大容量称为该计量器的“模”
计算机:硬件:中央处理器CPU、(运算器、控制器)、存储器系统、I/O接口、电源系统、I/O设备软件:系统软件、应用软件
总线是CPU与存储器、I/O接口交换信息的公共通道
地址总线:传输CPU访问存储器,访问I/O端口的地址信号。数据总线:传输CPU读/写内存,读写I/O端口时的数据。控制总线:CPU发出的控制命令,或外部向CPU提出的请求 地址总线通常是单向总线,数据总线通常是双向总线,大部分控制线是单向,少数是双向。
寻址能力:指CPU能直接存取数据的内存地址的范围,它由CPU的地址总线的数目决定。
在实模式下,486只能访问第一个1M内存(00000H~FFFFFH)存储管理部件对存储器只进行分段管理,没有分页功能,每一逻辑段的最大容量为64K。在实模式下,段寄存器中存放段基址。
486有32条地址线,内存最大容量4G。这4G字节称为物理存储器,每一单元的地址称为物理地址,其地址范围:0000,0000H~FFFF,FFFFH为物理存储空间。
486利用低16位地址线访问I/O端口,所以I/O端口最多有216=64K,I/O地址空间为0000H~FFFFH。(从PC/XT~Pentium,基于Intel微处理器的系统机,实际上只使用低10位地址线,寻址210=1024个I/O端口)
逻辑地址——程序中编排的地址,由段基址和段内偏移地址组成; 物理地址——信息、数据在存储器中实际存放的地址。
物理地址是唯一的,不同的逻辑地址可得到相同的物理地址。
CS、IP的初值:由操作系统赋值
DS/ES的初值:由程序员赋值。
SS、SP的初值:①由程序员赋值
②由操作系统自动赋值
存储器的拓展:64k×8 64k决定地址线 8决定数据线
间址寄存器和约定访问的逻辑段: BX,SI,DI 数据段 16位寻址方式 BP 堆栈段
EAX~EDX,ESI,EDI 数据段 32位寻址方式 EBP,ESP 堆栈段
基址寄存器和约定访问的逻辑段 BX 数据段 BP 堆栈段 16位寻址方式
EAX~EDX,ESI,EDI 数据段 EBP,ESP 堆栈段 32位寻址方式
变址寄存器与约定访问的逻辑段 SI,DI 数据段
无比例因子,16位寻址
EAX~EDX,ESI,EDI数据段 EBP 堆栈段
有比例因子,32位寻址
在实模式下,一个逻辑段的体积最大为64K,存储单元的有效地址为16位,不可能超过FFFFH,∴在实模式下运行的程序通常采用16位寻址
用EQU定义的符号常数,其值在后继语句中不能更改 用“=”定义的符号常数,其值在后继语句中可以重新定义
SEG运算符 格式: SEG 段名或变量名或标号名 功能: 计算某一逻辑段的段基址 OFFSET运算符 格式:OFFSET 变量名或标号名 功能:算出某个变量或标号名所在单元的偏移地址(有效地址)。
BUF DB ‘THE QUICK BROWN FOX’;字符串长度19 LLL EQU $-BUF 汇编后符号常数LLL的值即为19
1.立即数不能直接送段寄存器MOV DS, 3000H 2.目标操作数不允许用立即数方式MOV 2000H, AL 3.不允许在两个存储单元间传送数据MOV[2000H],[3000H] 4.不允许在两个段寄存器之间传送数据MOV DS, ES 5.源、目属性要一致
在程序控制传送方式中,中断传送可以提高系统的工作效率。
I/O设备与CPU之间交换信息,其状态信息是通过数据总线传送给CPU的。8086/8088微机系统中可访问的I/O端口地址范围为0000H~FFFFH。8086微处理器可访问的最大I/O空间为64K。CPU对外设的访问实质上是对I/O端口的访问。CPU与I/O设备交换信息,无需传送地址信息。
非屏蔽中断(包括软件中断)的中断类型码由硬件预先规定。
溢出、断点、单步都属于内部中断。INTR是可屏蔽中断,NMI是非屏蔽中断。中断优先级:INT n(软件中断)->INTO->NMI->INTR->单步
8254计数器的最大初值是0000H最小值是0001H.8254是基于减1计数的工作原理
8254方式2、3既可以软件启动也可以硬件启动。
方式2输出一个时钟周期的负脉冲 方式3输出的方波周期是N个时钟周期之和。8254有6种工作方式4个I/O地址。
8254有三个通道,每个通道都有三条引线跟外部联系,它们是:CLK,GATE,OUT。方式2减到1时输出一个负脉冲。
NTOUT+ TCLK三个计数器既可以作为计数器也可以作为定时器。先写控制字再写初值。方式2;
① GATE为高电平②自动重装③改变GATE恢复后从初值开始计数④改变初值,待原周期结束后开始新周期
方式3;① 1:1的方波(N为偶数)②先输出正半周期再输出负半周期③每半周期结束后都要重装④减2计数⑤N为偶数:N……0(正半周期),N……0(负半周期)⑥N为奇数:N-1……-2(正半周期),N-1…..0(负半周期)。
初始化:口地址8位可以直接寻址,超八位只能DX间址。初值8用AL,超8位用AX装初值,用AL依次写低高。(先低后高)。
单工方式:只允许数据按照一个固定的方向传送。半双工方式:双方均可发送和接收,但不能同时。全双工方式:可以同时发送和接收。
调制与解调:数字信号—>模拟信号—>数字信号 RS-232C标准采用负逻辑。程序:8250初始化(B98B9C),查询方式和中断方式接收和发送数据。
计算机与外界的串行通信实际是CPU与I/O接口并行,I/O接口与外设串行。
8255与CPU连接的引脚,与外设连接的引脚(见书)
无论A、B口工作在什么方式,C口中尚未用过的引脚线均可作为一般I/O使用。方式1下,用中断传送方式时,要用C口置1/置0命令将中断允许位INTE置1。C口置1/置0命令一次只能使一位置1或置0。1.接口电路的作用是什么?I/O接口应具备哪些功能? 答:接口是CPU和外设交换信息的中转站。
⑴数据缓冲功能 ⑵联络功能 ⑶寻址功能 ⑷数据转换功能 ⑸中断管理功能
2.什么是端口?端口有几类?
答:能与CPU交换信息的寄存器成为I/O寄存器,简称“端口”。
按端口的寄存器存放信息的物理意义来分,端口可分为3类:
1)数据端口 2)状态端口3)控制端口
3.I/O接口有哪两种编程方式? PC系列机中采用哪种编程方式? 答:⑴端口和存储单元统一编址 ⑵I/O端口独立编址
在PC系列机中,I/O端口采用独立编址方式。
4.说明定时/计数器8254的GATE信号在6种工作方式下的作用以及与时钟信号CLK的关系。答:(老师答复)这道题超出范围了,只要求掌握方式2和3,只要知道计数过程中GATE信号必须是高电平即可。
5.系统机定时/计数器的一个通道定时周期最长是多少?要实现长时间定时,应采取什么措施?如果采用外扩8253定时/计数器实现长时间定时,应采取哪些措施? 答:①Tmax65536TCLK65536155ms
1193182K ②软件计数
③⑴减小输入信号的频率 ⑵级联 1.叙述可屏蔽中断处理的全过程。
答:①首先由中断请求寄存器寄存加到引脚IR0~IR7 上的 ②在中断屏蔽寄存器的管理下,没有被屏蔽的中断请求被送到优先权电路判优。
③经过优先权电路的判别,选中当前级别最高的中断源,然后从引脚INT向CPU发出中断请求信号。
④CPU满足一定条件后,向8259A发出2个中断响应信号(负脉冲)。⑤8259A从引脚INTA收到第1个中断响应信号之后,立即使中断服务寄存器中与被选中的中断源对应的那一位置1,同时把中断请求寄存器中的相应位清零。⑥从引脚INTA收到第2个中断响应信号后,8259A把选中的中断源类型码n,通过数据线送往CPU。
⑦在实地址模式下,CPU从4n~4n3单元取出该中断源的中断向量→IP、CS,从而引导CPU执行该中断源的中断服务程序。
2.什么是中断向量和中断向量表?中断类型码和中断向量的关系是什么? 答:①实地址模式下,中断服务程序的入口地址就是中断向量。
中断类型码通过一个地址指针表与中断服务程序的入口地址相联系,实模式下,该表称为中断向量表。
②微机系统中,为了区别,给每一个中断分配一个中断号,又称中断类型码。对应每一个中断,都有一个中断向量。即一个中断类型码对应一个中断向量。
3.CPU响应可屏蔽中断的条件是什么?☆
答:①INTR引脚有中断请求,NMI引脚没有中断请求,系统没有DMA请求。
②CPU当前指令执行完毕。③CPU处于开中断状态,即标志寄存器的中断允许标志置1.4.CPU响应非屏蔽中断的条件是什么?☆
答:①NMI引脚有中断请求,系统没有DMA请求。②CPU当前指令执行完毕。5.键盘硬中断和键盘软中断的关系是什么? 答:键盘硬中断即9型中断(硬件可屏蔽中断)。
键盘软中断即INT 16H软中断。
硬中断和软中断利用键盘缓冲区传递信息。键盘缓冲区中的键代码由9型中断服务程序负责写入,用户程序调用INT 16H可以读取键盘缓冲区中的信息。1.异步通信一帧字符的格式是什么?
答:⑴起始位 ⑵数据位 ⑶奇偶校验位 ⑷停止位
考点:①起始位为一位逻辑0,题目一般不给出 ②数据位从最低位开始传送 ③奇偶校验看逻辑1的个数是奇是偶 ④停止位一定是逻辑1信号
2.设异步通信一帧字符有八个数据位,无校验,一个停止位,如果波特率为9600,则每秒能传输多少个字符?
答:一帧字符数 = 1位起始位 + 8位数据位 + 1位停止位 = 10位 则一秒传输的字符数N9600bit/s960/s
10bit(通信速率又称波特率,表示每秒钟传送0、1代码的位数)
3.单工、半双工、全双工通信方式的特点是什么?
答:①单工方式只允许数据按照一个固定的方向传送。②半双工方式要求收发双方均具备接收和发送数据的能力,由于只有一条信道,数据不能在两个方向上同时传送。③在全双工方式中,收发双发可以同时进行数据传送。
4.分别叙述TTL和RS-232C的电平标准,通常采用什么器件完成两者之间的电平转换? 答:①TTL采用正逻辑,规定逻辑“0”为0V左右,规定逻辑“1”为+3V~+5V.RS-232C采用负逻辑,规定逻辑“1”为―3V~-15V,规定逻辑“0”为+3V~+15V。
②通常采用MC1488和MC1489电平转换器。MC1488可接收TTL电平,输出RS-232C电平。MC1489可输入RS-232C电平,输出TTL电平。
5.用系统机串行口采用中断方式完成字符发送和接收,编程时应采取哪些措施? 答:⑴中断允许寄存器相应位置1 ⑵MODEM控制寄存器D31,即OUT20打通8250的中断请求通道。⑶8259相应中断屏蔽位置0(主8259IR3、IR4)— 8259 ⑷CPU处于开中断(STI)— CPU
2.当CPU用查询方式和8255A交换信息时,应查询哪些信号?当CPU用中断方式和8255A交换信息时,利用哪些端子提中断请求? 答:①CPU采用查询方式从8255A读取数据之前,应查询IBF;CPU采用查询方式向8255A输出数据之前,应先查询OBF。
②当CPU用中断方式和8255A交换信息时,利用INTR端子提中断请求。
3.8255A的方式选择控制字和C口置0/置1控制字都是写入控制端口的,8255A是怎样识别的?
答:两个控制字共用一个端口地址,用特征位D7位来区分。若D7位=1,该控制字为方式选择控制字;D7位=0,该控制字为C端口按位置0/置1控制字。
第四篇:微型计算机接口技术 课程设计题目
计算机接口技术 课程设计题目
课程设计采用专用课程设计本(从教材科购买),手写,要求书写工整、画图规范。各班收齐于第14周周4下午2:30~3:10交科技楼501,过期恕不受理。
要有如下内容:
一、设计目的二、设计要求
三、完整的原理图
四、设计分析
五、程序流程框图
六、源程序
七、程序说明
八、心得体会
九、参考文献
学号为1~12做第1题;13~24做第2题;25及以上做第3题。
题目1:基于ADC0809的数据采集器
主要器件:ADC0805,8253,74LS138
设系统可以提供4MHz时钟,要求由8253构成定时电路,产生周期为1秒的定时脉冲,定时时间到,启动AD,对8个输入通道依次进行一次AD采样,将数据依次存入到10000H开始处,共进行1000次。要由74LS138构成完整的译码电路,定时采用中断方式,AD转换结束采用查询方式。
题目2:十字路口交通灯控制器
主要器件:8255,8253,74LS138,LED二极管(红黄绿各若干),LED数码管(若干)
设系统可以提供4MHz时钟,要求由8253构成定时电路,产生定时时间,每30秒钟修改一次灯的状态;采用8255控制个方向指示灯(不考虑驱动能力),用LED数码管显示剩余时间,要由74LS138构成完整的译码电路。
[题目3:智力竞赛抢答器
74LS38,8255,LED二极管7个,LED数码管1个,开关8个
7个选手,每人一抢答开关,主持人有一开关,若主持人开关未按下而选手按下,则选手违规,对应的灯闪烁,下一轮时该选手的抢答权被剥夺;若无人犯规,则用LED数码管显示最先按下的选手号;直到主持人按下开关,清除显示,进入下一轮抢答。。
要由74LS138构成完整的译码电路,有8255接开关、LED二极管、LED数码管
第五篇:微机原理与接口技术试题答案
微机原理与接口技术试题答案
一、填空题(20*1)
1、微机系统由(硬件系统)和(软件系统)两部分组成。2、8086有(20)位地址线,存储器容量为(1M)B。3、8086CPU 内部组成结构从功能上讲,可分为(BIU)和(EU)两部分。4、8086/8088的四个段寄存器为(DS)、(ES)、(SS)、(CS)
5、用来存放CPU状态信息的寄存器是(FLAGS)。
6、用来存放指令地址的寄存器是(IP)。7、8086的16位标志寄存器FLAGS中OF=1表示运算结果(溢出),ZF=1表示运算结果为零。PF=0表示运算结果的低8位中1的个数为(奇数)。
8、8086的16位标志寄存器FLAGS中IF=1表示CPU(允许)中断,TF=1表示CPU进入(单步)工作方式。
9、地址4000H:0300H,其物理地址是(40300H),段地址是(4000H),偏移地址是(0300H)。
11、I/O端口的寻址方式有两种,分别是(直接寻址),(间接寻址)。
12、指令JO NEXT 表示OF=(1)时转移。
13、将I/O设备端口内容读入AL中的指令助记符是(IN)。14、8086CPU的 I/O指令采用间接寻址时,使用的间接寄存器是(DX)。
15、设置DF=1的指令为(STD)。
16、清除CF标志的指令为(CLC)。
17、一对操作堆栈的指令为(POP)和(PUSH)。
18、LOOPNZ的循环条件为(CX≠0且ZF=0)。
19、实现无符号数乘2的指令的助记符是(SHL),实现有符号数除2的指令的助记符是(SAR)。22、8086CPU引脚信号中中断请求两个信号名称为(INT)和(NMI)。
26、I/O端口的编址方式一般有(存储器统一编址)和(独立编址)两种
29.1片8259A中断控制器可管理(8)级中断,用9片8259A可构成(64)级主从式中断管理系统。
二: 填空题(每题2分, 共20分)1.8086CPU复位时, 寄存器 CS值为(FFFFH), 寄存器 IP的值为(0000H)2.8086CPU的8个8位通用寄存器名为(AL),(AH),(BL),(BH),(CL),(CH),(DL),(DH).3.若SS = 3240H, SP = 2000H, 栈顶的实际地址为(34400H).4.指令 MOV AX, [BX] 的机器码为 8BH, 07H , 指令 MOV [BX], AX的机器码为(89H),(07H).5.8255A的工作方式有方式0功能为(基本输入输出), 方式1功能为(选通输入输出), 方式2功能为(双向数据传送).6.执行指令 PUSH AX有 SP =(SPBUF DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA STAR PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX LEA BX, BUF1 MOV CX , COUNT-1 MOV AL, [BX] AG: INC BX CMP AL, [BX] JAE BIG MOV AL, [BX] BIG: DEC CX JNZ AG MOV BUF2, AL RET STAR ENDP CODE ENDS END STAR 问: 该程序执行后BUF2中的值为(9).四、程序设计题(2*10)
1、编写一个汇编语言程序,要求从键盘输入一个小写字母,将其转换成大写字母在屏幕上显示出来。
DATA SEGMENT BUF DB 0DH,0AH,“PLEASE INPUT A CHAR:$” DATAENDS
STACK SEGMENT
DB 20 DUP(?)STACKENDS
CODESEGMENT
ASSUME DS:DATA,CS:CODE ,SS:STACK BEGIN: MOV AX,DATA
MOV DS,AX
LEA DX,BUF;9号调用显示PLEASE INPUT A CHAR:
MOV AH,9
INT 21H
MOV AH,1;1号调用,从键盘接收1字符
INT 21H
CMP AL,61H /41H;若比“a”/A小转PEND
JB PEND
CMP AL,7AH /5BH;若比“z”/Z大转PEND
JA PEND;
ADD/SUB AL,20H;如在“a”与“z”之间则减去20变为大写字符
MOV DL,AL
MOV AH,2;2号功能调用显示一个字符
INT 21H
PEND: MOV AH,4CH;程序结束运行,返回DOS
INT 21H CODE ENDS
END BEGIN
2、已知芯片8253的端口地址为4F0H~4F3H,设计数器1工作在方式1,计数器初值为3060H,采用二进制计数,请设计实现上述功能的8253初始化程序。8253控制字格式如下:
因为计数器初值为3060H,即为16位的,所以读/写格式为11 因此控制字为:01110010 =72 控制字:MOV AL, 72H OUT 4F3H, AL
低8位:MOV AL, 60H OUT 4F1H, AL
高8位:MOV AL, 30H
OUT 4F1H, AL
六: 编程题(7分)编一个完整的程序, 数据段有10个符号的ASCII码值数据块 BUF , 若数据为0到 9的ASCII码值, 在屏上显示 Y , 否则显示 N 解: DATA SEGMENT BUF DB 10 DUP(?)DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA NAIN PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX MOV CX, 10 LEA BX, BUF AG: MOV AL, [BX] CMP AL, 30H JL DISNO CMP AL, 39H JG DISNO MOV AH, 02H MOV DL, ‘Y’ INT 21H JMP NEXT DISNO: MOV AH, 02H MOV DL, ‘N’ INT 21H NEXT: INC CX DEC CX JNZ AG RET MAIN ENDP CODE ENDS END MAIN 七: 接口编程(7分, 仅编程序段)8255A的A口,B口均工作于方式0, 从A口输出数据30H, 将B口输入的数据放入寄存器BL中.(注:8255A口地址为60H到63H)解: 1 0 0 0 X 0 1 X 方式控制字= 82H MOV AL, 82H OUT 63H, AL MOV AL, 30H OUT 60H, AL IN AL, 61H MOV BL, AL