微机原理与接口技术作业..

合集下载

北京交通大学《微机原理与接口技术》作业答案

北京交通大学《微机原理与接口技术》作业答案

目录《微机原理与接口技术》第一章作业 (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时,补码的数据表示范围是多少?答:是为了便于进行加减运算,简化机器硬件结构。

微机原理和接口技术第一、二章作业和答案

微机原理和接口技术第一、二章作业和答案

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

北邮《微机原理与接口技术》阶段作业汇总

北邮《微机原理与接口技术》阶段作业汇总

《微机原理与接口技术》作业汇总1.若欲使RESET有效,只要A即可。

A.接通电源或按RESET键2.8086微处理器中的ES是D寄存器D.附加数据段3.8086 微处理器中BP 寄存器是AA.基址指针寄存器4.8086/8088 微处理器中的BX是AA.基址寄存器5.8086/8088微处理器顺序执行程序时,当遇到C指令时,指令队列会自动复位,BIU会接着往指令队列中装入新的程序段指令。

C.JCXZ6.8086微处理器读总线周期中地址信号AD15~AD0在A期间处于高阻。

A.T27.8086/8088 微处理器引脚中B信号线能够反映标志寄存器中断允许标志IF的当前值。

B.S58.访问I/O端口可用地址线有B条。

B.169.8086/8088 微处理器可访问内存储器地址为AA.00000~FFFFFH10.字符串操作时目标串逻辑地址只能由B提供B.ES、DI11.8086/8088微处理器中堆栈段SS作为段基址,则偏移量为B。

B.SP12.若有两个带有符号数ABH和FFH相加,其结果使F中CF和OF位为C。

C.1;013.8086微处理器内部通用寄存器中的指针类寄存器是B。

B.BP14.8086/8088微处理器内部能够计算出访问内存储器的20位物理地址的附加机构是。

B.BIU中的地址加法器15.当标志寄存器TF=1时,微处理器内部每执行完一条指令便自动进行一次B。

B.内部中断16.8086/8088微处理器内部寄存器中的累加器是A寄存器。

A.16位数据寄存器17.8086微处理器中的BIU和EU是处于B的工作状态B.并行18.8086中指令队列和堆栈特点分别是CC.先进先出;后进先出19.微型计算机各部件之间是用A连接起来的。

A.系统总线20.若把组成计算机中的运算器和控制器集成在一块芯片上称为C。

C.微处理器21.相联存储器是指按C进行寻址的存储器。

C.内容指定方式22.单地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数外,另一个数常需采用D。

北京邮电大学-微机原理与接口技术-阶段作业

北京邮电大学-微机原理与接口技术-阶段作业

微机原理与接口技术阶段作业1:一、单项选择题(共20道小题,共100.0分)1. 当RESET信号有效后,CS内容为A. 0000HB. FFFF0HC. FFFFHD. FFFFFH2. 8086/8088微处理器要求RESET有效维持时间至少要有个T状态A. 5B. 6C. 4D. 73. 若欲使RESET有效,只要即可。

A. 接通电源或按RESET键B. 接通电源或执行HLT指令C. 将RESET接地或执行HLE指令D. 按RESET键和将RESET引脚接地4. 8086 微处理器中的DI是A. 数据寄存器B. 目的变址寄存器C. 源变址寄存器D. 基址指针寄存器5. 8086 微处理器中BP 寄存器是A. 基址指针寄存器B. 基址寄存器C. 计数寄存器D. 堆栈基址寄存器6. 8086/8088微处理器地址线共有条A. 20B. 16C. 8D. 247. 访问I/O端口可用地址线有条A. 64B. 16C. 32D. 88. 8086/8088微处理器中的寄存器可以作为8位或16位寄存器,如____A. SIB. SPC. IPD. CX9. 8086/8088 微处理器可访问内存储器地址为A. 00000~FFFFFHB. 0000H~FFFFHC. 0~256D. 0~20010. 字符串操作时目标串逻辑地址只能由提供A. ES、SIB. ES、DIC. DS、SID. DS、DI11. 8086/8088微处理器中的段寄存器中CS作为段基址,偏移地址允许使用___A. IPB. DIC. SID. BX12. 若有两个带有符号数ABH和FFH相加,其结果使F中CF和OF位为A. 0;0B. 0;1C. 1;0D.1;113. 当标志寄存器F中OF=1时,表示带有符号的字运算超出范围A. -128---+127B. -32768---32767C. 0000H---FFFFHD. 0---FFH14. 编程人员不能直接读写的寄存器是A. DIB. CXC. IPD. SP15. 8086微处理器内部具有自动加1功能的寄存器是A. SIB. AXC. BPD. IP16. 8086微处理器内部通用寄存器中的指针类寄存器是A. IPB. BPC. BXD. CX17. 用于8086/8088系统时钟发生器/驱动器芯片是A. 8284B. 8282C. 8286D. 828818. 8086/8088微处理器内部寄存器中的累加器是寄存器A. 16位数据寄存器B. 16位段寄存器C. 16位变址寄存器D. 16位基址指针寄存器19. 8086微处理器中的BIU和EU是处于的工作状态A. 串行B. 并行C. 串并行D. 间隔20. 若指令队列处于满,执行部件又没有向总线接口部件发出总线请求,则总线接口处于状态A. 空闲B. 取指C. 读操作D. 写操作阶段作业2:一、单项选择题(共20道小题,共100.0分)1. 指令的寻址方式采用跳跃寻址方式时,可实现______。

微机原理与接口技术作业答案

微机原理与接口技术作业答案

第二章作业P592.解:标志寄存器是16位的寄存器,但实际上8086只用到9位,其中的6位是状态标识位,3位是控制标识位。

状态标志位分别是CF,PF,AF,ZF,SF,和OF;控制标志位包括DF,IF,TF。

CF:进位标志位。

算数运算指令执行后,若运算结果的最高位产生进位或借位,则CF=1,否则CF=0。

PF:奇偶标志位。

反应计算结果中1的个数是偶数还是奇数。

若运算结果的低8位中含有偶数个1,则PF=1;否则PF=0.AF:辅助进位标志。

算数运算指令执行后,若运算结果的低4位向高4位产生进位或借位,则AF=1;否则AF=0.ZF:零标志位。

若指令运算结果为0,则ZF=1;否则ZF=0。

SF:符号标志位。

它与运算结果最高位相同。

OF:溢出标志位。

当补码运算有溢出时,OF=1;否则OF=0。

DF:方向标志位。

用于串操作指令,指令字符串处理时的方向。

IF:中断允许标志位。

用来控制8086是否允许接收外部中断请求。

TF:单步标志位。

它是为调试程序而设定的陷阱控制位。

4.解:①由于8086微处理器的内部结构是16位的原因,在访问储存器时,Y无法直接提供储存器的20位物理地址,采用分段管理办法可形成超过16位的存储器物理地址,扩大对存储器的寻址范围(1MB,20位地址)。

②每个逻辑段的容量≤64k;③由于存储器是16位的,能储存的最大值为2的16次方=64KB8解:物理地址:PA=(CS)×1OH+(IP)=20350H9解:∵70A0H:DDF6H为第一个字,16个字是3个字节;∴首字单元的物理地址=70A00H+DDF6H=7E7F6H末地址=首地址+(字数-1)*2=首地址+(20H-2)∴末字单元的物理地址为7E814H。

14解:最大可寻址储存空间是4GB,虚拟储存空间是64TB;区别是:4GB的内存空间可以处理多个任务,而虚拟储存空间内可以自由编程,使得具有较小内存空间的系统运行大容量的程序。

15春西交《微机原理与接口技术》在线作业答案

15春西交《微机原理与接口技术》在线作业答案

15春西交《微机原理与接口技术》在线作业答案西交《微机原理与接口技术》在线作业一、单选题(共30道试题,共60分。

)1.EPROM是指()。

A.随机读写存储器B.可编程只读存储器C.只读存储器D.可擦除可编程只读存储器正确答案:D2.和外存储器相比,内存储器的特点是(〕。

A.容量大、速度快、成本低B.容量大、速度慢、成本高C.容量小、速度快、成本高D.容量小、速度快、成本低正确答案:C3.1A.B.C.D.正确答案:A4.算术移位指令SAR用于()。

A.带符号数乘2B.带符号数除2C.无符号数乘2D.无符号数除2正确答案:B5.能上,8086的CPU由()两部分组成。

A. SP、ALUB.控制器、FLAGSC. EU、BIUD. EU、ALU正确答案:C6.逻辑移位指令SHL用于()。

A.带符号数乘2B.带符号数除2C.无符号数乘2D.无符号数除2正确答案:C7.若内存容量为64KB,则访问内存所需地址线()条。

A.16B. 20C. 18D. 19正确谜底:A8.连续启动两次自力的存储器操作之间的最小间隔叫()。

A.存取时间B.读周期C.写周期D.存取周期正确谜底:A9.寄存器间接寻址方式中,操作数在()中。

A.通用寄存器B.堆栈C.主存单元D.段寄存器正确答案:C10.存器FLAGS中存放两类标志,即()。

A.符号标记、溢出标记B.控制标志、状态标志C.方向标记、进位标记D.零标记、奇偶标记正确答案:B11.位的二进制数的补码形式表示一个带符号数,它能表示的整数范围是()A. -127—+127B. -128—+128C. -127—+128D. -128—+127正确答案:D12.()表示中,二进制数B表示十进制数–1A.原码B.反码C.补码D. BCD码正确谜底:C13.取的某一条指令的偏移地址由()提供。

A. SIB. BPC. SPD. IP正确答案:D14.INC指令不影响()标志。

微机原理与接口技术作业3

微机原理与接口技术作业3

一、单项选择题第1题〔1分〕你的得分:1假设SS=3800H,SP=0100H,AX=905BH,执行指令PUSH AX后存放数据5BH 的物理地址是【1】。

A. 380FEHB. 380FFHC. 38101HD. 38102H题目答案:A你的答案:A题目分析:执行指令PUSH AX应先使SP-2→SP,然后把AX的内容存放入〔SP〕及(SP+1)单元。

SP'→ 00FEH 5BH00FFH 90HSP → 0100H所以,存放5BH的单元物理地址为38000H+00FEH=380FEH。

第2题〔1分〕你的得分:1假设SS=3800H,SP=0100H,AX=905BH,执行指令PUSH AX后存放数据90H 的物理地址是【2】。

A. 380FEHB. 380FFHC. 38101HD. 38102H题目答案:B你的答案:B题目分析:执行指令PUSH AX应先使SP-2→SP,然后把AX的内容存放入〔SP〕及(SP+1)单元。

SP'→ 00FEH 5BH00FFH 90HSP → 0100H所以,存放90H的单元物理地址为38000H+00FFH=380FFH。

第3题〔1分〕你的得分:1将字变量BUF的内容送入SI寄存器的正确指令是【3】。

A. MOV SI,BUFB. MOV [SI],BUFC. MOV OFFSET BUF,SID. LEA SI,BUF题目答案:A你的答案:A题目分析:B. 错误,该指令把存储单元的内容送到存储单元。

C. 错误,目的操作数为立即数。

D. 错误,该指令取BUF的偏移地址到SI寄存器中,而不是取其内容到SI寄存器中。

第4题〔1分〕你的得分:1指令 LODSB 操作数的段地址一定在【4】寄存器中。

A. CSB. DSC. ESD. SS题目答案:B你的答案:B题目分析:指令 LODSB 操作数的段地址规定在DS寄存器中。

第5题〔1分〕你的得分:1指令“MOV AX,ES:[BP]”中的源操作数在当前【5】中。

微机原理和接口技术第一、二章作业和答案

微机原理和接口技术第一、二章作业和答案

3-5、执行下列指令后,AX寄存器中的内容是多 少? TABLE DW 10,20,30,40, 50 ENTRY DW 3 … MOV BX, OFFSET TABLE ADD BX, ENTRY MOV AX, [BX] 3-6、假设一个48位数存放在DX:AX:BX中,试 编写程序段,将该48位数乘以2。
20
10. 将BL寄存器中的无符号数乘以128,高位放 在BH寄存器,低位放在BL寄存器,要求执 行速度尽量快(移位和循环指令实现)。 11、一个4位十进制数以压缩BCD码形式存放在 偏移地址为DATA和DATA+1的内存单元中, DATA单元存放个位和十位,DATA+1单元 存放百位和千位。要求将其转换为相应的 ASCII码,存放到以BUFF为首地址的4个内 存单元。例如初值: (DATA)=47H, (DATA+1)=92H, 要求结果为: (BUFF)=‘7’, (BUFF+1)=‘4’, (BUFF+2)=‘2’, (BUFF+3)=‘9’ 12、将立即数100推入堆栈
26
3-7、编写程序段,把从BUFFER控制的100个字节的内 存区域初始化成55H、0AAH、55H、0AAH、 ……. 55H、0AAH。 3-8、请用子程序结构编写如下程序:从键盘输入一个 二位十进制数的月份数(01~12),然后显示出相 应的英文缩写名。(交软件) 3-9、请在屏幕上显示斐波那契数列的前20个值。斐波 那契数列的定义如下: (交软件) F(0)=0 F(1)=1 F(n)=F(n-1) +F(n-2), n≥2 27
12. 将下列二进制数分别转化为十进制数和十六进制数
13. 将下列十六进制数分别转化为二进制数和十进制数
14. 求A95BH与8CA2H之和;并写出运算后标志寄存 器中SF、ZF、CF、OF、PF、AF的值。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浙江大学远程教育学院《微机原理与接口技术》课程作业姓名:张鹏飞学号:713128202005年级:13春学习中心:华家池第2章P522.80C51单片机引脚有哪些第二功能?答:80C51单片机的P0、P2和P3引脚都具有第二功能。

第一功能第二变异功能P0口地址总线A0~A7/数据总线D0~D7P2口地址总线A8~A15P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)INT(外部中断0)P3.2 0INT(外部中断1)P3.3 1P3.4 T0(定时器/计数器0的外部输入)P3.5 T1(定时器/计数器0的外部输出)P3.6 WR(外部读写存储器或1/0的写选通)P3.7 RD(外部读写存储器或1/0的读选通)4.80C51存储器在结构上有何特点?在物理上和逻辑上各有哪几种地址空间?访问片内数据存储器和片外数据存储器的指令格式有何区别?答:80C51单片机采用哈佛(Har-yard)结构,即是将程序存储器和数据存储器截然分开,分别进行寻址。

不仅在片内驻留一定容量的程序存储器和数据存储器及众多的特殊功能寄存器,而且还具有强的外部存储器扩展能力,扩展的程序存储器和数据存储器寻址范围分别可达64KB。

1.在屋里上设有4个存储器空间●片内程序存储器;●片外程序存储器;●片内数据存储器;●片外数据存储器。

2.在逻辑上设有3个存储器地址空间●片内、片外统一的64KB程序存储器地址空间。

●片内2568(80C52为384 B)数据存储器地址空间。

片内数据存储器空间,在物理上又又包含两部分:一对于80C51型单片机,从0~127字节为片内数据存储器空间;从128~255字节为特殊功能寄存器(SFR)空间(实际仅占用了20多个字节)。

●片外64KB 数据存储器地址空间。

在访问三个不同的逻辑空间时,应采用不同形式的指令,以产生不同存储空间的选通信号。

访问片内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位的特殊功能寄存器,主要功能是作为片外数据存储器或1/0寻址用的地址寄存器,这时会产生RD或WR控制信号,用于单片机对外扩的数据存储器或1/0的控制。

数据指针DPTR也可以作为访问程序存储器的基址寄存器,这时寻址程序存储器中的表格、常数等单元,而不是寻址指令。

第3章P939.MOV、MOVC、MOVX 指令有什么区别,分别用于那些场合,为什么?答:MOV指令用于对内部RAM的访问。

MOVC指令用于对程序存储器的访问,从程序存储器中读取数据(如表格、常数等)。

MOVX指令采用间接寻址方式访问外部数据存储器或I/O,有Ri和DPTR两种间接寻址方式。

MOVX指令执行时,在P3.7引脚上输出RD有效信号或在P3.6引脚上输出WR有效信号,可以用作外部数据存储器或1/0的读或写选通信号。

15.已知(R1)=20H,(20H)=AAH,请写出执行完下列程序段后A的内容。

MOV A,#55HANL A,#0FFHORL 20H,AXRL A,@R1CPL A答:各指令执行结果如下:MOV A,#55H ;(A)=55HANL A,#OFFH ;(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,#01H ;MLP0:ACALL D50ms ;MOV 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:…;RET答:①程序功能:P1.0~P1.3引脚上的波形图如下图1所示。

图1 P1.0~P1.3引脚上的波形图②注释见源程序右边所述。

ORG 0000HSTART: MOV SP, #20HMOV 30H, #01HMOV P1, #01H :P1.0~P1.3引脚输出波形MLP0:ACALL D50ms :软件延时50msMOV A,30HCJNE A,@A+DPTR :判表格中的数据是否取完?MOV A,#01H :取完,从表头开始取MOV DPTR,#1TAB :表格首地址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码值为ODH)?SJMP END1 ;是“CR”, 则结束传送LOOP1:MOVX @DPTR,A ;把A的值赋给目的数据INC RO ;源数据下一个地址值INC DPTR ;目的数据下一个地址值DJNZ R7,LOOP ;判数据传送是否完毕?END1:SJMP END116. 80C51单片机从内部RAM的31H单元开始存放一组8位带符号数,字节个数在30H中。

请编写程序统计出其中正数、零和负数的数目,并把统计结果分别存入20H、21H和22H三个单元中。

加上必要的伪指令,并对源程序加以注释。

答程序如下:ORG 0000HAJMP MAINORG 0030HMAIN: MOV 20H, #0 ;统计结果存放单元初始值为0MOV 21H,#0MOV 22H, #0MOV R0,#31H ;数据首地址LOOP:MOV A,@R0 ;取数据JB ACC.7. INC_NEG ;符号位为1,该数为负数,跳转加1CJNE A, #0,ING_POSINC 21H ;该数为0,0个数加1AJMP LOOP1INC_NEG:INC 22H ;该数为负数,负数个数加1AJMP LOOP1INC_POS:INC20H ;该数为正数,正数个数加1LOOP1:INC R0 ;指向下一数据地址DJNZ 30H,LOOP ;判断统计是否结束END例如:已知(30H)=08H,31H单元起存放数据为:00H, 80H, 7EH, 6DH, 2FH, 34H, EDH, FFH。

执行结果:(20H)=04H, (21H)=01H, (22H)=03H。

17.两个10位的无符号二一十进制数,分别从内部RAM的40H单元和50H单元开始存放。

请编程计算该两个数的和,并从内部RAM的60H单元开始存放。

加上必要的伪指令,并对源程序加以注释。

答分析:10位的无符号二十一进制数,占5个字节,每个字节存放一个压缩BCD(2位)。

ORG 0000HAJMP MAINORG 0030HMAIN:MOV R7,#05H ;十位(5个字节)计数MOV RO, #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 RO ;三个地址指针均加1INC R1INC R2INC R7,ADDB ;多字节加未结束,则循环HERE: SHMP HEREEND注意:寄存器间接寻址只针对R0和R1,所以存和时不能使用指令MOV @R2 , A。

相关文档
最新文档