找回密码
 立即注册
查看: 1608|回复: 136

讨论稿,向【64位超算中心】前进 ! DSP/DPU351 + TFPU, DPU32@全新32位8051

[复制链接]

该用户从未签到

551

主题

9297

回帖

1万

积分

管理员

积分
14063
发表于 2024-4-1 19:52:40 | 显示全部楼层 |阅读模式
向【64位超算中心】前进 !  DSP/DPU351 + TFPU !328051
===DSP/DPU351 功能,第二版讨论稿,大家一起来建议
STC32G96K256-200MHz-LQFP100/64/48

管脚兼容: STC32G12K128, STC32G8K64, STC8H8K64U
第二版 DPU32@全新32位8051+DSP指令, 征求意见中
STC32G96K256, 向 DSP 迈进, DPU32 + TFPU32
DPU32: 【DSP指令,32位整数/64位整数运算器】
===请从本楼下载最新的 STC32G数据手册,
DPU32/DPU351
【DSP指令,32位整数/64位整数运算器】见第36章第2小节
TFPU32: 三角/反三角函数,单精度浮点,见第35章节

STC8051H-108MHz-LQFP48/44, PDIP40
===已开始流片量产程序,进入光罩制作阶段

现在 STC32G96K256-200MHz-LQFP100/64/48

===要加 DSP, DPU32, 大家急提建议 !!!

截图202404012025426561.jpg



截图202404012026222426.jpg


截图202404012027148151.jpg


截图202404012028229799.jpg


截图202404012029223586.jpg


截图202404012031155045.jpg


截图202404012032187410.jpg

截图202404012145575169.jpg

截图202404012145175411.jpg
既然有了无符号数的64位/32位除法和32位/16位除法,是否需要一次性做全
===增加 有符号数的 64位/32位除法 和 32位/16位除法

另外,把Status Register CY+OV寫給CPU PSW,这样设计会使DPU251更加好用

增加的BCD和BIN之间的转换,非常有用

【增加的16位和32位的加减法在80251原本的指令就有支持,
===是否需要增加?还是说是为8051内核准备的?】
===是为再转到 STC8H上,暂时保留已有的 STC32的指令






截图202404012030517423.jpg

STC32G-20240401.pdf

46.63 MB, 下载次数: 16

回复 送花

使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    16

    主题

    711

    回帖

    2528

    积分

    超级版主

    积分
    2528
    发表于 2024-4-1 19:58:36 | 显示全部楼层
    zhp 发表于 2024-4-1 19:55
    运算执行时间表

    1.1                            草案22024/4/11.1.1                     相关的特殊功能寄存器
      
    符号
      
    描述
    地址
    位地址与符号
    复位值
    B7
    B6
    B5
    B4
    B3
    B2
    B1
    B0
    DPUST
    DPU32状态寄存器
    86H
    Z
    DBZ
    SC[5:0]
    0000,0000
    DPUOP
    DPU32指令寄存器
    EDH
    OPCODE[7:0]
    0000,0000
    DPUCFG
    DPU32配置寄存器
    -
    -
    -
    -
    -
    -
    CDRS[2:0]
    xxxx,x000
    DPU32状态寄存器
      
    符号
      
    地址
    B7
    B6
    B5
    B4
    B3
    B2
    B1
    B0
    DPUSR
    86H
    Z
    DBZ
    SC[5:0]
    Z:零状态。
    0:计算结果不为0
    1:计算结果为0
    DBZ:除数为0状态
    0:除数不为0
    1:除数为0
    SC[5:0]:规格化时移动的位数。
    DPU32配置寄存器
      
    符号
      
    地址
    B7
    B6
    B5
    B4
    B3
    B2
    B1
    B0
    DPCFG
    -
    -
    -
    -
    -
    -
    CDRS[2:0]
    CDRS[2:0]ECXEDX寄存器组选择(详情参见:DPU32操作寄存器说明

    1.1.2                     DPU32操作寄存器说明
      
    PSW[5:4]
      
      
    EAX/EBX
      
    00
    01
    10
    11
    80251
    EAX
    AX2
    DATA[0]
    DATA[8]
    DATA[10]
    DATA[18]
    DR0
    DATA[1]
    DATA[9]
    DATA[11]
    DATA[19]
    AX
    DATA[2]
    DATA[A]
    DATA[12]
    DATA[1A]
    DATA[3]
    DATA[B]
    DATA[13]
    DATA[1B]
    EBX
    BX2
    DATA[4]
    DATA[C]
    DATA[14]
    DATA[1C]
    DR4
    DATA[5]
    DATA[D]
    DATA[15]
    DATA[1D]
    BX
    DATA[6]
    DATA[E]
    DATA[16]
    DATA[1E]
    DATA[7]
    DATA[F]
    DATA[17]
    DATA[1F]
      
    CDRS[2:0]
      
      
    ECX/RDX
      
    000
    001
    010
    011
    CDRS=1xx
      
    80251)
    ECX
    CX2
    DATA[0]
    DATA[8]
    DATA[10]
    DATA[18]
    DR12
    DATA[1]
    DATA[9]
    DATA[11]
    DATA[19]
    CX
    DATA[2]
    DATA[A]
    DATA[12]
    DATA[1A]
    DATA[3]
    DATA[B]
    DATA[13]
    DATA[1B]
    EDX
    DX2
    DATA[4]
    DATA[C]
    DATA[14]
    DATA[1C]
    DR16
    DATA[5]
    DATA[D]
    DATA[15]
    DATA[1D]
    DX
    DATA[6]
    DATA[E]
    DATA[16]
    DATA[1E]
    DATA[7]
    DATA[F]
    DATA[17]
    DATA[1F]
    1.1.3                     运算执行时间表
      
    DPU32运算
      
    DMA指令码
    执行时钟数
    HEX
    DEC
    FILL_DPUCFG
    0x80
    128
    2
    BIN2BCD_EABX
    0x81
    129
    34+
    BCD2BIN
    0x82
    130
    12+
    NRM_BX
    0x83
    131
    6
    NRM_EBX
    0x84
    132
    7
    NRM_EABX
    0x85
    133
    8
    SWAP_EAB
    0x86
    134
    3
    SWAP_ECD
    0x87
    135
    3
    SWAP_EAC
    0x88
    136
    3
    SWAP_EBD
    0x89
    137
    3
    ADDC_EABX
    0x90
    144
    3
    ADDC_ABX
    0x91
    145
    3
    ADD_EABX
    0x92
    146
    3
    ADD_ABX
    0x93
    147
    3
    SUBB_EABX
    0x94
    148
    3
    SUBB_ABX
    0x95
    149
    3
    SUB_EABX
    0x96
    150
    3
    SUB_ABX
    0x97
    151
    3
    CMP_EABX
    0x98
    152
    3
    CMP_ABX
    0x99
    153
    3
    MULU_EABX
    0x9A
    154
    8
    MULS_EABX
    0x9B
    155
    10
    MULU_ABX
    0x9C
    156
    3
    MULS_ABX
    0x9D
    157
    4
    MULX_KEIL16
    0x9E
    158
    3
    DIVU_EABX
    0x9F
    159
    19
    DIVS_EABX
    0xA0
    160
    21
    DIVU_ABX
    0xA1
    161
    11
    DIVU_KEIL16
    0xA2
    162
    10
    DIVS_ABX
    0xA3
    163
    13
    DIVS_KEIL16
    0xA4
    164
    12
    DIVU_EABXC
    0xA5
    165
    34+
    DIVU_EBXA
    0xA6
    166
    18+
    SET0_EAX
    0xB0
    176
    2
    SET1_EAX
    0xB1
    177
    2
    SET0_EBX
    0xB2
    178
    2
    SET1_EBX
    0xB3
    179
    2
    SET0_ECX
    0xB4
    180
    2
    SET1_ECX
    0xB5
    181
    2
    SET0_EDX
    0xB6
    182
    2
    SET1_EDX
    0xB7
    183
    2
    NEGS_EAX
    0xB8
    184
    2
    NEGS_EBX
    0xB9
    185
    2
    NEGS_AX
    0xBA
    186
    2
    NEGS_BX
    0xBB
    187
    2
    INC1_EAX
    0xC0
    192
    3
    INC1_EBX
    0xC1
    193
    3
    INC4_EAX
    0xC2
    194
    3
    INC4_EBX
    0xC3
    195
    3
    INC1_AX
    0xC4
    196
    3
    INC1_BX
    0xC5
    197
    3
    INC2_AX
    0xC6
    198
    3
    INC2_BX
    0xC7
    199
    3
    DEC1_EAX
    0xC8
    200
    3
    DEC1_EBX
    0xC9
    201
    3
    DEC4_EAX
    0xCA
    202
    3
    DEC4_EBX
    0xCB
    203
    3
    DEC1_AX
    0xCC
    204
    3
    DEC1_BX
    0xCD
    205
    3
    DEC2_AX
    0xCE
    206
    3
    DEC2_BX
    0xCF
    207
    3
    BAND_EABX
    0xD0
    208
    3
    BAND_ABX
    0xD1
    209
    3
    BOR_EABX
    0xD2
    210
    3
    BOR_ABX
    0xD3
    211
    3
    BXOR_EABX
    0xD4
    212
    3
    BXOR_ABX
    0xD5
    213
    3
    BCPL_EAX
    0xD6
    214
    2
    BCPL_EBX
    0xD7
    215
    2
    SHLX_EAX_CL
    0xE0
    224
    7
    SHLX_EBX_CL
    0xE1
    225
    7
    SHLX_AX_CL
    0xE2
    226
    7
    SHLX_BX_CL
    0xE3
    227
    7
    SHRU_EAX_CL
    0xE4
    228
    7
    SHRU_EBX_CL
    0xE5
    229
    7
    SHRU_AX_CL
    0xE6
    230
    7
    SHRU_BX_CL
    0xE7
    231
    7
    SHRS_EAX_CL
    0xE8
    232
    7
    SHRS_EBX_CL
    0xE9
    233
    7
    SHRS_AX_CL
    0xEA
    234
    7
    SHRS_BX_CL
    0xEB
    235
    7
    MMD32_EABX
    0xF0
    240
    43
    MMD16_ABX
    0xF1
    241
    21
    LTC32_EAX
    0xF2
    242
    44
    LTC16_AX
    0xF3
    243
    22
    MA32_EDX
    0xF4
    244
    5
    MA64_EDX
    0xF5
    245
    12

    1.1.4                     DPU32介绍
    配置DPU(FILL_DPUCFG)
    FILL_DPUCFG
      
    指令操作:
      
      
    DPUCFG[7:0] = ACC[7:0]
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    80H
      
      
    时钟数:
      
      
    2
      
    BIN转BCD(BIN2BCD_EABX)
    BIN2BCD_EABX
      
    指令操作:
      
      
    { EAX, EBX }  <= BCD( EBX )
      
      
    指令说明:
      
      
    EBX中的BIN码转换为BCD码后写入{ EAX, EBX }
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    81H
      
      
    时钟数:
      
      
    34+
      
    BCD转BIN(BCD2BIN)
    BCD2BIN
      
    指令操作:
      
      
    EBX <= BIN(  EBX )
      
      
    指令说明:
      
      
    EBX中的BCD码转换为BIN码后写入EBX
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    82H
      
      
    时钟数:
      
      
    12+
      
    16位AX规格化(NRM_AX)
    NRM_AX
      
    指令操作:
      
      
    AX=NRM(AX); SC[5:0]  <= Shifted#
      
      
    指令说明:
      
      
    规格化过程中移动的位数存放在SC[5:0]
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    83H
      
      
    时钟数:
      
      
    6
      

    32位EAX规格化(NRM_EAX)
    NRM_EAX
      
    指令操作:
      
      
    EAX=NRM(EAX); SC[5:0]  <= Shifted#
      
      
    指令说明:
      
      
    规格化过程中移动的位数存放在SC[5:0]
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    84H
      
      
    时钟数:
      
      
    7
      
    64位{EAX, EBX}规格化(NRM_EABX)
    NRM_EABX
      
    指令操作:
      
      
    {EAX,EBX}=NRM({EAX,EBX});  SC[5:0] <= Shifted#
      
      
    指令说明:
      
      
    规格化过程中移动的位数存放在SC[5:0]
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    85H
      
      
    时钟数:
      
      
    8
      
    EAX与EBX内容互换(SWAP_EAB)
    SWAP_EAB
      
    指令操作:
      
      
    (EAX) ↔(EBX)
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    86H
      
      
    时钟数:
      
      
    3
      
    ECX与EDX内容互换(SWAP_ECD)
    SWAP_ECD
      
    指令操作:
      
      
    (ECX) ↔(EDX)
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    87H
      
      
    时钟数:
      
      
    3
      

    EAX与ECX内容互换(SWAP_EAC)
    SWAP_EAC
      
    指令操作:
      
      
    (EAX) ↔(ECX)
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    88H
      
      
    时钟数:
      
      
    3
      
    EBX与EDX内容互换(SWAP_EBD)
    SWAP_EBD
      
    指令操作:
      
      
    (EBX) ↔(EDX)
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    89H
      
      
    时钟数:
      
      
    3
      
    32位带进位加法(ADDC_EABX)
    ADDC_EABX
      
    指令操作:
      
      
    EBX=EBX + EAX+CY
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    90H
      
      
    时钟数:
      
      
    3
      
    16位带进位加法(ADDC_ABX)
    ADDC_ABX
      
    指令操作:
      
      
    BX= BX+ AX + CY
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    91H
      
      
    时钟数:
      
      
    3
      

    32位加法(ADD_EABX)
    ADD_EABX
      
    指令操作:
      
      
    EBX=EBX + EAX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    92H
      
      
    时钟数:
      
      
    3
      
    16位加法(ADD_ABX)
    ADD_ABX
      
    指令操作:
      
      
    BX=BX + AX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    93H
      
      
    时钟数:
      
      
    3
      
    32位带借位减法(SUBB_EABX)
    SUBB_EABX
      
    指令操作:
      
      
    EBX=EBX – EAX  - CY
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    94H
      
      
    时钟数:
      
      
    3
      
    16位带借位减法(SUBB_ABX)
    SUBB_ABX
      
    指令操作:
      
      
    BX=BX – AX -  CY
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    95H
      
      
    时钟数:
      
      
    3
      

    32位减法(SUB_EABX)
    SUB_EABX
      
    指令操作:
      
      
    EBX=EBX – EAX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    96H
      
      
    时钟数:
      
      
    3
      
    16位减法(SUB_ABX)
    SUB_ABX
      
    指令操作:
      
      
    BX=BX – AX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    97H
      
      
    时钟数:
      
      
    3
      
    32位比较(CMP_EABX)
    CMP_EABX
      
    指令操作:
      
      
    EBX – EAX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    98H
      
      
    时钟数:
      
      
    3
      
    16位比较(CMP_ABX)
    CMP_ABX
      
    指令操作:
      
      
    BX – AX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    99H
      
      
    时钟数:
      
      
    3
      

    32位无符号数乘法(MULU_EABX)
    MULU_EABX
      
    指令操作:
      
      
    { ECX, EBX } =  EBX * EAX
      
      
    指令说明:
      
      
    结果64位,高32位在ECX,低32位在EBX
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    9AH
      
      
    时钟数:
      
      
    8
      
    32位有符号数乘法(MULS_EABX)
    MULS_EABX
      
    指令操作:
      
      
    { ECX, EBX } =  EBX * EAX
      
      
    指令说明:
      
      
    结果64位,高32位在ECX,低32位在EBX
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    9BH
      
      
    时钟数:
      
      
    10
      
    16位无符号数乘法(MULU_ABX)
    MULU_ABX
      
    指令操作:
      
      
    EBX = BX * AX
      
      
    指令说明:
      
      
    结果32位,乘积低16位在BX,16位在BX2
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    9CH
      
      
    时钟数:
      
      
    3
      
    16位有符号数乘法(MULS_ABX)
    MULS_ABX
      
    指令操作:
      
      
    EBX = BX * AX
      
      
    指令说明:
      
      
    结果32位,乘积低16位在BX,16位在BX2
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    9DH
      
      
    时钟数:
      
      
    4
      

    兼容KEIL编译器的16位无符号数乘法(MULX_KEIL16)
    MULX_KEIL16
      
    指令操作:
      
      
    BX=BX2 * BX
      
      
    指令说明:
      
      
    结果16位在BX
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    9EH
      
      
    时钟数:
      
      
    3
      
    32位无符号除法(DIVU_EABX)
    DIVU_EABX
      
    指令操作:
      
      
    EBX=EBX / EAX  ;
      
    EAX=EBX%EAX
      
      
    指令说明:
      
      
    结果32位商在EBX32位余数在EAX
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
       
      
    [指令码]
      
      
    9FH
      
      
    时钟数:
      
      
    19
      
    32位有符号除法(DIVS_EABX)
    DIVS_EABX
      
    指令操作:
      
      
    EBX=EAX / EBX  ;
      
    EAX=EAX%EBX
      
      
    指令说明:
      
      
    结果32位商在EBX32位余数在EAX
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
       
      
    [指令码]
      
      
    A0H
      
      
    时钟数:
      
      
    21
      
    16位无符号除法(DIVU_ABX)
    DIVU_ABX
      
    指令操作:
      
      
    BX=AX / BX ;
      
    AX=AX%BX
      
      
    指令说明:
      
      
    结果16位商在BX16位余数在AX
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
       
      
    [指令码]
      
      
    A1H
      
      
    时钟数:
      
      
    11
      

    兼容KEIL编译器的16位无符号除法(DIVU_KEIL16)
    DIVU_KEIL16
      
    指令操作:
      
      
    BX=BX / BX2 ;
      
    BX2=BX%BX2
      
      
    指令说明:
      
      
    结果16位商在BX16位余数在BX2
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
       
      
    [指令码]
      
      
    A2H
      
      
    时钟数:
      
      
    10
      
    16位有符号除法(DIVS_ABX)
    DIVS_ABX
      
    指令操作:
      
      
    BX=BX / AX ;
      
    AX=BX%AX
      
      
    指令说明:
      
      
    结果16位商在BX16位余数在AX
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
       
      
    [指令码]
      
      
    A3H
      
      
    时钟数:
      
      
    13
      
    兼容KEIL编译器的16位有符号除法(DIVS_KEIL16)
    DIVS_KEIL16
      
    指令操作:
      
      
    BX=BX / BX2 ;
      
    BX2=BX%BX2
      
      
    指令说明:
      
      
    结果16位商在BX16位余数在BX2
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
       
      
    [指令码]
      
      
    A4H
      
      
    时钟数:
      
      
    12
      
    64符号除法(DIVU_EABXC(64位除以32位)
    DIVU_EABXC
      
    指令操作:
      
      
    {EAX, EBX} = (  {EAX, EBX} / ECX )
      
    ECX = ( {EAX,  EBX} % ECX )
      
      
    指令说明:
      
      
    结果64位商在{EAX, EBX32位余数在ECX
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
       
      
    [指令码]
      
      
    A5H
      
      
    时钟数:
      
      
    34+
      

    32位无符号除法(DIVU_EBXA(32位除以16位)
    DIVU_EBXA
      
    指令操作:
      
      
    EBX = (EBX /  AX)
      
    AX = ( EBX %  AX )
      
      
    指令说明:
      
      
    结果32位商在EBX16位余数在AX
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
       
      
    [指令码]
      
      
    A6H
      
      
    时钟数:
      
      
    18+
      
    清零32位EAX(SET0_EAX)
    SET0_EAX
      
    指令操作:
      
      
    EAX=0
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    B0H
      
      
    时钟数:
      
      
    2
      
    置位32位EAX(SET1_EAX)
    SET1_EAX
      
    指令操作:
      
      
    EAX=-1
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    B1H
      
      
    时钟数:
      
      
    2
      
    清零32位EBX(SET0_EBX)
    SET0_EBX
      
    指令操作:
      
      
    EBX=0
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    B2H
      
      
    时钟数:
      
      
    2
      

    置位32位EBX(SET1_EBX)
    SET1_EBX
      
    指令操作:
      
      
    EBX=-1
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    B3H
      
      
    时钟数:
      
      
    2
      
    清零32位ECX(SET0_ECX)
    SET0_ECX
      
    指令操作:
      
      
    ECX=0
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    B4H
      
      
    时钟数:
      
      
    2
      
    置位32位ECX(SET1_ECX)
    SET1_ECX
      
    指令操作:
      
      
    ECX=-1
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    B5H
      
      
    时钟数:
      
      
    2
      
    清零32位EDX(SET0_EDX)
    SET0_EDX
      
    指令操作:
      
      
    EDX=0
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    B6H
      
      
    时钟数:
      
      
    2
      

    置位32位EDX(SET1_EDX)
    SET1_EDX
      
    指令操作:
      
      
    EDX=-1
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    B7H
      
      
    时钟数:
      
      
    2
      
    32位EAX取负数(NEGS_EAX)
    NEGS_EAX
      
    指令操作:
      
      
    EAX=-EAX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    B8H
      
      
    时钟数:
      
      
    2
      
    32位EBX取负数(NEGS_EBX)
    NEGS_EBX
      
    指令操作:
      
      
    EBX=-EBX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    B9H
      
      
    时钟数:
      
      
    2
      
    16位AX取负数(NEGS_AX)
    NEGS_AX
      
    指令操作:
      
      
    AX=-AX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    BAH
      
      
    时钟数:
      
      
    2
      

    16位BX取负数(NEGS_BX)
    NEGS_BX
      
    指令操作:
      
      
    BX=-BX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    BBH
      
      
    时钟数:
      
      
    2
      
    32位EAX加1运算(INC1_EAX)
    INC1_EAX
      
    指令操作:
      
      
    EAX=EAX+1
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    C0H
      
      
    时钟数:
      
      
    3
      
    32位EBX加1运算(INC1_EBX)
    INC1_EBX
      
    指令操作:
      
      
    EBX=EBX+1
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    C1H
      
      
    时钟数:
      
      
    3
      
    32位EAX加4运算(INC4_EAX)
    INC4_EAX
      
    指令操作:
      
      
    EAX=EAX+4
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    C2H
      
      
    时钟数:
      
      
    3
      
    32位EBX加4运算(INC4_EBX)
    INC4_EBX
      
    指令操作:
      
      
    EBX=EBX+4
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    C3H
      
      
    时钟数:
      
      
    3
      
    16位AX加1运算(INC1_AX)
    INC1_AX
      
    指令操作:
      
      
    AX=AX+1
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    C4H
      
      
    时钟数:
      
      
    3
      
    16位BX加1运算(INC1_BX)
    INC1_BX
      
    指令操作:
      
      
    BX=BX+1
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    C5H
      
      
    时钟数:
      
      
    3
      
    16位AX加2运算(INC2_AX)
    INC2_AX
      
    指令操作:
      
      
    AX=AX+2
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    C6H
      
      
    时钟数:
      
      
    3
      
    16位BX加2运算(INC2_BX)
    INC2_BX
      
    指令操作:
      
      
    BX=BX+2
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    C7H
      
      
    时钟数:
      
      
    3
      

    32位EAX减1运算(DEC1_EAX)
    DEC1_EAX
      
    指令操作:
      
      
    EAX=EAX-1
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    C8H
      
      
    时钟数:
      
      
    3
      
    32位EBX减1运算(DEC1_EBX)
    DEC1_EBX
      
    指令操作:
      
      
    EBX=EBX-1
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    C9H
      
      
    时钟数:
      
      
    3
      
    32位EAX减4运算(DEC4_EAX)
    DEC4_EAX
      
    指令操作:
      
      
    EAX=EAX-4
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    CAH
      
      
    时钟数:
      
      
    3
      
    32位EBX减4运算(DEC4_EBX)
    DEC4_EBX
      
    指令操作:
      
      
    EBX=EBX-4
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    CBH
      
      
    时钟数:
      
      
    3
      
    16位AX减1运算(DEC1_AX)
    DEC1_AX
      
    指令操作:
      
      
    AX=AX-1
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    CCH
      
      
    时钟数:
      
      
    3
      
    16位BX减1运算(DEC1_BX)
    DEC1_BX
      
    指令操作:
      
      
    BX=BX-1
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    CDH
      
      
    时钟数:
      
      
    3
      
    16位AX减2运算(DEC2_AX)
    DEC2_AX
      
    指令操作:
      
      
    AX=AX-2
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    CEH
      
      
    时钟数:
      
      
    3
      
    16位BX减2运算(DEC2_BX)
    DEC2_BX
      
    指令操作:
      
      
    BX=BX-2
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    CFH
      
      
    时钟数:
      
      
    3
      
    32位与运算(BAND_EABX)
    BAND_EABX
      
    指令操作:
      
      
    EBX=EBX &  EAX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
       
      
    [指令码]
      
      
    D0H
      
      
    时钟数:
      
      
    3
      
    16位与运算(BAND_ABX)
    BAND_ABX
      
    指令操作:
      
      
    BX=BX & AX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
       
      
    [指令码]
      
      
    D1H
      
      
    时钟数:
      
      
    3
      
    32位或运算(BOR_EABX)
    BOR_EABX
      
    指令操作:
      
      
    EBX=EBX | EAX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
       
      
    [指令码]
      
      
    D2H
      
      
    时钟数:
      
      
    3
      
    16位或运算(BOR_ABX)
    BOR_ABX
      
    指令操作:
      
      
    BX=BX | AX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
       
      
    [指令码]
      
      
    D3H
      
      
    时钟数:
      
      
    3
      
    32位异或运算(BXOR_EABX)
    BXOR_EABX
      
    指令操作:
      
      
    EBX=EBX ^ EAX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
       
      
    [指令码]
      
      
    D4H
      
      
    时钟数:
      
      
    3
      
    16位异或运算(BXOR_ABX)
    BXOR_ABX
      
    指令操作:
      
      
    BX=BX ^ AX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
       
      
    [指令码]
      
      
    D5H
      
      
    时钟数:
      
      
    3
      
    32位取反运算(BCPL_EAX)
    BCPL_EAX
      
    指令操作:
      
      
    EAX=~EAX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
       
      
    [指令码]
      
      
    D6H
      
      
    时钟数:
      
      
    2
      
    32位取反运算(BCPL_EBX)
    BCPL_EBX
      
    指令操作:
      
      
    EBX=~EBX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
       
      
    [指令码]
      
      
    D7H
      
      
    时钟数:
      
      
    2
      
    32位EAX逻辑左移n位(SHLX_EAX_CL)
    SHLX_EAX_CL
      
    指令操作:
      
      
    {CY, EAX}=EAX  << ACC[4:0]
      
      
    指令说明:
      
      
    需要移动位数存放在ACC[4:0]
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    E0H
      
      
    时钟数:
      
      
    7
      
    32位EBX逻辑左移n位(SHLX_EBX_CL)
    SHLX_EBX_CL
      
    指令操作:
      
      
    (CY, EBX)=EBX  << ACC[4:0]
      
      
    指令说明:
      
      
    需要移动位数存放在ACC[4:0]
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    E1H
      
      
    时钟数:
      
      
    7
      
    16位AX逻辑左移n位(SHLX_AX_CL)
    SHLX_AX_CL
      
    指令操作:
      
      
    {CY, AX}=AX  << ACC[3:0]
      
      
    指令说明:
      
      
    需要移动位数存放在ACC[3:0]
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    E2H
      
      
    时钟数:
      
      
    7
      
    16位BX逻辑左移n位(SHLX_BX_CL)
    SHLX_BX_CL
      
    指令操作:
      
      
    {CY, BX}=BX  << ACC[3:0]
      
      
    指令说明:
      
      
    需要移动位数存放在ACC[3:0]
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    E3H
      
      
    时钟数:
      
      
    7
      
    32位EAX逻辑右移n位(SHRU_EAX_CL)
    SHRU_EAX_CL
      
    指令操作:
      
      
    {EAX, CY}=EAX  >> ACC[4:0]
      
      
    指令说明:
      
      
    无符号整数右移,需要移动位数存放在ACC[4:0]
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    E4H
      
      
    时钟数:
      
      
    7
      
    32位EBX逻辑右移n位(SHRU_EBX_CL)
    SHRU_EBX_CL
      
    指令操作:
      
      
    {EBX, CY}=EBX  >> ACC[4:0]
      
      
    指令说明:
      
      
    无符号整数右移,需要移动位数存放在ACC[4:0]
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    E5H
      
      
    时钟数:
      
      
    7
      
    16位AX逻辑右移n位(SHRU_AX_CL)
    SHRU_AX_CL
      
    指令操作:
      
      
    {AX, CY}=AX  >> ACC[3:0]
      
      
    指令说明:
      
      
    无符号整数右移,需要移动位数存放在ACC[3:0]
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    E6H
      
      
    时钟数:
      
      
    7
      
    16位BX逻辑右移n位(SHRU_BX_CL)
    SHRU_BX_CL
      
    指令操作:
      
      
    {BX, CY}=BX  >> ACC[3:0]
      
      
    指令说明:
      
      
    无符号整数右移,需要移动位数存放在ACC[3:0]
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    E7H
      
      
    时钟数:
      
      
    7
      
    32位EAX算术右移n位(SHRS_EAX_CL)
    SHRS_EAX_CL
      
    指令操作:
      
      
    {EAX, CY}=EAX  >> ACC[4:0]
      
      
    指令说明:
      
      
    有符号整数右移,需要移动位数存放在ACC[4:0]
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    E8H
      
      
    时钟数:
      
      
    7
      
    32位EBX算术右移n位(SHRS_EBX_CL)
    SHRS_EBX_CL
      
    指令操作:
      
      
    {EBX, CY}=EBX  >> ACC[4:0]
      
      
    指令说明:
      
      
    有符号整数右移,需要移动位数存放在ACC[4:0]
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    E9H
      
      
    时钟数:
      
      
    7
      
    16位AX算术右移n位(SHRS_AX_CL)
    SHRS_AX_CL
      
    指令操作:
      
      
    {AX, CY}=AX  >> ACC[3:0]
      
      
    指令说明:
      
      
    有符号整数右移,需要移动位数存放在ACC[3:0]
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    EAH
      
      
    时钟数:
      
      
    7
      
    16位BX算术右移n位(SHRS_BX_CL)
    SHRS_BX_CL
      
    指令操作:
      
      
    {BX, CY}=BX  >> ACC[3:0]
      
      
    指令说明:
      
      
    有符号整数右移,需要移动位数存放在ACC[3:0]
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
    -
       
      
    [指令码]
      
      
    EBH
      
      
    时钟数:
      
      
    7
      
    32位乘除运算(MMD32_EABX)
    MMD32_EABX
      
    指令操作:
      
      
    {EDX,EBX}=EBX*EAX/ECX
      
      
    指令说明:
      
      
    EAXEBXECX均为有符号数
      
    先乘为64位中间结果,再除为32位结果在EBX
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
       
      
    [指令码]
      
      
    F0H
      
      
    时钟数:
      
      
    43
      

    16位乘除运算(MMD16_ABX)
    MMD16_ABX
      
    指令操作:
      
      
    EBX=BX*AX/CX
      
      
    指令说明:
      
      
    AXBXCX均为有符号数
      
    先乘为32位中间结果,再除为16位结果在BX
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
    -
    -
       
      
    [指令码]
      
      
    F1H
      
      
    时钟数:
      
      
    21
      
    32位线性标定(LTC32_EAX)
    LTC32_EAX
      
    指令操作:
      
      
    {EDX, EBX}=(EBX-EAX)*EDX/ECX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
       
      
    [指令码]
      
      
    F2H
      
      
    时钟数:
      
      
    44
      
    16位线性标定(LTC16_AX)
    LTC16_AX
      
    指令操作:
      
      
    EBX=(BX-AX)*DX/CX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
       
      
    [指令码]
      
      
    F3H
      
      
    时钟数:
      
      
    22
      
    32位乘加运算(MA32_EDX)
    MA32_EDX
      
    指令操作:
      
      
    ECX=ECX+BX*AX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    F4H
      
      
    时钟数:
      
      
    5
      

    64位乘加运算(MA64_EDX)
    MA64_EDX
      
    指令操作:
      
      
    { EDX, ECX  }={EDX, ECX}+EBX*EAX
      
      
    指令说明:
      
      
      
      
    影响标志位:
      
      
       
    CY
       
    OV
    Z
    DBZ
    -
       
      
    [指令码]
      
      
    F5H
      
      
    时钟数:
      
      
    12
      

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9297

    回帖

    1万

    积分

    管理员

    积分
    14063
     楼主| 发表于 2024-4-1 20:39:41 | 显示全部楼层
    截图202404012044142079.jpg


    截图202404012044466093.jpg


    截图202404012045162163.jpg


    截图202404012045573143.jpg


    截图202404012046314864.jpg


    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9297

    回帖

    1万

    积分

    管理员

    积分
    14063
     楼主| 发表于 2024-4-1 20:40:09 | 显示全部楼层
    截图202404012047297695.jpg


    截图202404012048045601.jpg



    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9297

    回帖

    1万

    积分

    管理员

    积分
    14063
     楼主| 发表于 2024-4-1 20:43:10 | 显示全部楼层
    截图202404012048552225.jpg
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9297

    回帖

    1万

    积分

    管理员

    积分
    14063
     楼主| 发表于 2024-4-1 20:43:24 | 显示全部楼层
    截图202404012049293197.jpg
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9297

    回帖

    1万

    积分

    管理员

    积分
    14063
     楼主| 发表于 2024-4-1 20:50:17 | 显示全部楼层
    截图202404012050136939.jpg
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9297

    回帖

    1万

    积分

    管理员

    积分
    14063
     楼主| 发表于 2024-4-1 20:50:42 | 显示全部楼层
    截图202404012054095485.jpg


    截图202404012055041151.jpg

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9297

    回帖

    1万

    积分

    管理员

    积分
    14063
     楼主| 发表于 2024-4-1 20:51:14 | 显示全部楼层
    截图202404012056017054.jpg
    截图202404012056396405.jpg

    截图202404012057139717.jpg

    截图202404012057443896.jpg



    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9297

    回帖

    1万

    积分

    管理员

    积分
    14063
     楼主| 发表于 2024-4-1 20:52:43 | 显示全部楼层
    截图202404012105476913.jpg
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-2 21:26 , Processed in 0.123334 second(s), 68 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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