DMG

Oduzimanje dva broja (negativan rezultat)

DMG
Mar 8th, 2012
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; multi-segment executable file template.
  2.  
  3. data segment
  4.     a db ?
  5.     b db ?
  6.     zn db ?  
  7.     rez db ?
  8.     razmak db " ", "$"
  9.     minus db "-", "$"  
  10.     nr db 10, 13, "$"
  11.     pkey db "press any key...$"
  12. ends
  13.  
  14. stack segment
  15.     dw   128  dup(0)
  16. ends
  17.  
  18. code segment
  19. start:
  20. ; set segment registers:
  21.     mov ax, data
  22.     mov ds, ax
  23.     mov es, ax
  24.  
  25.     mov ah,1
  26.     int 21h
  27.     sub al, 48
  28.     mov a, al
  29.     mov ch, a
  30.    
  31.     int 21h
  32.     sub al, 48
  33.     mov b, al
  34.     mov dh, b
  35.    
  36.     cmp ch, dh
  37.     jge oduz1
  38.     jmp oduz2
  39.    
  40.     oduz1:
  41.     sub ch, dh
  42.     mov rez, ch
  43.     add rez, 48
  44.     mov dl, rez
  45.     mov ah, 2
  46.     int 21h
  47.     jmp kraj
  48.    
  49.     oduz2:
  50.     sub dh, ch
  51.     mov rez, dh
  52.     add rez, 48
  53.     lea dx, minus
  54.     mov ah, 9
  55.     int 21h
  56.     mov dl, rez
  57.     mov ah, 2
  58.     int 21h
  59.    
  60.     kraj:
  61.    
  62.        
  63.     lea dx, pkey
  64.     mov ah, 9
  65.     int 21h        ; output string at ds:dx
  66.    
  67.     ; wait for any key....    
  68.     mov ah, 1
  69.     int 21h
  70.    
  71.     mov ax, 4c00h ; exit to operating system.
  72.     int 21h    
  73. ends
  74.  
  75. end start ; set entry point and stop the assembler.
Advertisement
Add Comment
Please, Sign In to add comment