• Hexagon_V65_Programmers_Reference_Manual(20)


    11.5.5 将字节加载到移位向量中

    将64位向量右移一个字节。将内存中的一个字节插入空的上限向量的字节。
    在这里插入图片描述

    Syntax 										Behavior
    Ryy=memb_fifo(Re=#U6) 						apply_extension(#U);
    											EA=#U;
    											{
    											tmpV = *EA;
    											Ryy = (((size8u_t)Ryy)>>8)|(tmpV<<56);
    											}
    											;
    											Re=#U;
    Ryy=memb_fifo(Rs) 							Assembler mapped to: "Ryy=memb_fifo""(Rs+#0)"
    Ryy=memb_fifo(Rs+#s11:0) 					apply_extension(#s);
    											EA=Rs+#s;
    											{
    											tmpV = *EA;
    											Ryy = (((size8u_t)Ryy)>>8)|(tmpV<<56);
    											}
    											;
    Ryy=memb_fifo(Rt<<#u2+#U6) 					apply_extension(#U);
    											EA=#U+(Rt<<#u);
    											{
    											tmpV = *EA;
    											Ryy = (((size8u_t)Ryy)>>8)|(tmpV<<56);
    											}
    											;
    Ryy=memb_fifo(Rx++#s4:0) 					EA=Rx;
    											Rx=Rx+#s;
    											{
    											tmpV = *EA;
    											Ryy = (((size8u_t)Ryy)>>8)|(tmpV<<56);
    											}
    											;
    Ryy=memb_fifo(Rx++#s4:0:circ(Mu)) 			EA=Rx;
    											Rx=Rx=circ_add(Rx,#s,MuV);
    											{
    											tmpV = *EA;
    											Ryy = (((size8u_t)Ryy)>>8)|(tmpV<<56);
    											}
    											;
    Ryy=memb_fifo(Rx++I:circ(Mu)) 				EA=Rx;
    											Rx=Rx=circ_add(Rx,I<<0,MuV);
    											{
    											tmpV = *EA;
    											Ryy = (((size8u_t)Ryy)>>8)|(tmpV<<56);
    											}
    											;
    Ryy=memb_fifo(Rx++Mu) 						EA=Rx;
    											Rx=Rx+MuV;
    											{
    											tmpV = *EA;
    											Ryy = (((size8u_t)Ryy)>>8)|(tmpV<<56);
    											}
    											;
    Ryy=memb_fifo(Rx++Mu:brev) 					EA=Rx.h[1] | brev(Rx.h[0]);
    											Rx=Rx+MuV;
    											{
    											tmpV = *EA;
    											Ryy = (((size8u_t)Ryy)>>8)|(tmpV<<56);
    											}
    											;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59

    类别:LD(插槽0,1)

    编码
    在这里插入图片描述

    Field name 			Description
    ICLASS 				Instruction Class
    Amode 				Amode
    Type 				Type
    UN 					Unsigned
    Parse 				Packet/Loop parse bits
    e5 					Field to encode register e
    s5 					Field to encode register s
    t5 					Field to encode register t
    u1 					Field to encode register u
    x5 					Field to encode register x
    y5 					Field to encode register y
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    11.5.6 将一半加载到移位向量中

    将64位向量右移一个半字。将内存中的半字插入向量的空上半字。将一半加载到移位向量中将64位向量右移一个半字。将内存中的半字插入向量的空上半字。

    在这里插入图片描述

    Syntax 						Behavior
    Ryy=memh_fifo(Re=#U6) 		apply_extension(#U);
    							EA=#U;
    							{
    							tmpV = *EA;
    							Ryy = (((size8u_t)Ryy)>>16)|(tmpV<<48);
    							}
    							;
    							Re=#U;
    Ryy=memh_fifo(Rs) 			Assembler mapped to: "Ryy=memh_fifo""(Rs+#0)"
    Ryy=memh_fifo(Rs+#s11:1) 	apply_extension(#s);
    							EA=Rs+#s;
    							{
    							tmpV = *EA;
    							Ryy = (((size8u_t)Ryy)>>16)|(tmpV<<48);
    							}
    							;
    Ryy=memh_fifo(Rt<<#u2+#U6) 	apply_extension(#U);
    							EA=#U+(Rt<<#u);
    							{
    							tmpV = *EA;
    							Ryy = (((size8u_t)Ryy)>>16)|(tmpV<<48);
    							}
    							;
    Ryy=memh_fifo(Rx++#s4:1) 	EA=Rx;
    							Rx=Rx+#s;
    							{
    							tmpV = *EA;
    							Ryy = (((size8u_t)Ryy)>>16)|(tmpV<<48);
    							}
    							;
    Ryy=memh_fifo(Rx++#s4:1:circ(Mu))		EA=Rx;
    										Rx=Rx=circ_add(Rx,#s,MuV);
    										{
    										tmpV = *EA;
    										Ryy = (((size8u_t)Ryy)>>16)|(tmpV<<48);
    										}
    										;
    Ryy=memh_fifo(Rx++I:circ(Mu)) 			EA=Rx;
    										Rx=Rx=circ_add(Rx,I<<1,MuV);
    										{
    										tmpV = *EA;
    										Ryy = (((size8u_t)Ryy)>>16)|(tmpV<<48);
    										}
    										;
    Ryy=memh_fifo(Rx++Mu) 					EA=Rx;
    										Rx=Rx+MuV;
    										{
    										tmpV = *EA;
    										Ryy = (((size8u_t)Ryy)>>16)|(tmpV<<48);
    										}
    										;
    Ryy=memh_fifo(Rx++Mu:brev) 				EA=Rx.h[1] | brev(Rx.h[0]);
    										Rx=Rx+MuV;
    										{
    										tmpV = *EA;
    										Ryy = (((size8u_t)Ryy)>>16)|(tmpV<<48);
    										}
    										;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59

    类别:LD(插槽0,1)

    编码
    在这里插入图片描述

    Field name 			Description
    ICLASS 				Instruction Class
    Amode 				Amode
    Type 				Type
    UN 					Unsigned
    Parse 				Packet/Loop parse bits
    e5 					Field to encode register e
    s5 					Field to encode register s
    t5 					Field to encode register t
    u1 					Field to encode register u
    x5 					Field to encode register x
    y5 					Field to encode register y
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    11.5.7 加载半字

    从内存加载有符号半字。中有效地址处的16位半字存储器位于目标寄存器的最低有效16位。目的地然后将寄存器从16位符号扩展到32位。
    在这里插入图片描述
    类别:LD(插槽0,1)

    编码
    在这里插入图片描述

    Field name 			Description
    ICLASS 				Instruction Class
    Amode 				Amode
    Type 				Type
    UN 					Unsigned
    Parse 				Packet/Loop parse bits
    e5 					Field to encode register e
    s5 					Field to encode register s
    t5 					Field to encode register t
    u1 					Field to encode register u
    x5 					Field to encode register x
    y5 					Field to encode register y
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    11.5.8 有条件加载半字

    从内存加载有符号半字。中有效地址处的16位半字存储器位于目标寄存器的最低有效16位。目的地然后将寄存器从16位符号扩展到32位。

    此指令是基于谓词值的条件指令。如果谓词为true,则执行指令,否则将其视为NOP。

    在这里插入图片描述
    类别:LD(插槽0,1)

    编码
    在这里插入图片描述

    Field name 			Description
    ICLASS 				Instruction Class
    Amode 				Amode
    Type 				Type
    UN 					Unsigned
    Parse 				Packet/Loop parse bits
    PredNew 			PredNew
    Sense 				Sense
    e5 					Field to encode register e
    s5 					Field to encode register s
    t5 					Field to encode register t
    u1 					Field to encode register u
    x5 					Field to encode register x
    y5 					Field to encode register y
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    11.5.9 加载无符号字节

    从内存中加载无符号字节。内存中有效地址处的字节为:
    置于目标寄存器的最低有效8位。目标寄存器是然后零从8位扩展到32位。
    在这里插入图片描述
    类别:LD(插槽0,1)

    编码
    在这里插入图片描述

    Field name 			Description
    ICLASS 				Instruction Class
    Amode 				Amode
    Type 				Type
    UN 					Unsigned
    Parse 				Packet/Loop parse bits
    e5 					Field to encode register e
    s5 					Field to encode register s
    t5 					Field to encode register t
    u1 					Field to encode register u
    x5 					Field to encode register x
    y5 					Field to encode register y
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    11.5.10 有条件地加载无符号字节

    从内存中加载无符号字节。内存中有效地址处的字节为:
    置于目标寄存器的最低有效8位。目标寄存器是然后零从8位扩展到32位。

    此指令是基于谓词值的条件指令。如果谓词为true,则执行指令,否则将其视为NOP。

    在这里插入图片描述

    类别:LD(插槽0,1)

    编码
    在这里插入图片描述

    Field name 			Description
    ICLASS 				Instruction Class
    Amode 				Amode
    Type 				Type
    UN 					Unsigned
    Type 				Type
    UN 					Unsigned
    Parse 				Packet/Loop parse bits
    PredNew 			PredNew
    Sense 				Sense
    e5 					Field to encode register e
    s5 					Field to encode register s
    t5 					Field to encode register t
    u1 					Field to encode register u
    x5 					Field to encode register x
    y5 					Field to encode register y
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
  • 相关阅读:
    【12】基础知识:React ajax
    Dockers数据卷Volume
    [面试宝典] Linux常见命令及面试题
    linux上获取时间的性能评估
    python设计模式(二)--创建类设计模式
    JaVers:自动化数据审计
    XCTF-reverse-signin
    MYSQL---基础篇
    What is UDS Service 0x10 - Diagnostic Session Control ?
    简单地聊一聊Spring Boot的构架
  • 原文地址:https://blog.csdn.net/weixin_38498942/article/details/126279725