⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 32b_mul_proc.exe.list

📁 收录了一些简单经典的asm程序有源码
💻 LIST
字号:
EMU8086 GENERATED LISTING. MACHINE CODE <- SOURCE.
 
32b_mul_proc.exe -- emu8086 assembler version: 4.02  
 
[ 2006-10-25  --  21:29:51 ] 
 
===================================================================================================
[LINE]     LOC: MACHINE CODE                          SOURCE
===================================================================================================
 
[   1]        :                                       name 32 bit multiply
[   2]        :                                       data segment
[   3]    0000: FF FF FF FF FF FF FF FF 00 00 00 00   mulnum dw 0ffffh, 0ffffh, 0ffffh, 0ffffh, 4 dup(?)
                00 00 00 00                         
[   4]        :                                       data ends
[   5]        :                                       
[   6]        :                                       stack segment para stack'stack'
[   7]    0010: 00 00 00 00 00 00 00 00 00 00 00 00   db 100 dup(?)
                00 00 00 00 00 00 00 00 00 00 00 00 
                00 00 00 00 00 00 00 00 00 00 00 00 
                00 00 00 00 00 00 00 00 00 00 00 00 
                00 00 00 00 00 00 00 00 00 00 00 00 
                00 00 00 00 00 00 00 00 00 00 00 00 
                00 00 00 00 00 00 00 00 00 00 00 00 
                00 00 00 00 00 00 00 00 00 00 00 00 
                00 00 00 00                         
[   8]        :                                       stack ends
[   9]        :                                       
[  10]        :                                       code segment
[  11]        :                                       assume cs:code,ds:data,ss:stack,es:data
[  12]    0080:                                       start proc far
[  13]    0080: 1E                                    begin: push ds
[  14]    0081: B8 00 00                              mov  ax,0
[  15]    0084: 50                                    push ax
[  16]    0085: B8 00 00                              mov  ax,data
[  17]    0088: 8E D8                                 mov  ds,ax
[  18]    008A: 8E C0                                 mov  es,ax
[  19]    008C: BB 00 00                              lea  bx,mulnum
[  20]    008F: E8 07 00                              call mulu32
[  21]    0092: E8 04 00                              call mulu32
[  22]    0095: E8 01 00                              call mulu32
[  23]    0098: CB                                    ret
[  24]        :                                       start endp
[  25]        :                                       
[  26]    0099:                                       mulu32 proc near
[  27]    0099: 8B 07                                 mov  ax,[bx]
[  28]    009B: 8B 77 04                              mov  si,[bx+4]
[  29]    009E: 8B 7F 06                              mov  di,[bx+6]
[  30]    00A1: F7 E6                                 mul  si
[  31]    00A3: 89 47 08                              mov  [bx+8],ax
[  32]    00A6: 89 57 0A                              mov  [bx+0ah],dx
[  33]    00A9: 8B 47 02                              mov  ax,[bx+2]
[  34]    00AC: F7 E6                                 mul  si
[  35]    00AE: 03 47 0A                              add  ax,[bx+0ah]
[  36]    00B1: 83 D2 00                              adc  dx,0
[  37]    00B4: 89 47 0A                              mov  [bx+0ah],ax
[  38]    00B7: 89 57 0C                              mov  [bx+0ch],dx
[  39]    00BA: 8B 07                                 mov  ax,[bx]
[  40]    00BC: F7 E7                                 mul  di
[  41]    00BE: 03 47 0A                              add  ax,[bx+0ah]
[  42]    00C1: 13 57 0C                              adc  dx,[bx+0ch]
[  43]    00C4: 89 47 0A                              mov  [bx+0ah],ax
[  44]    00C7: 89 57 0C                              mov  [bx+0ch],dx
[  45]    00CA: 9C                                    pushf
[  46]    00CB: 8B 47 02                              mov  ax,[bx+2]
[  47]    00CE: F7 E7                                 mul  di
[  48]    00D0: 9D                                    popf
[  49]    00D1: 83 D2 00                              adc  dx,0
[  50]    00D4: 03 47 0C                              add  ax,[bx+0ch]
[  51]    00D7: 83 D2 00                              adc  dx,0
[  52]    00DA: 89 47 0C                              mov  [bx+0ch],ax
[  53]    00DD: 89 57 0E                              mov  [bx+0eh],dx
[  54]    00E0: C3                                    ret
[  55]        :                                       mulu32 endp
[  56]        :                                       
[  57]        :                                       code ends
[  58]        :                                       end begin
[  59]        :                                       
 
===================================================================================================
 
EXE HEADER - bytes from 0000 to 01FF inclusive.

0000: 4D      -   exe signature (M)
0001: 5A      -   exe signature (Z)
0002: E1      -   bytes on last page (l.byte)
0003: 00      -   bytes on last page (h.byte)
0004: 02      -   512 byte pages in file (l.byte)
0005: 00      -   512 byte pages in file (h.byte)
0006: 01      -   relocations (l.byte)
0007: 00      -   relocations (h.byte)
0008: 20      -   paragraphs in header (l.byte)
0009: 00      -   paragraphs in header (h.byte)
000A: 00      -   minimum memory (l.byte)
000B: 00      -   minimum memory (h.byte)
000C: FF      -   maximum memory (l.byte)
000D: FF      -   maximum memory (h.byte)
000E: 01      -   SS - stack segment (l.byte)
000F: 00      -   SS - stack segment (h.byte)
0010: 64      -   SP - stack pointer (l.byte)
0011: 00      -   SP - stack pointer (h.byte)
0012: 9A      -   check sum (l.byte)
0013: 55      -   check sum (h.byte)
0014: 00      -   IP - instruction pointer (l.byte)
0015: 00      -   IP - instruction pointer (h.byte)
0016: 08      -   CS - code segment (l.byte)
0017: 00      -   CS - code segment (h.byte)
0018: 1E      -   relocation table adress (l.byte)
0019: 00      -   relocation table adress (h.byte)
001A: 00      -   overlay number (l.byte)
001B: 00      -   overlay number (h.byte)
001C: 01      -   signature (l.byte)
001D: 00      -   signature (h.byte)
001E: 06      -   relocation table - offset inside segment (l.byte)
001F: 00      -   relocation table - offset inside segment (h.byte)
0020: 08      -   relocation table - segment anchor (l.byte)
0021: 00      -   relocation table - segment anchor (h.byte)
0022 to 01FF  -   reserved relocation area  (00) 




===================================================================================================

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -