Advertisement
Guest User

Untitled

a guest
Apr 16th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; 32bit
  2. ; 6)    (c+4*b-123)/(1-a/2);
  3. ;       (2+4*1-123)/(1-5/2)=(2+4-123)/(1-2) = 117 (0x0075)
  4. format PE console
  5. use32
  6. entry start
  7.  
  8. section '.data' data writeable readable
  9.     a dd 5
  10.     b dd 1
  11.     c dd 2
  12.  
  13. section '.text' code executable readable
  14.  
  15. start:
  16.     ; 4*b
  17.     mov eax, [b]    ;eax=0000 0001
  18.     mov ebx, 4    ;ebx=0000 0004
  19.     imul ebx      ;eax=0000 0004 edx=0000 0000
  20.  
  21.     ; edx ignored
  22.  
  23.     ; c + 4*b
  24.     mov ebx, [c]    ;ebx=0000 0002
  25.     add eax, ebx  ;eax=0000 0006
  26.  
  27.     ; -123
  28.     mov ebx, 123  ;ebx=0000 007B
  29.     neg ebx       ;ebx=FFFF FF85
  30.  
  31.     ;  (c + 4*b) + (-123)
  32.     add eax, ebx  ;eax=FFFF FF8B
  33.  
  34.     mov ebx, eax  ;ebx=FFFF FF8B
  35.  
  36.     ; a/2
  37.     mov eax, [a]    ;eax=0000 0005
  38.     xor edx, edx  ;edx=0000 0000
  39.     mov ecx, 2    ;ecx=0000 0002
  40.     idiv ecx      ;eax=0000 0002 edx=0000 0010
  41.     ; -a/2
  42.     neg eax       ;eax=FFFF FFFE
  43.  
  44.     ; (-a/2)++
  45.     inc eax       ;eax=FFFF FFFF
  46.     mov ecx, eax  ;ecx=FFFF FFFF
  47.  
  48.     mov eax, ebx  ;eax=FFFF FF8B
  49.  
  50.     ; ((c + 4*b) + (-123)) / ((-a/2)++)
  51.     mov edx, 0xFFFFFFFF
  52.                   ;edx=FFFF FFFF
  53.     idiv ecx      ;eax=0000 0075 edx=0000 0000
  54.  
  55. keydown:
  56.     mov ah, 1
  57.     int 21h
  58.  
  59. exit:
  60.     mov al, 0     ;no error
  61.     mov ah, 0x4C
  62.     int 21h
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement