📄 lzma_d_cs.s
字号:
push si push di push bp mov bp,sp sub sp,102 mov si,word ptr [bp+8] lea bx,[si+4] mov word ptr [bp-34],bx xor ax,ax mov word ptr [bp-20],ax mov word ptr [bp-18],ax mov byte ptr [bp-2],0 mov cl,byte ptr [si+2] mov ax,1 shl ax,cl dec ax mov word ptr [bp-88],ax mov cl,byte ptr [si+1] mov ax,1 shl ax,cl dec ax cwd mov word ptr [bp-86],ax mov word ptr [bp-84],dx xor ax,ax mov word ptr [bp-16],ax mov word ptr [bp-100],ax mov word ptr [bp-50],ax mov word ptr [bp-54],ax mov word ptr [bp-74],ax mov bx,word ptr [bp+18] mov word ptr [bx],ax mov word ptr [bx+2],ax mov bx,word ptr [bp+28] mov word ptr [bx],ax mov word ptr [bx+2],ax inc ax mov word ptr [bp-102],ax mov word ptr [bp-52],ax mov word ptr [bp-56],ax mov word ptr [bp-68],ax mov al,byte ptr [si] mov word ptr [bp-78],ax mov dl,byte ptr [si+1] xor dh,dh mov cx,ax add cx,dx mov ax,768 xor dl,dl jcxz .Ls001.Ls000: shl ax,1 rcl dx,1 loop .Ls000.Ls001: mov si,ax add si,1846 mov cx,dx adc cx,0 xor dx,dx xor ax,ax.Ls002: cmp ax,cx jb .Ls003 jne .Ls004 cmp dx,si jae .Ls004.Ls003: mov bx,dx shl bx,1 add bx,word ptr [bp-34] mov word ptr [bx],1024 add dx,1 adc ax,0 jmp .Ls002.Ls004: mov bx,word ptr [bp+10] mov word ptr [bp-12],bx mov ax,word ptr [bp+12] mov word ptr [bp-10],ax mov ax,bx mov dx,word ptr [bp+12] mov bx,word ptr [bp+14] mov cx,word ptr [bp+16] M_PIA mov word ptr [bp-30],ax mov word ptr [bp-28],dx xor ax,ax mov word ptr [bp-6],ax mov word ptr [bp-4],ax mov si,65535 mov di,si mov word ptr [bp-72],ax jmp .Ls006.Ls005: les bx,dword ptr [bp-12] mov al,byte ptr es:[bx] mov byte ptr [bp-90],al mov byte ptr [bp-89],0 mov ax,word ptr [bp-6] mov dx,word ptr [bp-4] M_shld_8 mov bx,word ptr [bp-90] or bx,ax mov word ptr [bp-6],bx mov word ptr [bp-4],dx mov ax,word ptr [bp-12] mov dx,es M_PIA1 mov word ptr [bp-12],ax mov word ptr [bp-10],dx inc word ptr [bp-72] cmp word ptr [bp-72],5 jge .Ls008.Ls006: mov ax,word ptr [bp-12] mov dx,word ptr [bp-10] mov bx,word ptr [bp-30] mov cx,word ptr [bp-28] M_PTC_JNE .Ls005.Ls007: mov ax,1 jmp .Ls125.Ls008: mov ax,word ptr [bp-18] cmp ax,word ptr [bp+26] jb .Ls011 je .Ls010.Ls009: jmp .Ls122.Ls010: mov ax,word ptr [bp-20] cmp ax,word ptr [bp+24] jae .Ls009.Ls011: mov ax,word ptr [bp-20] and ax,word ptr [bp-88] mov word ptr [bp-58],ax mov cl,5 mov dx,word ptr [bp-16] shl dx,cl add dx,word ptr [bp-34] shl ax,1 add dx,ax mov word ptr [bp-14],dx cmp di,256 jae .Ls012 mov ax,word ptr [bp-12] mov dx,word ptr [bp-10] mov bx,word ptr [bp-30] mov cx,word ptr [bp-28] M_PTC je .Ls007 M_shld_disi_8_bxcx les bx,dword ptr [bp-12] mov al,byte ptr es:[bx] mov byte ptr [bp-90],al mov byte ptr [bp-89],0 mov ax,word ptr [bp-6] mov dx,word ptr [bp-4] M_shld_8 mov bx,word ptr [bp-90] or bx,ax mov word ptr [bp-6],bx mov word ptr [bp-4],dx mov ax,word ptr [bp-12] mov dx,es M_PIA1 mov word ptr [bp-12],ax mov word ptr [bp-10],dx.Ls012: M_shrd_11_disi_bp -96 -98 mov bx,word ptr [bp-14] mov bx,word ptr [bx] M_U4M_dxax_00bx mov word ptr [bp-8],ax mov word ptr [bp-94],dx mov ax,word ptr [bp-4] cmp ax,dx jb .Ls015 je .Ls014.Ls013: jmp .Ls034.Ls014: mov ax,word ptr [bp-6] cmp ax,word ptr [bp-8] jae .Ls013.Ls015: mov word ptr [bp-26],1 mov si,word ptr [bp-8] mov di,dx mov ax,2048 mov bx,word ptr [bp-14] sub ax,word ptr [bx] mov cl,5 shr ax,cl add word ptr [bx],ax mov cx,8 sub cx,word ptr [bp-78] mov al,byte ptr [bp-2] xor ah,ah sar ax,cl cwd mov word ptr [bp-90],ax mov bx,dx mov ax,word ptr [bp-20] and ax,word ptr [bp-86] mov dx,word ptr [bp-18] and dx,word ptr [bp-84] mov cx,word ptr [bp-78] jcxz .Ls017.Ls016: shl ax,1 rcl dx,1 loop .Ls016.Ls017: add ax,word ptr [bp-90] adc dx,bx M_U4M_dxax_0x0600 mov dx,word ptr [bp-34] add dx,3692 add dx,ax mov word ptr [bp-14],dx cmp word ptr [bp-16],7 jge .Ls018 jmp .Ls025.Ls018: mov bx,word ptr [bp-20] sub bx,word ptr [bp-102] mov cx,word ptr [bp-18] sbb cx,word ptr [bp-100] mov ax,word ptr [bp+20] mov dx,word ptr [bp+22] M_PIA mov bx,ax mov es,dx mov al,byte ptr es:[bx] xor ah,ah mov word ptr [bp-76],ax.Ls019: shl word ptr [bp-76],1 mov ax,word ptr [bp-76] xor al,al and ah,1 mov word ptr [bp-66],ax shl ax,1 mov dx,word ptr [bp-14] add dh,2 add dx,ax mov ax,word ptr [bp-26] shl ax,1 add dx,ax mov word ptr [bp-46],dx cmp di,256 jae .Ls021 mov ax,word ptr [bp-12] mov dx,word ptr [bp-10] mov bx,word ptr [bp-30] mov cx,word ptr [bp-28] M_PTC_JNE .Ls020 jmp .Ls007.Ls020: M_shld_disi_8_bxcx les bx,dword ptr [bp-12] mov al,byte ptr es:[bx] mov byte ptr [bp-90],al mov byte ptr [bp-89],0 mov ax,word ptr [bp-6] mov dx,word ptr [bp-4] M_shld_8 mov bx,word ptr [bp-90] or bx,ax mov word ptr [bp-6],bx mov word ptr [bp-4],dx mov ax,word ptr [bp-12] mov dx,es M_PIA1 mov word ptr [bp-12],ax mov word ptr [bp-10],dx.Ls021: M_shrd_11_disi_bp -96 -98 mov bx,word ptr [bp-46] mov bx,word ptr [bx] M_U4M_dxax_00bx mov word ptr [bp-8],ax mov word ptr [bp-94],dx mov ax,word ptr [bp-4] cmp ax,dx jb .Ls022 jne .Ls023 mov ax,word ptr [bp-6] cmp ax,word ptr [bp-8] jae .Ls023.Ls022: mov si,word ptr [bp-8] mov di,dx mov ax,2048 mov bx,word ptr [bp-46] sub ax,word ptr [bx] mov cl,5 shr ax,cl add word ptr [bx],ax shl word ptr [bp-26],1 cmp word ptr [bp-66],0 jne .Ls025 jmp .Ls024.Ls023: sub si,word ptr [bp-8] sbb di,dx mov ax,word ptr [bp-8] sub word ptr [bp-6],ax sbb word ptr [bp-4],dx mov cl,5 mov bx,word ptr [bp-46] mov ax,word ptr [bx] shr ax,cl sub word ptr [bx],ax mov ax,word ptr [bp-26] add ax,ax inc ax mov word ptr [bp-26],ax cmp word ptr [bp-66],0 je .Ls025.Ls024: cmp word ptr [bp-26],256 jge .Ls025 jmp .Ls019.Ls025: mov ax,word ptr [bp-26] cmp ax,256 jl .Ls026 jmp .Ls031.Ls026: shl ax,1 mov bx,word ptr [bp-14] add bx,ax mov word ptr [bp-40],bx cmp di,256 jae .Ls028 mov ax,word ptr [bp-12] mov dx,word ptr [bp-10] mov bx,word ptr [bp-30] mov cx,word ptr [bp-28] M_PTC_JNE .Ls027 jmp .Ls007.Ls027: M_shld_disi_8_bxcx les bx,dword ptr [bp-12] mov al,byte ptr es:[bx] mov byte ptr [bp-90],al mov byte ptr [bp-89],0 mov ax,word ptr [bp-6] mov dx,word ptr [bp-4] M_shld_8 mov bx,word ptr [bp-90] or bx,ax mov word ptr [bp-6],bx mov word ptr [bp-4],dx mov ax,word ptr [bp-12] mov dx,es M_PIA1 mov word ptr [bp-12],ax mov word ptr [bp-10],dx.Ls028: M_shrd_11_disi_bp -96 -98 mov bx,word ptr [bp-40] mov bx,word ptr [bx] M_U4M_dxax_00bx mov word ptr [bp-8],ax mov word ptr [bp-94],dx mov ax,word ptr [bp-4] cmp ax,dx jb .Ls029 jne .Ls030 mov ax,word ptr [bp-6] cmp ax,word ptr [bp-8] jae .Ls030.Ls029: mov si,word ptr [bp-8] mov di,dx mov ax,2048 mov bx,word ptr [bp-40] sub ax,word ptr [bx] mov cl,5 shr ax,cl add word ptr [bx],ax shl word ptr [bp-26],1 jmp .Ls025.Ls030: sub si,word ptr [bp-8] sbb di,dx mov ax,word ptr [bp-8] sub word ptr [bp-6],ax sbb word ptr [bp-4],dx mov cl,5 mov bx,word ptr [bp-40] mov ax,word ptr [bx] shr ax,cl sub word ptr [bx],ax mov ax,word ptr [bp-26] add ax,ax inc ax mov word ptr [bp-26],ax jmp .Ls025.Ls031: mov al,byte ptr [bp-26] mov byte ptr [bp-2],al mov bx,word ptr [bp-20] mov cx,word ptr [bp-18] add word ptr [bp-20],1 adc word ptr [bp-18],0 mov ax,word ptr [bp+20] mov dx,word ptr [bp+22] M_PIA mov bx,ax mov es,dx mov al,byte ptr [bp-26] mov byte ptr es:[bx],al mov ax,word ptr [bp-16] cmp ax,4 jge .Ls032 xor ax,ax mov word ptr [bp-16],ax jmp .Ls008.Ls032: cmp ax,10 jge .Ls033 sub word ptr [bp-16],3 jmp .Ls008.Ls033: sub word ptr [bp-16],6 jmp .Ls008.Ls034: sub si,word ptr [bp-8] sbb di,dx mov ax,word ptr [bp-8] sub word ptr [bp-6],ax sbb word ptr [bp-4],dx mov cl,5 mov bx,word ptr [bp-14] mov ax,word ptr [bx] shr ax,cl sub word ptr [bx],ax mov ax,word ptr [bp-16] shl ax,1 mov dx,word ptr [bp-34] add dx,384 add dx,ax mov word ptr [bp-14],dx cmp di,256 jae .Ls036 mov ax,word ptr [bp-12] mov dx,word ptr [bp-10] mov bx,word ptr [bp-30] mov cx,word ptr [bp-28] M_PTC_JNE .Ls035 jmp .Ls007.Ls035: M_shld_disi_8_bxcx les bx,dword ptr [bp-12] mov al,byte ptr es:[bx] mov byte ptr [bp-90],al mov byte ptr [bp-89],0 mov ax,word ptr [bp-6] mov dx,word ptr [bp-4] M_shld_8 mov bx,word ptr [bp-90] or bx,ax mov word ptr [bp-6],bx mov word ptr [bp-4],dx mov ax,word ptr [bp-12] mov dx,es M_PIA1 mov word ptr [bp-12],ax mov word ptr [bp-10],dx.Ls036: M_shrd_11_disi_bp -96 -98 mov bx,word ptr [bp-14] mov bx,word ptr [bx] M_U4M_dxax_00bx mov word ptr [bp-8],ax mov word ptr [bp-94],dx mov ax,word ptr [bp-4] cmp ax,dx jb .Ls037 jne .Ls040 mov ax,word ptr [bp-6] cmp ax,word ptr [bp-8] jae .Ls040.Ls037:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -