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

📄 mul32.asm

📁 random.zip 随机数产生器的汇编源代码 cmdsrc.zip 一个文本编辑器的汇编源代码 ourvxd.zip 一个用汇编编VxD的简单例子 foxprn.zip 一个在Fox中利用汇编语言接
💻 ASM
字号:
MUL32    PROC     NEAR
;***************************************************************
;                       32 bit multiplication routine
;                       multiplies DX:AX x CX:BX
;                       returns 64 bit product in DX:AX:CX:BX
;***************************************************************
         PUSH     SI  
         PUSH     DI
         MOV      SI,DX       ;save OP1HI in SI
         MOV      DI,AX       ;save OP1LO in DI
         MUL      BX          ;OP1L0 x OP2LO
         PUSH     AX          ;save 1st (32 bit) pp. on stack
         PUSH     DX
;
         MOV      AX,SI       ;OP1HI in AX
         MUL      BX          ;OP1HI x OP2L0
         POP      BX          ;add 2nd (48 bit) pp. to pp1
         ADD      AX,BX
         ADC      DX,0
         PUSH     AX
         MOV      BX,DX       ;pp1 + pp2 in BX:TOS:TOS+2
;
         MOV      AX,DI       ;OP1LO in AX
         MUL      CX          ;OP1LO x OP2HI
         POP      DI          ;add 3rd (48 bit) pp. to pp1 + pp2
         ADD      DI,AX
         PUSH     DI
         MOV      DI,0
         ADC      BX,DX
         ADC      DI,0        ;pp1+pp2+pp3 in DI:BX:TOS:TOS+2
;
         MOV      AX,SI       ;OP1HI in AX
         MUL      CX          ;OP1HI x OP2HI
         ADD      AX,BX       ;add 4th (64 bit) pp. to pp1+pp2+pp3
         ADC      DX,DI
         POP      CX
         POP      BX          ;final product in DX:AX:CX:BX
;
         POP      DI
         POP      SI
         RET
MUL32    ENDP


⌨️ 快捷键说明

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