📄 lib386.t
字号:
src/lib/i386/em/em_ngf4.s ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++04700 .sect .text; .sect .rom; .sect .data; .sect .bss04701 .define .ngf404702 04703 .sect .text04704 .ngf4:04705 mov bx,sp04706 flds 4(bx)04707 fchs04708 fstps 4(bx)04709 wait04710 ret++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/lib/i386/em/em_ngf8.s ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++04800 .sect .text; .sect .rom; .sect .data; .sect .bss04801 .define .ngf804802 04803 .sect .text04804 .ngf8:04805 mov bx,sp04806 fldd 4(bx)04807 fchs04808 fstpd 4(bx)04809 wait04810 ret.Ep 26 src/lib/i386/em/em_ngi.s++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/lib/i386/em/em_ngi.s ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++04900 .sect .text; .sect .rom; .sect .data; .sect .bss04901 .sect .text04902 .define .ngi04903 04904 ! #bytes in eax04905 .ngi:04906 pop ebx ! return address04907 cmp eax,404908 jne 1f04909 pop ecx04910 neg ecx04911 push ecx04912 jmp ebx04913 1:04914 .extern EODDZ04915 .extern .trp04916 mov eax,EODDZ04917 push ebx04918 jmp .trp++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/lib/i386/em/em_nop.s ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++05000 .sect .text; .sect .rom; .sect .data; .sect .bss05001 .sect .text05002 .define .nop05003 .extern printd, printc, hol005004 05005 .nop:05006 mov eax,(hol0)05007 call printd05008 movb al,'\n'05009 jmp printc++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/lib/i386/em/em_print.s ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++05100 .sect .text; .sect .rom; .sect .data; .sect .bss05101 .sect .text05102 .define printc,printd,prints05103 05104 ! argument in eax05105 ! uses ebx05106 prints:05107 xchg eax,ebx05108 1:05109 movb al,(ebx).Op 27 src/lib/i386/em/em_print.s05110 inc ebx05111 testb al,al05112 jz 2f05113 call printc05114 jmp 1b05115 2:05116 ret05117 05118 ! argument in eax05119 ! uses ecx and edx05120 printd:05121 xor edx,edx05122 mov ecx,1005123 div ecx05124 test eax,eax05125 jz 1f05126 push edx05127 call printd05128 pop edx05129 1:05130 xchg eax,edx05131 addb al,'0'05132 05133 ! argument in eax05134 printc:05135 push eax05136 mov ebx,esp05137 mov eax,105138 push eax05139 push ebx05140 push eax05141 call __write05142 pop ebx05143 pop ebx05144 pop ebx05145 pop ebx05146 ret++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/lib/i386/em/em_rck.s ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++05200 .sect .text; .sect .rom; .sect .data; .sect .bss05201 .sect .text05202 .define .rck05203 05204 ! descriptor address in ebx05205 ! value in eax, must be left there05206 .rck:05207 cmp eax,(ebx)05208 jl 2f05209 cmp eax,4(ebx)05210 jg 2f05211 ret05212 2:05213 push eax05214 .extern ERANGE.Ep 28 src/lib/i386/em/em_rck.s05215 .extern .error05216 mov eax,ERANGE05217 call .error05218 pop eax05219 ret++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/lib/i386/em/em_rmi.s ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++05300 .sect .text; .sect .rom; .sect .data; .sect .bss05301 .sect .text05302 .define .rmi05303 05304 ! #bytes in eax05305 .rmi:05306 pop ebx ! return address05307 cmp eax,405308 jne 1f05309 pop eax05310 cwd05311 pop ecx05312 idiv ecx05313 push edx05314 jmp ebx05315 1:05316 .extern EODDZ05317 .extern .trp05318 mov eax,EODDZ05319 push ebx05320 jmp .trp++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/lib/i386/em/em_rmu.s ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++05400 .sect .text; .sect .rom; .sect .data; .sect .bss05401 .sect .text05402 .define .rmu05403 05404 ! #bytes in eax05405 .rmu:05406 pop ebx ! return address05407 cmp eax,405408 jne 1f05409 pop eax05410 xor edx,edx05411 pop ecx05412 idiv ecx05413 push edx05414 jmp ebx.Op 29 src/lib/i386/em/em_rmu.s05415 1:05416 .extern EODDZ05417 .extern .trp05418 mov eax,EODDZ05419 push ebx05420 jmp .trp++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/lib/i386/em/em_rol.s ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++05500 .sect .text; .sect .rom; .sect .data; .sect .bss05501 .sect .text05502 .define .rol05503 05504 ! #bytes in eax05505 .rol:05506 pop edx ! return address05507 cmp eax,405508 jne 1f05509 pop eax05510 pop ecx05511 rol eax,cl05512 push eax05513 jmp edx05514 1:05515 .extern EODDZ05516 .extern .trp05517 mov eax,EODDZ05518 push edx05519 jmp .trp++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/lib/i386/em/em_ror.s ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++05600 .sect .text; .sect .rom; .sect .data; .sect .bss05601 .sect .text05602 .define .ror05603 05604 ! #bytes in eax05605 .ror:05606 pop edx ! return address05607 cmp eax,405608 jne 1f05609 pop eax05610 pop ecx05611 ror eax,cl05612 push eax05613 jmp edx05614 1:.Ep 30 src/lib/i386/em/em_ror.s05615 .extern EODDZ05616 .extern .trp05617 mov eax,EODDZ05618 push edx05619 jmp .trp++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/lib/i386/em/em_sar4.s ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++05700 .sect .text; .sect .rom; .sect .data; .sect .bss05701 .sect .text05702 .define .sar405703 05704 .sar4:05705 ! ebx, descriptor address05706 ! eax, index05707 sub eax,(ebx)05708 mov ecx,8(ebx)05709 imul ecx05710 pop ebx05711 pop edx ! base address05712 add edx,eax05713 sar ecx,105714 jnb 1f05715 pop eax05716 movb (edx),al05717 jmp ebx05718 1:05719 sar ecx,105720 jnb 1f05721 pop eax05722 o16 mov (edx),ax05723 jmp ebx05724 1:05725 xchg edi,edx ! edi = base address, edx is saved edi05726 mov eax,esi05727 mov esi,esp05728 rep movs05729 mov esp,esi05730 mov esi,eax05731 mov edi,edx05732 jmp ebx.Op 31 src/lib/i386/em/em_sbf4.s++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/lib/i386/em/em_sbf4.s ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++05800 .sect .text; .sect .rom; .sect .data; .sect .bss05801 .define .sbf405802 05803 .sect .text05804 .sbf4:05805 mov bx,sp05806 flds 8(bx)05807 fsubs 4(bx)05808 fstps 8(bx)05809 wait05810 ret++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/lib/i386/em/em_sbf8.s ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++05900 .sect .text; .sect .rom; .sect .data; .sect .bss05901 .define .sbf805902 05903 .sect .text05904 .sbf8:05905 mov bx,sp05906 fldd 12(bx)05907 fsubd 4(bx)05908 fstpd 12(bx)05909 wait05910 ret++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/lib/i386/em/em_sbi.s ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++06000 .sect .text; .sect .rom; .sect .data; .sect .bss06001 .sect .text06002 .define .sbi06003 06004 ! #bytes in ecx , top of stack in eax06005 .sbi:06006 pop ebx ! return subress06007 cmp ecx,406008 jne 1f06009 pop ecx06010 sub eax,ecx06011 neg eax06012 jmp ebx06013 1:06014 .extern EODDZ.Ep 32 src/lib/i386/em/em_sbi.s06015 .extern .trp06016 mov eax,EODDZ06017 push ebx06018 jmp .trp++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/lib/i386/em/em_set.s ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++06100 .sect .text; .sect .rom; .sect .data; .sect .bss06101 .sect .text06102 .define .set06103 06104 ! #bytes in ecx06105 ! bit # in eax06106 .set:06107 pop ebx ! return address06108 xor edx,edx06109 !ifdef create set06110 sub esp,ecx06111 push ebx06112 push edi06113 mov ebx,esp06114 xor edi,edi06115 sar ecx,206116 1:06117 mov 8(ebx)(edi),edx06118 add edi,406119 loop 1b06120 !endif06121 mov ebx,806122 div ebx06123 cmp eax,edi06124 jae 2f06125 mov edi,edx06126 movb dl,bits(edi)06127 mov edi,esp06128 add edi,eax06129 orb 8(edi),dl06130 pop edi06131 ret06132 2:06133 .extern ESET06134 .extern .trp06135 pop edi06136 mov eax,ESET06137 jmp .trp06138 06139 .sect .rom06140 bits:06141 .data1 1,2,4,8,16,32,64,128.Op 33 src/lib/i386/em/em_sli.s++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/lib/i386/em/em_sli.s ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++06200 .sect .text; .sect .rom; .sect .data; .sect .bss06201 .sect .text06202 .define .sli06203 06204 ! #bytes in eax06205 .sli:06206 pop edx ! return address06207 cmp eax,406208 jne 1f06209 pop eax06210 pop ecx06211 sal eax,cl
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -