历史上的今天
今天是:2025年03月25日(星期二)
2021年03月25日 | 单片机机器码以及偏移地址的计算
2021-03-25 来源:eefocus
比如: 机器码
SJMP rel 10000000 偏移量8bit
新的目标地址:
PC = 当前PC + 偏移量 [注意偏移量rel的计算]
例:
KK: SJMP K0
设KK的地址 = 0100H, 标号K0 = 00F0H 则偏移量为多少?
rel = 目标地址 - 当前地址
= 00F0 - 0102H(PC指向下一条指令)
= -12H
= EEH(补码)
KK: DJNZ R7,K0
设置KK的地址为 = 0009H, 标号K0 = 0005H 则偏移量为多少?
rel = 目标地址 - 当前地址
= 0005H - 000BH(PC指向下一条指令)
= -06H
= FAH(补码,-06H负数的补码求法:符号位不变,其它部分取反加1)
DJNZ Rn,rel的机器码是 1101 1rrr 相对地址rel8bit [两字节]
则本条指令的机器码为DF FA
则目标地址 = rel + 当前地址(PC指向下一条指令,和本条指令的地址数相关)
所以取得 本条指令的话 需要判断是rel 是正数还是负数,如果是负数则 用当前地址减去偏移地址。如果是整数则用当前地址加上rel
13 0012 DF C5 DJNZ R7,LAB_ffffffd0
出现了此条指令:
在源程序当中把
UINT64 lCurLine = 0;// 修改为下面
UINT16 lCurLine = 0;
则输出的时候为LAB_ffd0
史海拾趣
|
由于半导体制造工艺的原因,低电压器件的成本比传统5V器件更低,性能更优,加上多数器件的I/O脚可以兼容5v/3.3v TTL电平,可以直接使用在原有系统中,所以各大半导体公司都将3.3v,2.5v等低电压集成电路作为推广重点,如高端的DSP,PLD/FPGA产品已广 ...… 查看全部问答> |
|
今天写了个pli程序,编译、生成dll文件都没有问题,就是仿真装载过程中,modelsim崩溃,请大家给分析一下,这是什么病,怎么治!源码如下: top.v `timescale 1ns/1ns module top(clk,AM,AS,WRITE,IACK,LWORD,DS0,DS1,DTACK,BERR,RETRY,AB,DB,SY ...… 查看全部问答> |
|
求TC35外围电路连接图及收发短信源代码 !! 各位大虾帮帮忙吧,刚接触这东西,急需这些来熟悉熟悉,买了个TC35模块,想自己焊个板子玩下。 如果有的话,麻烦发我邮箱forjobforlife@163.com 谢谢了~ … 查看全部问答> |
|
HI,各位 最近在做一个WINCE5的项目,需要用到GPRS,使用SIM300模块做MODEM,设置都OK了 现在的问题是,使用我自己写的小程序,程序使用的是SOCKET,可以正常通讯,但是用IE不能上网 在CE下,所有IP都ping不通,但是用自己写的小程序连接过某个IP以后,就可 ...… 查看全部问答> |
|
如題,我要用8051讀取USB 鼠標的數據,請USB高手推荐比較好的USB HOST 開發板,要有齊全的相關資料和詳細的原代碼說明,最好是中文的.… 查看全部问答> |
|
1、连接4个串口 2、用220V供电 3、访问桌面SQL Server数据库 操作系统采用windows ce请问使用什么CPU的嵌入式主板?相应厂家的联系方式?… 查看全部问答> |




