Advertisement
Shakal194

pr08_v13.asm

Nov 30th, 2014
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. %TITLE  "pr08_v13; Usenko"
  2.     IDEAL
  3.     MODEL   small
  4.     STACK   256
  5. k   EQU 9
  6. l   EQU 2
  7. j   EQU 32
  8.     DATASEG
  9. A   DB  10
  10. B   DB  2
  11. C   DB  6
  12. D   DB  -2
  13. x   DB  ?
  14.     CODESEG
  15. Start:  mov ax,@data
  16.         mov ds,ax
  17.     xor ax,ax   ;ax=0
  18.     mov al,[d]  ;al=d
  19.     imul    [d] ;al*d (d^2)
  20.     imul    [d] ;al*d (d^3)
  21.     push    ax  ;ax -> stack
  22.     xor ax,ax   ;ax=0
  23.         mov     al,[c]  ;al=c
  24.     mul [c] ;al*c
  25.     mov bl,l    ;bl=c
  26.     mul bl  ;al*bl
  27.     xor bx,bx   ;bx=0
  28.         pop bx  ;stack -> bx
  29.         idiv    bx  ;ax/bx
  30.     mov bx,ax   ;ax -> bx
  31.     xor ax,ax   ;ax=0
  32.     mov al,[a]  ;al=a
  33.     div [b] ;al/b
  34.     xchg    ax,bx   ;bx <->ax
  35.     sub bx,ax   ;bx-ax
  36.     xor ax,ax   ;ax=0
  37.     mov al,k    ;al=k
  38.     mul [b] ;al*b
  39.     add ax,bx   ;ax+bx
  40.     mul ax  ;ax*ax
  41.     push    ax  ;ax->stack
  42.     xor ax,ax   ;ax=0
  43.     mov al,[d]  ;al=d
  44.     imul    al  ;al^2
  45.     mul al  ;al^4
  46.     mov bl,j    ;bl=j
  47.     mul bl  ;bl^2
  48.     mov bx,ax   ;bx=ax
  49.     pop ax  ;stack->ax
  50.     div bx  ;ax/bx
  51.     mov [x],al  ;al=x
  52.     mov dl,al   ;al=dl
  53.     add dl,30h 
  54.     mov ah,02h
  55.     int 21h
  56. Exit:   mov ah,4Ch
  57.         mov al,0
  58.         int 21h
  59.         END Start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement