Advertisement
Guest User

fpu

a guest
Oct 21st, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .486                                    ; create 32 bit code
  2.     .model flat, stdcall                    ; 32 bit memory model
  3.     option casemap :none                    ; case sensitive
  4.      include \masm32\include\windows.inc     ; always first
  5.     include \masm32\macros\macros.asm       ; MASM support macros
  6.   ; -----------------------------------------------------------------
  7.   ; include files that have MASM format prototypes for function calls
  8.   ; -----------------------------------------------------------------
  9.     include \masm32\include\masm32.inc
  10.     include \masm32\include\gdi32.inc
  11.      include \masm32\include\fpu.inc
  12.     include \masm32\include\user32.inc
  13.     include \masm32\include\kernel32.inc
  14. include c:\masm32\include\msvcrt.inc
  15. includelib c:\masm32\lib\msvcrt.lib
  16. includelib c:\masm32\lib\fpu.lib
  17.   ; ------------------------------------------------
  18.   ; Library files that have definitions for function
  19.   ; exports and tested reliable prebuilt code.
  20.   ; ------------------------------------------------
  21.     includelib \masm32\lib\masm32.lib
  22.     includelib \masm32\lib\gdi32.lib
  23.     includelib \masm32\lib\user32.lib
  24.     includelib \masm32\lib\kernel32.lib
  25. .data   ; директива определения данных
  26. _temp1 dd ?,0
  27. _temp2 dd ?,0
  28. _const1 dd 2
  29. _const2 dd 8
  30. _const3 dd 9
  31. borderLeft DWORD -1.0
  32. borderRight DWORD 1.2
  33. _title db "Лабораторна робота №2. операції порівнняння",0
  34. strbuf dw ?,0
  35. _text db "masm32.  Вивід результата через MessageBox:",0ah,
  36. "y=2ab-8c/b d>a",0ah,
  37. "y=8d-9d/c d<=a",0ah,
  38. "Результат: %d — ціла частина",0ah, 0ah,
  39. "Вовчак Анастасія Василівна",0
  40. MsgBoxCaption  db "Пример окна сообщения",0
  41. MsgBoxText_1     db "порівнняння  _d >_a",0
  42. MsgBoxText_2     db "порівнняння  _d<=_a",0
  43.  
  44. .const
  45.    NULL        equ  0
  46.    MB_OK       equ  0
  47.  
  48. .code   ; директива начала сегмента команд
  49. _start: ; метка начала программы с именем _start
  50.  
  51. main proc
  52. LOCAL _x: DWORD
  53.  
  54. mov _x, sval(input("vvedite x  = "))
  55.     finit
  56.     fld borderLeft
  57.     fld _x
  58.     fucomi
  59.       jbe first
  60.     fld borderRight
  61.     fld _x
  62.       fucomi
  63.     jbe second
  64.    
  65.    
  66.  
  67.  
  68. INVOKE    MessageBoxA, NULL, ADDR MsgBoxText_1, ADDR MsgBoxCaption, MB_OK
  69. invoke wsprintf, ADDR strbuf, ADDR _text, _const1
  70. invoke MessageBox, NULL, addr strbuf, addr _title, MB_ICONINFORMATION
  71. invoke ExitProcess, 0
  72.  
  73. jmp lexit ;переходим на метку exit (GOTO exit)
  74.  first:
  75.  
  76.      
  77.  
  78. INVOKE    MessageBoxA, NULL, ADDR MsgBoxText_2, ADDR MsgBoxCaption, MB_OK
  79. invoke wsprintf, ADDR strbuf, ADDR _text, _const2
  80. invoke MessageBox, NULL, addr strbuf, addr _title, MB_ICONINFORMATION
  81. invoke ExitProcess, 0
  82. jmp lexit
  83.  second:
  84.  
  85.      
  86.  
  87. INVOKE    MessageBoxA, NULL, ADDR MsgBoxText_2, ADDR MsgBoxCaption, MB_OK
  88. invoke wsprintf, ADDR strbuf, ADDR _text, _const3
  89. invoke MessageBox, NULL, addr strbuf, addr _title, MB_ICONINFORMATION
  90. invoke ExitProcess, 0
  91.  lexit:
  92.  ret
  93. main endp
  94.  ret                     ; возврат управления ОС
  95. end _start          ; завершение программы с именем _start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement