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

📄 lmul.lst

📁 本实验为设计实验。要求实现两个较大的十进制数相乘
💻 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 + -