微机原理与接口技术作业(1) 答案
微机原理与接口技术试题一及答案

微机原理与接口技术试题一及答案一、选择题(本题共10小题,每小题2分,共20分。
答案唯一,多选或不选均不得分)1.以下叙述正确的是()。
A.微机的字长可以是8、16、24、32位B.微机的字长可以是8、16、32、64位C.微机的字长可以是8、16、24、32KD.字长是指计算机处理数据的精度2.第一个8位的微处理器是1972年美国Intel公司生产的()。
A.4004B.4040C.8008D.80863.在8086系统中的多路总线复用是指()A.数据和地址信息B.数据和控制信息C.地址和控制信息D.数据和状态信息4.INTR称为()A.可屏蔽中断请求信号的输入端B.中断响应信号C.总线保持请求信号D.总线保持响应信号5.在中断方式下,外设数据输入到内存的路径是( )A.外设→数据总线→内存B.外设→数据总线→CPU→内存C.外设→CPU→DMAC→内存D.外设→CPU→I∕O接口→内存6.CPU与I/O设备间传送的信号有( )A.控制信息B.状态信息C.数据信息D.以上三种都有7.当8255A工作在方式1输出时,通知外设将数据取走的信号是()。
A.ACKB.INTEC.OBFD.IBF8.8255芯片有()数据端口。
A.3个16位B.3个8位C.4个16位D.4个8位9.下列哪个选项不是8237的工作模式。
()A.单字节传输模式B.级联传输模式C.请求传送模式D.全嵌套传输模式10.8253的工作方式2称为()A.计数结束产生中断方式B.外触发的单稳脉冲方式C.方波发生器工作方式D.分频器方式二、填空题(本题共10空,每空2分,共20分)1.在8086系统中,最小模式下CPU通过HOLD引脚接收DMA控制器的总线请求,而从__________引脚上向DMA控制器发总线请求响应信号。
2.设微机的地址总线为16位,其RAM存储器容量为32KB,首地址为4000H,且地址是连续的,则可用的最高地址是____________________。
北京交通大学《微机原理与接口技术》作业答案

目录《微机原理与接口技术》第一章作业 (2)一、书上P22作业题 2、3、7 (2)《微机原理与接口技术》第二章作业 (2)一、书上P59作业题 2、5、6、9、14 (2)《微机原理与接口技术》第三章作业 (3)一、书上P95作业题 4、5、6、7、10、11、12、13、14、15、16、17、18、22、27 4《微机原理与接口技术》第四章作业 (8)一、课本P155 8、12、13、14 (8)《微机原理与接口技术》第五章作业 (10)一、作业P180 2、5、7、8、9、10 (11)《微机原理与接口技术》第六章作业 (13)一、P207: 1,3,5,10,14。
18,19,20 (13)《微机原理与接口技术》第七章作业(一) (17)一、P268: 3, 6 , 7, 10 , 11 , 12 (17)《微机原理与接口技术》第七章作业(二) (20)一、P268: 15 , 16 , 19, 21,25 (20)《微机原理与接口技术》第八章作业 (24)一、P292 6、7 (24)《微机原理与接口技术》第一章作业一、书上P22作业题 2、3、72.完成下列数制之间的转换。
(1)01011100B=92D(3)135D=10000111B(5)10110010B=262Q=B2H3.组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型BCD数。
答:组合型BCD码的储存格式用一个字节存放2位BCD码,高4位表示十进制的十位数,低4位表示十进制的个位数,数值表示范围为0~99;非组合型的储存格式是用一个字节的低4位存放1位BCD码,高四位可以为0或任意数,数值表示范围为0~9。
254D的组合型BCD码:0254D的非组合型BCD码:007.计算机中为什么采用补码的形式储存数据?当计算机的字长n=16时,补码的数据表示范围是多少?答:是为了便于进行加减运算,简化机器硬件结构。
《微机原理与接口技术》试题及答案(一)

《微机原理与接口技术》试题及答案(一)微机原理与接口技术这一门课程大家有把握应对考试了吗?下面是为大家推荐一些微机原理与接口技术试题及答案,希望大家有用哦。
一、填空。
(30分1分/空)1.符号数-8192的补码用十六进制数表示为E000H。
2.8位补码数CBH的真值用十进制表示为-53。
3.十进制数1025所对应的十六进制数为401H;所对应的压缩BCD数为1025H;所对应的ASCII码为31303235。
4.将8为无符号数A2H扩展为16位形式,则应为00A2H;将8为补码数F3H扩展为16位形式,则应为FFF3H。
5.在8086/8088的通用寄存器AX、BX、CX、DX中,用作存储器间址的寄存器为BX;用作I/O端口间址的寄存器为DX;用作循环控制指令(LOOP)的寄存器为CX。
6.8086/8088有4段寄存器。
其中用来存放数据段段首地址的段寄存器为DS;用来存放代码段段首地址的段寄存器为CS;用来存放堆栈段段首地址的段寄存器为SS。
7.若DS=095FH时,物理地址是11820H。
当DS=2F5FH时,物理地址为37820H。
8.8086/8088微处理器堆栈的伸展方向是高地址向低地址。
堆栈的操作是以字为单位进行的。
9.AX中有一个负数,欲求其绝对值,若该数为补码,则用指令NEGAX;若该数为原码,则用指令ANDAX,7FFFH。
在循环程序设计中,对于控制循环的DECCX和JNZAGAIN两条语句可合并用一条语句LOOPAGAIN代替。
10.写出执行下列程序段的中间结果:MOVAX,0809HMOVDL,10XCHGAH,DLMULAH;AX=005AHAAM;AX=0900HADDAL,DL;AX=0908H11.现要用6116(2K×8位)静态RAM芯片构成8K×32位的存储器,共需此种芯片16片。
12.8086/8088微处理器对I/O设备的管理是利用IN和OUT指令来实现的。
微机原理和接口技术第一、二章作业和答案

8. 两个不压缩BCD码分别存放在3000H和 3001H单元的低4位,高4位均为0。将两个不 压缩的BCD码组合成为一个压缩的BCD码, 前者放在低4位,后者放在高4位,存放在 3002H单元。例如初值为: (3000H)=07H, (3001H)=05H, 要求结果为(3002H)=57H 9. 将4000H和4001H单元的两个ASCII码分别转 换为相应的十六进制数,然后共同存放在 4002H单元,前者放在低4位,后者放在高4 位。例如初值为: (4000H)=42H=‘B’, (4001H)=36H=‘6’, 要求结果为(4002H)=6BH
10. 微机某内存单元的内容为C5H,若它表示的是一个 无符号数,该数对应的十进制数是多少?若它表示 的是一个带符号数,该数对应的十进制数是多少?
3
11. 将下列十进制数分别转化为二进制数(保留4位小 数)、十六进制数(保留4位小数)和压缩BCD数
(1)125.74 1)101011.101 3)1001.11001 1)5A.26 3)6AB.24 (2)513.85 2)110110.1101 4)100111.0101 2)143.B5 4)E2F3.2C (3)742.24
24
3-3、试编写求两个无符号双字长数之和的程序。两数 分别放在MEM1和MEM2单元中,和放在SUM单元 中 3-4、假设数据项定义如下: DATA1 DB ‘HELLO! GOOD MORNING!’ DATA2 DB 20 DUP(?) 用串操作指令编写程序段,使其分别完成以下功能: (1)从左到右将DATA1的字符串传送到DATA2中 (2)传送完后,比较DATA1和DATA2中的内容是否 相同 (3)把DATA1中的第3和第4个字节装入AX (4)把AX的内容存入DATA2+5开始的字节单元中。 25
西安交通大学17年9月课程考试《微机原理与接口技术》作业考核试题1满分答案

西安交通大学17年9月课程考试《微机原理与接口技术》作业考核试题试卷总分:100 得分:100一、单选题 (共 30 道试题,共 60 分)abc1. 下列指令中不会改变指令指针寄存器内容的是()A. MOVB. JMPC. CALLD. RET满分:2 分正确答案:A2. 实模式下,80486管理的内存空间中,地址为00000H~003FFH中存放着()A. 用户程序代码B. BIOS代码C. DOS系统代码D. 中断向量表满分:2 分正确答案:D3. 实模式下,NMI中断的中断矢量在中断矢量表中的位置是()A. 由DOS自动分配B. 由程序指定C. 固定在已0008H开始的2个字单元中D. 固定在中断矢量表表首满分:2 分正确答案:C4. 占用CPU时间最长的数据传送方式是()A. DMAB. 中断C. 查询D. 无条件满分:2 分正确答案:C5. 利用程序查询方式传送数据时,CPU必须读()以判断是否传送数据A. 外设的状态B. DMA的请求信号C. 数据输入信息D. 外设中断请求满分:2 分正确答案:A6. 对可编程接口芯片进行读/写操作的必要条件是()A. RD=0B. WR=0C. RD=0或WR=0D. CS=0满分:2 分正确答案:D7. 若已知[X]补=11101011B,[Y]补=01001010B,则[X–Y]补=()A. 10100001BB. 11011111BC. 10100000BD. 溢出满分:2 分正确答案:A8. 算术移位指令SAR用于()A. 带符号数乘2B. 带符号数除2C. 无符号数乘2D. 无符号数除2满分:2 分正确答案:B9. 在下列各种中断中,需由外部电路提供中断类型号的是()A. INTOB. INTnC. NMID. INTR满分:2 分正确答案:D10. 8086的CPU由()两部分组成。
A. SP、ALUB. 控制器、FLAGSC. EU、BIUD. EU、ALU满分:2 分正确答案:C11. 80486CPU进行算术和逻辑运算时,可处理的信息的长度为()A. 32位B. 16位C. 8位D. 都可以满分:2 分正确答案:D12. 将微处理器、内存储器及I/O接口连接起来的总线是()A. 片总线B. 外总线C. 系统总线D. 局部总线满分:2 分正确答案:C13. 下列描述正确的是()A. 汇编语言仅由指令性语句组成B. 汇编语言包括指令性语句和伪指令语句C. 指令性语句和伪指令语句的格式是完全相同的D. 指令性语句和伪指令语句需经汇编程序翻译成机器代码后才能执行满分:2 分正确答案:B14. 80486CPU响应中断时,自动压入堆栈的信息是()A. AX,BX,CX,DX的内容B. AX,CX的内容C. CS,IP,SP的内容D. CS,IP,标志寄存器的内容满分:2 分正确答案:D15. 下列指令中,错误的是()A. MOVBX,OFFSETBUFB. LEASI,BUFC. LEADI,OFFSETBUFD. MOVBP,SEGBUF满分:2 分正确答案:C16. 下列引起CPU程序中断的四种情况中,()需要由硬件提供中断类型码A. INTOB. NMIC. INTRD. INTn满分:2 分正确答案:C17. 在中断方式下,外设数据输入到内存的路径是()A. 外设→数据总线→内存B. 外设→数据总线→CPU→内存C. 外设→CPU→DMAC→内存D. 外设→I∕O接口→CPU→内存满分:2 分正确答案:D18. 转移类指令对标志位的状态()A. 有影响B. 部分影响C. 无影响D. 随意满分:2 分正确答案:C19. 欲从存储单元取某操作数,可采用()A. 寄存器寻址、寄存器间接寻址B. 立即寻址、直接寻址C. 立即寻址、寄存器间接寻址D. 寄存器间接寻址、直接寻址满分:2 分正确答案:D20. 某系统中,已知SS=2360H,SP=0800H,若将20H个字节的数据入栈,则SP的内容为()A. 0780HB. 0820HC. 23E20HD. 07E0H满分:2 分正确答案:D21. 某系统中,已知建立堆栈时SS=2360H,SP=0800H,经过一段时间后,SP的内容变为0700H,则堆栈中有多少个字的数据()A. 80HB. 50HC. 100D. 100H满分:2 分正确答案:A22. 若AL=3BH,AH=7DH,则AL和AH中的内容相减后,标志CF、AF和PF的状态分别是()A. 0、0、1B. 1、1、1C. 0、1、0D. 1、0、0满分:2 分正确答案:B23. 计算机工作中只读不写的存储器是()A. DRAMB. ROMC. SRAMD. EEPROM满分:2 分正确答案:B24. ()表示中,二进制数11111111B表示十进制数–1A. 原码B. 反码C. 补码D. BCD码满分:2 分正确答案:C25. INC指令不影响()标志A. OFB. CFC. SFD. ZF满分:2 分正确答案:B26. 当AH=()时,执行INT21H指令可在屏幕上显示一组字符A. 01HB. 02HC. 09HD. 0AH满分:2 分正确答案:C27. 利用程序查询方式传送数据时,CPU必须读()以判断是否传送数据A. 外设的状态B. DMA的请求信号C. 数据输入信息D. 外设中断请求满分:2 分正确答案:A28. 若SI=0053H,BP=0054H,执行SUBSI,BP后,则()A. CF=0,OF=0B. CF=0,OF=1C. CF=1,OF=0D. CF=1,OF=1满分:2 分正确答案:C29. 微机系统中的存储器可分为四级,其中存储容量最大的是()A. 内存B. 内部寄存器C. 高速缓冲存储器D. 外存满分:2 分正确答案:D30. 微机的内存器可用()构成A. RAM和ROMB. 硬盘C. 软盘D. 光盘满分:2 分正确答案:A二、判断题 (共 20 道试题,共 40 分)1. I/O接口的基本功能之一是完成数据的缓冲。
《微机原理与接口技术》习题答案(1)

