找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5841|回复: 0
打印 上一主题 下一主题
收起左侧

学着看keil调试代码(debug step)

[复制链接]
跳转到指定楼层
楼主
NAME main
my_seg SEGMENT CODE                  ; 声明代码段my_seg
           RSEG    my_seg            ; 切换到代码段my_seg
TABLE:     DB      3,2,5,0xFF        ; 声明四个常数
        
myprog SEGMENT CODE                  ; 声明代码段myprog
           RSEG    myprog            ; 切换到代码段myprog
                   LJMP main                 ; 在程序存储器0x0000的位置有一条跳转指令
                   USING 0                   ; 使用第一组寄存器
                   ORG 100H                  ; 定位到代码段100H的位置
main:     MOV     DPTR, #TABLE      ; 将TABLE表的地址送给DPTR
           MOV     A,#3              ; 将常数送给累加器A
           MOVC    A,@A+DPTR         ; 将DPTR+3所指向的程序Flash的内容送到累加器A
                   MOV     P1,0              ; 将P1端口置0x0000
                   MOV     P1,A              ; 将P1端口置累加器A的内容
END
点开debug,选择start/stop debug session, 然后点开rgisters windows,memory windows里的memory1,和watch windows里的watch1
将TABLE表的地址送给DPTR,A的值为0.



点步进step,当黄色箭头越过MOV A,#3;时,到下一行时,A的值就变为3,


在点step,此时a的值变为FF,是因为将0x10b地址里的第4个数赋值给A,也就是FF,(如果把A的值改为2,此时A的值就等于05)。


这个比较简单,但是这是我尝试去看的,就能分享着么多,谢谢!



评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表