📄 32b_mul_proc.exe.~asm
字号:
name 32 bit multiply
data segment
mulnum dw 0ffffh, 0ffffh, 0ffffh, 0ffffh, 4 dup(?)
data ends
stack segment para stack'stack'
db 100 dup(?)
stack ends
code segment
assume cs:code,ds:data,ss:stack,es:data
start proc far
begin: push ds
mov ax,0
push ax
mov ax,data
mov ds,ax
mov es,ax
lea bx,mulnum
call mulu32
call mulu32
call mulu32
ret
start endp
mulu32 proc near
mov ax,[bx]
mov si,[bx+4]
mov di,[bx+6]
mul si
mov [bx+8],ax
mov [bx+0ah],dx
mov ax,[bx+2]
mul si
add ax,[bx+0ah]
adc dx,0
mov [bx+0ah],ax
mov [bx+0ch],dx
mov ax,[bx]
mul di
add ax,[bx+0ah]
adc dx,[bx+0ch]
mov [bx+0ah],ax
mov [bx+0ch],dx
pushf
mov ax,[bx+2]
mul di
popf
adc dx,0
add ax,[bx+0ch]
adc dx,0
mov [bx+0ch],ax
mov [bx+0eh],dx
ret
mulu32 endp
code ends
end begin
; [SOURCE]: L:\微机原理\2006-2007\ASM_Code\32bit_mult_proc.asm
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -