📄 lmul.lst
字号:
Microsoft (R) Macro Assembler Version 6.11 01/11/08 19:57:35
F:\大数相乘\大数相乘\LMUL.asm Page 1 - 1
.model small
0000 .data
0000 14 xx db 20
0001 00 db 0
0002 0014 [ x db 20 dup(0)
00
]
0016 14 yy db 20
0017 00 db 0
0018 0014 [ y db 20 dup(0)
00
]
002C 2A zz db 42
002D 00 db 0
002E 002A [ z db 42 dup(0)
00
]
0058 50 6C 65 61 73 65 message1 db 'Please input one multiplicand:',13,10,'$'
20 69 6E 70 75 74
20 6F 6E 65 20 6D
75 6C 74 69 70 6C
69 63 61 6E 64 3A
0D 0A 24
0079 50 6C 65 61 73 65 message2 db 'Please input another multiplicand:',13,10,'$'
20 69 6E 70 75 74
20 61 6E 6F 74 68
65 72 20 6D 75 6C
74 69 70 6C 69 63
61 6E 64 3A 0D 0A
24
009E 54 68 65 20 72 65 message db 'The result of the two multiplicand is:',13,10,'$'
73 75 6C 74 20 6F
66 20 74 68 65 20
74 77 6F 20 6D 75
6C 74 69 70 6C 69
63 61 6E 64 20 69
73 3A 0D 0A 24
00C7 54 68 65 20 70 72 messagee db 'The program is now executing:',13,10,'$'
6F 67 72 61 6D 20
69 73 20 6E 6F 77
20 65 78 65 63 75
74 69 6E 67 3A 0D
0A 24
00E7 0014 lengthx dw 20
00E9 0014 lengthy dw 20
00EB 00 sah db 0
00EC 00 temp db 0
0000 .code
.startup
0017 BA ---- R mov dx,@data
001A 8E DA mov ds,dx
001C BA 0058 R mov dx,offset message1
001F B4 09 mov ah,09h
0021 CD 21 int 21h
0023 BB 0014 mov bx,20
0026 inputx:
0026 B4 01 mov ah,01h
0028 CD 21 int 21h
002A 3C 2F cmp al,2fh
002C 78 0D js inputy
002E 3C 3A cmp al,3ah
0030 79 09 jns inputy
0032 2C 30 sub al,30h
0034 88 87 0002 R mov x[bx],al
0038 4B dec bx
0039 75 EB jnz inputx
003B inputy:
003B 29 1E 00E7 R sub lengthx,bx
003F B4 02 mov ah,02
0041 B2 0D mov dl,13
0043 CD 21 int 21h
0045 B2 0A mov dl,10
0047 CD 21 int 21h
;插入输出检验语句(开始)
; mov bx,20
;outptx:
; mov dl,x[bx]
; add dl,30h
; mov ah,02
; int 21h
; dec bx
; mov cx,20
; sub cx,bx
; cmp cx,lengthx
; jnz outptx
;插入输出检验语句(结束)
0049 BA 0079 R mov dx,offset message2
004C B4 09 mov ah,09
004E CD 21 int 21h
0050 BB 0014 mov bx,20
0053 iny:
0053 B4 01 mov ah,01
0055 CD 21 int 21h
0057 3C 2F cmp al,2fh
0059 78 0D js multiply
005B 3C 3A cmp al,3ah
005D 79 09 jns multiply
005F 2C 30 sub al,30h
0061 88 87 0018 R mov y[bx],al
0065 4B dec bx
0066 75 EB jnz iny
0068 multiply:
0068 29 1E 00E9 R sub lengthy,bx
006C B4 02 mov ah,02
006E B2 0D mov dl,13
0070 CD 21 int 21h
0072 B2 0A mov dl,10
0074 CD 21 int 21h
;Y的输出校验语句(开始)
; mov bx,20
;outpty:
; mov dl,y[bx]
; add dl,30h
; mov ah,02
; int 21h
; dec bx
; mov cx,20
; sub cx,bx
; cmp cx,lengthy
; jnz outpty
;Y的输出校验语句(结束)
0076 BA 009E R mov dx,offset message
0079 B4 09 mov ah,09h
007B CD 21 int 21h
007D BB 0014 mov bx,20
0080 2B 1E 00E9 R sub bx,lengthy
0084 83 C3 01 add bx,1
0087 realm:
0087 8A 8F 0018 R mov cl,y[bx]
008B BE 0014 mov si,20
008E C6 06 00EB R 00 mov sah,0
0093 2B 36 00E7 R sub si,lengthx
0097 83 C6 01 add si,1
009A rotates:
009A B4 00 mov ah,0
009C 8A 84 0002 R mov al,x[si]
00A0 F6 E1 mul cl
00A2 D4 0A aam
00A4 50 push ax
00A5 B4 00 mov ah,0
00A7 02 80 002E R add al,z[bx][si]
00AB 37 aaa
00AC 88 26 00EC R mov temp,ah
00B0 B4 00 mov ah,0
00B2 02 06 00EB R add al,sah
00B6 37 aaa
00B7 00 26 00EC R add temp,ah
00BB 88 80 002E R mov z[bx][si],al
; mov dl,al
; mov ah,02
; add dl,30h
; int 21h
00BF 58 pop ax
00C0 00 26 00EC R add temp,ah
00C4 8A 2E 00EC R mov ch,temp
00C8 88 2E 00EB R mov sah,ch ;mov sah,temp
00CC 46 inc si
00CD 83 FE 15 cmp si,21
00D0 75 C8 jnz rotates
00D2 80 3E 00EB R 00 cmp sah,0
00D7 74 08 jz judge
00D9 8A 2E 00EB R mov ch,sah
00DD 88 A8 002E R mov z[bx][si],ch ;mov z[bx][si+1],sah
; mov dl,'*'
; mov ah,02h
; int 21h
; mov dl,z[bx][si+1]
; add dl,30h
; mov ah,02h
; int 21h
00E1 judge:
00E1 43 inc bx
00E2 83 FB 15 cmp bx,21
00E5 75 A0 jnz realm
00E7 output:
00E7 B9 0028 mov cx,40
00EA 80 3E 00EB R 00 cmp sah,0
00EF 74 03 jz continues
00F1 83 C1 01 add cx,1
00F4 continues:
00F4 8B D9 mov bx,cx
00F6 B9 0028 mov cx,40
00F9 2B 0E 00E7 R sub cx,lengthx
00FD 2B 0E 00E9 R sub cx,lengthy
0101 83 C1 01 add cx,1
0104 outz:
0104 8A 97 002E R mov dl,z[bx]
0108 80 C2 30 add dl,30h
010B B4 02 mov ah,02h
010D CD 21 int 21h
010F 4B dec bx
0110 3B D9 cmp bx,cx
0112 75 F0 jnz outz
0114 quit:
0114 B8 4C00 mov ax,4c00h
0117 CD 21 int 21h
end
Microsoft (R) Macro Assembler Version 6.11 01/11/08 19:57:35
F:\大数相乘\大数相乘\LMUL.asm Symbols 2 - 1
Segments and Groups:
N a m e Size Length Align Combine Class
DGROUP . . . . . . . . . . . . . GROUP
_DATA . . . . . . . . . . . . . 16 Bit 00ED Word Public 'DATA'
_TEXT . . . . . . . . . . . . . 16 Bit 0119 Word Public 'CODE'
Symbols:
N a m e Type Value Attr
@CodeSize . . . . . . . . . . . Number 0000h
@DataSize . . . . . . . . . . . Number 0000h
@Interface . . . . . . . . . . . Number 0000h
@Model . . . . . . . . . . . . . Number 0002h
@Startup . . . . . . . . . . . . L Near 0000 _TEXT
@code . . . . . . . . . . . . . Text _TEXT
@data . . . . . . . . . . . . . Text DGROUP
@fardata? . . . . . . . . . . . Text FAR_BSS
@fardata . . . . . . . . . . . . Text FAR_DATA
@stack . . . . . . . . . . . . . Text DGROUP
continues . . . . . . . . . . . L Near 00F4 _TEXT
inputx . . . . . . . . . . . . . L Near 0026 _TEXT
inputy . . . . . . . . . . . . . L Near 003B _TEXT
iny . . . . . . . . . . . . . . L Near 0053 _TEXT
judge . . . . . . . . . . . . . L Near 00E1 _TEXT
lengthx . . . . . . . . . . . . Word 00E7 _DATA
lengthy . . . . . . . . . . . . Word 00E9 _DATA
message1 . . . . . . . . . . . . Byte 0058 _DATA
message2 . . . . . . . . . . . . Byte 0079 _DATA
messagee . . . . . . . . . . . . Byte 00C7 _DATA
message . . . . . . . . . . . . Byte 009E _DATA
multiply . . . . . . . . . . . . L Near 0068 _TEXT
output . . . . . . . . . . . . . L Near 00E7 _TEXT
outz . . . . . . . . . . . . . . L Near 0104 _TEXT
quit . . . . . . . . . . . . . . L Near 0114 _TEXT
realm . . . . . . . . . . . . . L Near 0087 _TEXT
rotates . . . . . . . . . . . . L Near 009A _TEXT
sah . . . . . . . . . . . . . . Byte 00EB _DATA
temp . . . . . . . . . . . . . . Byte 00EC _DATA
xx . . . . . . . . . . . . . . . Byte 0000 _DATA
x . . . . . . . . . . . . . . . Byte 0002 _DATA
yy . . . . . . . . . . . . . . . Byte 0016 _DATA
y . . . . . . . . . . . . . . . Byte 0018 _DATA
zz . . . . . . . . . . . . . . . Byte 002C _DATA
z . . . . . . . . . . . . . . . Byte 002E _DATA
0 Warnings
0 Errors
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -