嵌入式计算机系统设计第四次实验报告

这篇实验报告详细探讨了STC15F2K60S2单片机的汇编程序和C程序。在汇编程序部分,讨论了伪指令、程序存储器的地址和内容,以及程序执行时间等问题。在C程序部分,通过Keil软件进行了模拟,并分析了变量存储地址、数据类型占用的字节数以及大端存储和小端存储的概念。此外,还提出了程序优化的目标,即提高主循环数并减少轮询丢失数。
摘要由CSDN通过智能技术生成

任务1:汇编程序及仿真

假设Device:STC15F2K60S2系列,工作时钟频率:12MHz。
汇编程序如下:

MyID  EQU  201909070110       ;以学号为201909070110的学生为例
ORG   0000H
           LJMP   MAIN           
ORG   0030H
   MAIN:   MOV    A,    #MyID   ;A=2F 02B7 E9(1E)A累加器只有1字节  
           MOV    B,    #5		
           DIV    AB			;A=A/B=1E/5=6,B=A%B=1E%5=0
           MOV    P0,   B		;P0=0
           MOV    R0,   #23H	;R0=23H
   L1:     MOV    R1,   #(MyID/5);R1=E91E/5=2E(9F)寄存器1字节,编译器运算2字节
L2:     NOP                  
           DJNZ   R1,   L2		;R1=0
           DJNZ   R0,   L1      ;R0=0,共运行23H*9FH次
           MOV    30H,  #0F0H	;(30H)=F0H
           MOV    R0,   #30H	;R0=30H
           RL     A				;A*2=0CH
           ANL    A,    @R0   	;A=00H
           MOV    P1,   A      	;P1=00H
   L3:     LJMP   L3            
END

试用以下两种方法:
1.通过查阅STC15系列指令集方法(不用计算机)(原期中考试题)
2.用Keil软件模拟方法(uVision4\project\options for…设置debug中选项use simulator)

回答以下问题:
问题1:什么是伪指令?本程序中哪些是伪指令?
伪指令(Pseudo Instruction)是用于对汇编过程进行控制的指令,该类指令并不是可执行指令,没有机器代码,只用于汇编过程中为汇编程序提供汇编信息
本程序中EQU,ORG,END是伪指令
问题2:下载到程序存储器时,相关单元地址、内容是什么?
地址 内容 指令 补充
C:0x0000 020030 LJMP MAIN(C:0030)
C:0x0003 00 NOP
C:0x0004 00 NOP
C:0x0005 00 NOP
C:0x0006 00 NOP
C:0x0007 00 NOP
C:0x0008 00 NOP
C:0x0009 00 NOP
C:0x000A 00 NOP
C:0x000B 00 NOP
C:0x000C 00 NOP
C:0x000D 00 NOP
C:0x000E 00 NOP
C:0x000F 00 NOP
C:0x0010 00 NOP
C:0x0011 00 NOP
C:0x0012 00 NOP
C:0x0013 00 NOP
C:0x0014 00 NOP
C:0x0015 00 NOP
C:0x0016 00 NOP
C:0x0017 00 NOP
C:0x0018 00 NOP
C:0x0019 00 NOP
C:0x001A 00 NOP
C:0x001B 00 NOP
C:0x001C 00 NOP
C:0x001D 00 NOP
C:0x001E 00 NOP
C:0x001F 00 NOP
C:0x0020 00 NOP
C:0x0021 00 NOP
C:0x0022 00 NOP
C:0x0023 00 NOP
C:0x0024 00 NOP
C:0x0025 00 NOP
C:0x0026 00 NOP
C:0x0027 00 NOP
C:0x0028 00 NOP
C:0x0029 00 NOP
C:0x002A 00 NOP
C:0x002B 00 NOP
C:0x002C 00 NOP
C:0x002D 00 NOP
C:0x002E 00 NOP
C:0x002F 00 NOP
C:0x0030 741E MOV A,#0x1E
C:0x0032 75F005 MOV B(0xF0),#0x05
C:0x0035 84 DIV AB
C:0x0036 85F080 MOV P0(0x80),B(0xF0)
C:0x00

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值