首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PIC24的符号扩展指令

PIC24的符号扩展指令
EN

Stack Overflow用户
提问于 2018-01-19 11:10:19
回答 1查看 134关注 0票数 0

如何为PIC24实现VHDL ( ALU)中的符号扩展指令?我需要实现以下指令,我不知道如何实现SE。

代码语言:javascript
复制
LOOP: 
   mov 0x1020, w1 ; INW0=ff7f
   mov 0x1022, w2 ; INW1=8001
   ior w2, w2, w3 ; N=1
   se  w1, w1  ; N=0
REP1:
   bra n, REP1
   add w1, w1, w5
   se  w5, w6  , N=1
   bra n, CONT1
REP2:
   bra rep2
CONT1:
   mov w6, 0x1024
   bra LOOP

这是pic24手册中的SE。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-19 11:40:41

查看维基百科页面的PIC24显示,SE指令具有这样的beahviour:

SE src,dst C Z N dst ← sign_extend(src), copy bit 7 to bits 15:8

可以使用级联操作符(&)将位7复制到位15:8,该操作符将数组连接在一起,以生成更大的数组:

代码语言:javascript
复制
dst <= src(7) & src(7) & src(7) & src(7) & src(7) & src(7) & src(7) & src(7) & src(7 downto 0);

通过将其分割成两行并使用部件选择和聚合,可以使其更可扩展。

代码语言:javascript
复制
dst <= (others => src(7));
dst(7 downto 0) <= src(7 downto 0);

第一行用dst的7位填充src的所有位,第二行用src的7:0位覆盖dst的7:0位。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48339772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档