Advertisement
Xetos

asm zh

May 5th, 2016
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .data
  2.     igen BYTE "Palindroma",0ah, 0
  3.     nem BYTE " nem palind",0ah, 0
  4.  
  5. .code
  6. main PROC
  7.     CALL faktor
  8.     CALL WriteInt
  9.     INVOKE palindroma, offset string
  10.     INVOKE Exitprocess, 0
  11. faktor PROC
  12.     MOV     EAX, B
  13.     ADD     EAX, 0
  14.  
  15.     MOV ECX, EAX
  16.     MOV EAX, 1
  17. ////////////////
  18. main PROC
  19. paradigma PROC, strptr:DWORD
  20. ;páros esetén mindent csere
  21. ;páratlan esetén középsőt nem
  22.  
  23. ;eloszor vegig olvassuk a stringet
  24.     MOV     ESI, strptr
  25.    
  26. vegkeres: ;veget akarja megtalalni a stringnek
  27.     CMP byte ptr [ESI], 0
  28.     JE tovabb
  29.     ;kulonben
  30.     INC ESI
  31.     JMP vegkeres
  32. tovabb:
  33.     DEC ESI
  34.    
  35.     MOV EDI, strptr
  36. hasonlit:
  37.     MOV AL, DS:[EDI]   
  38.     CMP AL, [ESI]
  39.     JNE nem_palind
  40.     INC EDI
  41.     DEC ESI
  42.     CMP EDI, ESI
  43.     JL hasonlit
  44.  
  45.     MOV EDX, offset igen
  46.     CALL WriteString
  47.     RET ; Vagy: JMP vege
  48.  
  49. nem_palind:
  50.     MOV EDX, offset nem
  51.     CALL WriteString
  52.  
  53.  
  54.  
  55.     RET
  56. paradigma ENDP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement