mli4.s 368 B

1234567891011121314151617181920212223242526
  1. .sect .text; .sect .rom; .sect .data; .sect .bss
  2. .sect .text
  3. .define .mli4
  4. yl=2
  5. yh=4
  6. ! x * y
  7. ! xl in ax
  8. ! xh in dx
  9. .mli4:
  10. mov bx,sp
  11. push dx
  12. mov cx,ax
  13. mul yh(bx) ! xl*yh
  14. pop dx
  15. push ax
  16. mov ax,dx
  17. mul yl(bx) ! xh * yl
  18. pop dx
  19. add dx,ax ! xh*yl+xl*yh
  20. mov ax,cx
  21. mov cx,dx
  22. mul yl(bx) ! xl*yl
  23. add dx,cx
  24. ret 4