《微机原理与接口技术》习题答案一、单项选择题1、80486CPU进行算术和逻辑运算时,可处理的信息的长度为( D )。
A、32位B、16位C、8位D、都可以2、在下面关于微处理器的叙述中,错误的是( C ) 。
A、微处理器是用超大规模集成电路制成的具有运算和控制功能的芯片B、一台计算机的CPU含有1个或多个微处理器C、寄存器由具有特殊用途的部分内存单元组成,是内存的一部分D、不同型号的CPU可能具有不同的机器指令3、若用MB作为PC机主存容量的计量单位,1MB等于( B )字节。
A、210个字节B、220个字节C、230个字节D、240个字节4、运算器在执行两个用补码表示的整数加法时,判断其是否溢出的规则为( D )。
A、两个整数相加,若最高位(符号位)有进位,则一定发生溢出B、两个整数相加,若结果的符号位为0,则一定发生溢出C、两个整数相加,若结果的符号位为1,则一定发生溢出D、两个同号的整数相加,若结果的符号位与加数的符号位相反,则一定发生溢出5、运算器的主要功能是( C )。
A、算术运算B、逻辑运算C、算术运算与逻辑运算D、函数运算6、指令ADD CX,55H[BP]的源操作数的寻址方式是(D )。
A、寄存器寻址B、直接寻址C、寄存器间接寻址D、寄存器相对寻址7、设(SS)=3300H,(SP)=1140H,在堆栈中压入5个字数据后,又弹出两个字数据,则(SP)=(A )A、113AHB、114AHC、1144HD、1140H8、若SI=0053H,BP=0054H,执行SUB SI,BP后,则( C)。
A、CF=0,OF=0B、CF=0,OF=1C、CF=1,OF=0D、CF=1,OF=19、已知(BP)=0100H,(DS)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令MOV BX,[BP]执行后,(BX)=(D ) 。
微机原理与接口技术课后习题答案[1]
![微机原理与接口技术课后习题答案[1]](https://img.taocdn.com/s3/m/41c342c02cc58bd63186bdb5.png)
1 思考与练习题一、选择题1.计算机硬件中最核心的部件是( )。
CA.运算器B.主存储器C.CPUD.输入/输出设备2.微机的性能主要取决于( )。
A(B——计算机数据处理能力的一个重要指标)A.CPUB.主存储器C.硬盘D.显示器3.计算机中带符号数的表示通常采用( )。
CA.原码B.反码C.补码D.BCD码4.采用补码表示的8位二进制数真值范围是( )。
CA.-127~+127B.-1 27~+128C.-128~+127D.-128~+1285.大写字母“B”的ASCII码是( )。
BA.41HB.42HC.61HD.62H6.某数在计算机中用压缩BCD码表示为10010011,其真值为( )。
CA.10010011BB.93HC.93D.147二、填空题1.微处理器是指_CPU_;微型计算机以_CPU_为核心,配置_内存和I/O接口_构成;其特点是_(1)功能强 (2)可靠性高 (3)价格低 (4)适应性强 (5)体积小 (6)维护方便_。
P8 P52.主存容量是指_RAM和ROM总和_;它是衡量微型计算机_计算机数据处理_能力的一个重要指标;构成主存的器件通常采用_DRAM和PROM半导体器件_。
P5 P93.系统总线是_CPU与其他部件之间传送数据、地址和控制信息_的公共通道;根据传送内容的不同可分成_数据、地址、控制_3种总线。
P94.计算机中的数据可分为_数值型和非数值型_两类,前者的作用是_表示数值大小,进行算术运算等处理操作_;后者的作用是_表示字符编码,在计算机中描述某种特定的信息_。
P125.机器数是指_数及其符号在机器中加以表示的数值化_;机器数的表示应考虑_机器数的范围、机器数的符号、机器数中小数点位置_3个因素。
P15 P166.ASCII码可以表示_128_种字符,其中起控制作用的称为_功能码_;供书写程序和描述命令使用的称为_信息码_。
P18 P19三、判断题1.计算机中带符号数采用补码表示的目的是为了简化机器数的运算。
微机原理及接口技术(习题答案)

第1章微机运算基础习题和思考题1.请完成以下计算:174.66D=(10101110.10101)B=(AE. A8)H10101110101.01011B=(1397.344)D=(575.58)H4BCH=(010*********)B=()BCD2.设字长为8位,X=(2A)16,当X分别为原码、补码、反码和无符号数的时候,其真值是多少?答:当X表示原码时,其真值为:+101010当X表示补码时,其真值为:+101010当X表示反码时,其真值为:+101010当X表示无符号数数时,其真值为:001010103.设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出?120+18 -33-37-90-70 50+84答:120+18其补码形式分别为:(120)补=01111000 (18)补=0001001001111000+ 0001001010001010由于C s=0 ,C p=1,因此有溢出,结果错误-33-37其补码形式为:(-33)补=11011111 (-37)补=1101101111011111+1101101110111010由于C s=1, C p=1,所以没有溢出,结果正确-90-70其补码形式为:(-90)补=10011100 (-70)补=1011101010011100+1011101001010110由于C s=1, C p=0,所以有溢出,结果错误50+84其补码形式为:(50)补=00110010 (84)补=0101010000110010+0101010010000110由于C s=0, C p=1,所以有溢出,结果错误4.请写出下列字符串的ASCII码值。
My name is Zhang san.4D 79 6E 61 6D 65 69 73 5A 68 61 6E 67 73 61 6E 2E第2章 80X86微机系统习题与思考题1.微型计算机主要由哪些基本部件组成?各部件的主要功能是什么?答:微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《微机原理与接口技术》作业答案第2章P522.80C51单片机引脚有哪些第二功能?答:80C51单片机的P0、P2和P3引脚都具有第二功能。
第一功能第二变异功能P0口地址总线A0~A7/数据总线D0~D7P2口地址总线A8~A15P3.0 RXD (串行输入口)P3.1 TXD (串行输出口)P3.2 0INT(外部中断0)P3.3 1INT(外部中断1)P3.4 T0 (定时器/计数器0的外部输入)P3.5 T1 (定时器/计数器0的外部输出)P3.6 WR(外部读写存储器或I/O的写选通)P3.7 RD(外部读写存储器或I/O的读选通)4.80C51单片机的存储器在结构上有何特点?在物理上和逻辑上各有哪几种地址空间?访问片内RAM和片外RAM的指令格式有何区别?答:80C51单片机采用哈佛(Har-yard)结构,即是将程序存储器和数据存储器截然分开,分别进行寻址。
不仅在片内驻留一定容量的程序存储器和数据存储器及众多的特殊功能寄存器,而且还具有强的外部存储器扩展能力,扩展的程序存储器和数据存储器寻址范围分别可达64KB。
⒈在物理上设有4个存储器空间●片内程序存储器;●片外程序存储器;●片内数据存储器;●片外数据存储器。
⒉在逻辑上设有3个存储器地址空间●片内、片外统一的64 KB程序存储器地址空间。
●片内256B(80C52为384 B)数据存储器地址空间。
片内数据存储器空间,在物理上又包含两部分:-对于80C51型单片机,从0~127 字节为片内数据存储器空间;从128~255字节为特殊功能寄存器(SFR)空间(实际仅占用了20多个字节)。
●片外64 KB的数据存储器地址空间。
在访问三个不同的逻辑空间时,应采用不同形式的指令,以产生不同存储空间的选通信号。
访问片内RAM采用MOV指令,访问片外RAM则一定要采用MOVX指令,因为MOVX 指令会产生控制信号RD或WR,用来访问片外RAM。
访问程序存储器地址空间,则应采用MOVC指令。
6.80C51单片机片内RAM低128个存储单元划分为哪4个主要部分?各部分主要功能是什么?答:80C51片内RAM的低128个存储单元划分为4个主要部分:●寄存器区:共4组寄存器,每组8个存储单元,各组以R0~R7作为单元编号。
常用于保存操作数及中间结果等等。
R0~R7也称为通用寄存器,占用00H~1FH共32个单元地址。
●位寻址区:20H~2FH,既可作为一般RAM单元使用,按字节进行操作,也可以对单元中的每一位进行位操作,称为位寻址区。
寻址区共有16个RAM单元,共计128位,位地址为00H~7FH。
●堆栈区:设置在用户RAM区内。
●用户RAM区:在内部RAM低128单元中,除去前面3个区,剩下的所有单元。
13.程序存储器指令地址、堆栈地址和外接数据存储器地址各使用什么指针?为什么?答:程序存储器指令地址使用程序计数器PC指针,PC中存放的是下一条将要从程序存储器中取出的指令的地址。
程序计数器PC变化的轨迹决定程序的流程。
PC的最基本的工作方式是自动加1。
在执行条件转移或无条件转移指令时,将转移的目的地址送入程序计数器,程序的流向发生变化。
在执行调用指令或响应中断时,将子程序的入口地址或者中断矢量地址送入PC,程序流向发生变化。
堆栈地址使用堆栈指示器SP,SP在80C51中存放当前的堆栈栈顶所指存储单元地址,是一个8位寄存器,对数据按照“先进后出”原则进行管理。
外接数据存储器地址使用数据指针DPTR,是一个16位的特殊功能寄存器,主要功能是作为片外数据存储器或I/O寻址用的地址寄存器,这时会产生或WR控制信号,用于单片机对外扩的数据存储器或I/O的控制。
数据指针DPTR也可以作为访问程序存储器时的基址寄存器,这时寻址程序存储器中的表格、常数等单元,而不是寻址指令。
第3章P939.MOV、MOVC、MOVX 指令有什么区别,分别用于那些场合,为什么?答:MOV指令用于对内部RAM的访问。
MOVC指令用于对程序存储器的访问,从程序存储器中读取数据(如表格、常数等)。
MOVX指令采用间接寻址方式访问外部数据存储器,有Ri和DPTR两种间接寻址方式。
MOVX指令执行时,在P3.7引脚上输出RD有效信号或在P3.6引脚上输出WR有效信号,可以用作外部数据存储器或I/O的读或写选通信号,与单片机扩展电路有关。
15.已知(R1)=20H,(20H)=AAH,请写出执行完下列程序段后A的内容。
MOV A,#55HANL A,#0FFHORL 20H,AXRL A,@R1CPL A答:各指令执行结果如下:MOV A,#55H ;(A)=55HANL A,#0FFH ;(A)=55HORL 20H,A ;(20H)=FFHXRL A,@R1 ;(A)=AAHCPL A ;(A) =55H执行完程序段后,A的内容为55H。
16.阅读下列程序,说明其功能。
MOV R0,#30HMOV A,@R0RL AMOV R1,ARL ARL AADD A,R1MOV @R0,A ;答:对程序注释如下:MOV R0,#30H ;(R0)=30HMOV A,@R0 ;取数RL A ;(A)×2MOV R1,ARL A ;(A)×4RL A ;(A)×8ADD A,R1 ;(A)×10MOV @R0,A ;存数功能:将30H中的数乘以10以后再存回30H中。
条件:30H中的数不能大于25,25×10=250仍为一个字节。
若30H中的数大于25,则应考虑进位。
21.读下列程序,请完成下列任务:①画出P1.0~P1.3引脚上的波形图,并标出电压V-时间t坐标。
②对源程序加以注释。
ORG 0000HSTART: MOV SP,#20HMOV 30H,#01HMOV P1,#01HMLP0:ACALL D50msMOV A, 30HCJNE A, #08H,MLP1MOV A, #01HMOV DPTR,#ITABMLP2∶MOV 30H, AMOVC A,@A+DPTRMOV P1, ASJMP MLP0MLP1:INC ASJMP MLP2ITAB:DB 0,1,2,4,8DB 8,4,2,1D50ms:…RET答:①程序功能:P1.0~P1.3引脚上的波形图如图3-2所示。
图3-2 P1.0~P1.3引脚上的波形图②注释见源程序右边所述。
ORG 0000HSTART: MOV SP,#20HMOV 30H,#01HMOV P1,#01H ;P1.0~P1.3引脚输出波形MLP0:ACALL D50ms ;软件延时50msMOV A, 30HCJNE A, #08H,MLP1 ;判表格中数据是否取完?MOV A, #01H ;取完,从表头开始取MOV DPTR,#ITAB ;表格首地址MLP2∶MOV 30H, AMOVC A,@A+DPTR ;取表格中数据MOV P1, ASJMP MLP0MLP1:INC A ;表格中数据未取完,准备取下一个SJMP MLP2ITAB:DB 0,1,2,4,8 ;表DB 8,4,2,1D50ms:…;软件延时50ms子程序RET第4章P13210.把长度为10H的字符串从内部RAM的输入缓冲区INBUF向设在外部RAM的输出缓冲区OUTBUF进行传送,一直进行到遇见字符“CR”时停止,如字符串中无字符“CR”,则整个字符串全部传送。
加上必要的伪指令,并对源程序加以注释。
答:程序如下:ORG 0000HAJMP MAINORG 0030HMAIN: MOV R7,#10H ;数据长度MOV R0,#INBUF ;源数据首地址MOV DPTR,#OUTBUF ;目的数据首地址LOOP: MOV A,@R0 ;把源数据的值赋给ACJNE A,#0DH,LOOP1 ;是“CR”(ASCII码值为0DH) ?SJMP END1 ;是“CR”,则结束传送LOOP1:MOVX @DPTR,A ;把A的值赋给目的数据INC R0 ;源数据下一个地址值INC DPTR ;目的数据下一个地址值DJNZ R7,LOOP ;判数据传送是否完毕?END1:SJMP END114. 80C51单片机从内部RAM的31H单元开始存放一组8位带符号数,字节个数在30H中。
请编写程序统计出其中正数、零和负数的数目,并把统计结果分别存入20H、21H和22H三个单元中。
加上必要的伪指令,并对源程序加以注释。
答:分析:带符号数以字节最高位D7的值来区分是正数(包括零)和负数。
D7=1,则该带符号数为负数。
程序如下:POS_NUM EQU 20H ;正数个数ZERO_NUM EQU 21H ;零个数NEG_NUM EQU 22H ;负数个数ORG 0000HAJMP MAINORG 0030HMAIN: MOV POS_NUM,#0 ;计数单位初始化为0MOV ZERO_NUM,#0MOV NEG_NUM,#0MOV R1,30H ;数据长度MOV R0,#31H ;数据首地址LOOP: MOV A,@R0JB ACC.7, INC_NEG ;符号位为1,该数为负数,跳转加1CJNE A,#0,INC_POSINC ZERO_NUM ;该数为0,0个数加1AJMP LOOP1INC_NEG: INC NEG_NUM ;负数个数加1AJMP LOOP1INC_POS: INC POS_NUM ;该数为正数,正数个数加1LOOP1: INC R0 ;判断统计是否结束DJNZ R1,LOOPEND例如:已知(30H)=08H,31H单元起存放数据为:00H,80H,7EH,6DH,2FH,34H,EDH,FFH。
执行结果:(20H)=04H,(21H)=01H,(22H)=03H。
15.两个10位的无符号二一十进制数,分别从内部RAM的40H单元和50H 单元开始存放。
请编程计算该两个数的和,并从内部RAM的60H单元开始存放。
加上必要的伪指令,并对源程序加以注释。
答:分析:10位的无符号二一十进制数,占5个字节,每个字节存放一个压缩BCD码(2位)。
ORG 0000HAJMP MAINORG 0030HMAIN:MOV R7,#05H ;十位(5个字节)计数MOV R0,#40H ;被加数首址MOV R1,#50H ;加数首址MOV R2,#60H ;和数首址CLR C;清C标志位ADDB:MOV A,@R0ADDC A,@R1DA A ;二-十进制调整MOV B,R0 ;保护被加数地址MOV 20H,R2MOV R0,20HMOV @R0,A ;存和MOV R2,20H ;恢复和数地址MOV R0,B ;恢复被加数地址INC R0 ;三个地址指针均加1INC R1INC R2DJNZ R7,ADDB ;多字节加未结束,则循环HERE:SJMP HEREEND注意:寄存器间接寻址只针对R0和R1,所以存和时不能使用指令MOV @R2,A。