📄 convert_8u16s.asm
字号:
.section L1_code;
.global _convert_8u16s;
//void convert_8u16s(const Ipp8u *src, Ipp16s *dst, int src_step)
_convert_8u16s:
[--SP] = (R7:4, P5:3);
[--SP] = RETS;
L0 = 0;
L1 = 0;
L2 = 0;
I0=R0;
R0+=4;
I1=R0;
I2=R1;
M0=R2;
P0=8;
R0=[I0++M0]||R1=[I1++M0];
(R7,R6) = BYTEUNPACK R1:0;
LSETUP(conv_8to16_start,conv_8to16_end)LC0=P0;
conv_8to16_start:
(R5,R4) = BYTEUNPACK R1:0(R)||[I2++]=R6;
R0=[I0++M0]||[I2++]=R7;
(R7,R6) = BYTEUNPACK R1:0||[I2++]=R4;
conv_8to16_end:
R1=[I1++M0]||[I2++]=R5;
_convert_8u16s.end:
RETS = [SP++];
(R7:4, P5:3) = [SP++];
RTS;
NOP;
//void convert_16s8u(const Ipp16s *src, Ipp8u *dst, int dst_step)
.global _convert_16s8u;
_convert_16s8u:
[--SP] = (R7:4, P5:3);
[--SP] = RETS;
I0=R0;
R0+=4;
I1=R0;
I2=R1;
R2+=-4;
M2=R2;
R1=8;
M0=R1;
P0=8;
R0=[I0++M0]||R1=[I1++M0];
LSETUP (conv_16to8_start,conv_16to8_end)LC0=P0;
conv_16to8_start:
R7 = BYTEPACK (R0,R1);
R0=[I0++M0]||R1=[I1++M0];
R6 = BYTEPACK (R0,R1)||[I2++]=R7||R0=[I0++M0];
conv_16to8_end:
R1=[I1++M0]||[I2++M2]=R6;
_convert_16s8u.end:
RETS = [SP++];
(R7:4, P5:3) = [SP++];
RTS;
NOP;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -