Advertisement
nguyenvanquan7826

A2/B2 pascal with asm

Oct 8th, 2013
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 0.83 KB | None | 0 0
  1. Tính A2/B2 hiện số thực.
  2. Nhập xuất trong Pascal, tính toàn trong ASM
  3.  
  4. file Chia.pas
  5.  
  6. program bai2;
  7. var a, b, c, d: integer;
  8. {$F+}
  9.      function MYDIV:integer; external;
  10.      {$L C:\TASM\FLOAT.OBJ}
  11. {$F-}
  12.  
  13. BEGIN
  14.      write('a = '); readln(a);
  15.      write('b = '); readln(b);
  16.      MYDIV;
  17.      writeln('a^2 / b^2 = ', c , '.', d);
  18.      readln;
  19. END.
  20.  
  21. file float.asm nằm trong C:\TASM\
  22.  
  23. .model large
  24. .data
  25.     EXTRN a: word, b: word, c: word, d: word
  26. .code
  27.     public mydiv
  28.     mydiv proc      
  29.              
  30.         mov ax, a
  31.         mul ax          ; ax = ax*ax  
  32.         push ax
  33.        
  34.         mov ax, b
  35.         mul ax
  36.         mov bx, ax
  37.        
  38.         pop ax     
  39.         div bx  ; ax = ax/bx, dx = ax%bx
  40.         mov c, ax   ; c la phan nguyen
  41.         mov ax, dx
  42.         mov dx, 100
  43.         mul dx  ; hien thi 2 so thap phan  
  44.         div bx
  45.         mov d, ax   ; d la phan thap phan
  46.         ret
  47.     mydiv endp
  48. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement