Advertisement
Guest User

Challenge

a guest
Dec 23rd, 2018
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. data segment
  2.     list_nbr db "521-663-737-152-366"
  3.     somme db "0000$"
  4.     data ends
  5.  
  6. assume cs:code, ds:data
  7.  
  8. code segment
  9.     main:
  10.     mov ax, data
  11.     mov ds, ax
  12.    
  13.    
  14.     mov si, offset list_nbr
  15.     add si, 18
  16.    
  17.     mov di, offset list_nbr
  18.     add di, 14
  19.    
  20.     mov bp, offset somme
  21.     add bp, 3
  22.    
  23.     mov cx, 3
  24.     mov bl, 10
  25.     mov dh, 0
  26.    
  27.     sumA:
  28.        
  29.         mov dl, [di]
  30.         add dl, [si]
  31.        
  32.         sub dl, 30h
  33.        
  34.         add dl, dh
  35.         mov dh, 0
  36.         cmp dl, 10
  37.        
  38.         jl gotoA
  39.        
  40.         mov al, dl
  41.         div bl
  42.         mov dl, ah
  43.        
  44.         mov dh, 1
  45.        
  46.         gotoA:
  47.             mov [bp], dl
  48.             dec si
  49.             dec di
  50.         loop sumA
  51.        
  52.         add bp, 3
  53.         mov cx, 3
  54.        
  55.     sumB:
  56.        
  57.         mov si, offset list_nbr
  58.         add si, 10
  59.        
  60.         mov dl, [bp]
  61.         add dl, [si]
  62.        
  63.         sub dl, 30h
  64.        
  65.         add dl, dh
  66.         mov dh, 0
  67.         cmp dl, 10
  68.        
  69.         jl gotoB
  70.        
  71.         mov al, dl
  72.         div bl
  73.         mov dl, ah
  74.        
  75.         mov dh, 1
  76.        
  77.         gotoB:
  78.             mov [bp], dl
  79.             dec bp
  80.             dec si
  81.         loop sumB
  82.        
  83.         add bp, 3
  84.         mov cx, 3
  85.    
  86.     sumC:
  87.        
  88.         mov si, offset list_nbr
  89.         add si, 6
  90.        
  91.         mov dl, [bp]
  92.         add dl, [si]
  93.        
  94.         sub dl, 30h
  95.        
  96.         add dl, dh
  97.         mov dh, 0
  98.         cmp dl, 10
  99.        
  100.         jl gotoC
  101.        
  102.         mov al, dl
  103.         div bl
  104.         mov dl, ah
  105.        
  106.         mov dh, 1
  107.        
  108.         gotoC:
  109.             mov [bp], dl
  110.             dec bp
  111.             dec si
  112.         loop sumC
  113.        
  114.         add bp, 3
  115.         mov cx, 3
  116.        
  117.     sumD:
  118.        
  119.         mov si, offset list_nbr
  120.         add si, 2
  121.        
  122.         mov dl, [bp]
  123.         add dl, [si]
  124.        
  125.         sub dl, 30h
  126.        
  127.         add dl, dh
  128.         mov dh, 0
  129.         cmp dl, 10
  130.        
  131.         jl gotoD
  132.        
  133.         mov al, dl
  134.         div bl
  135.         mov dl, ah
  136.        
  137.         mov dh, 1
  138.        
  139.         gotoD:
  140.             mov [bp], dl
  141.             dec bp
  142.             dec si
  143.         loop sumD
  144.        
  145.      mov dx, offset somme
  146.      mov ah, 9
  147.      int 21h  
  148.        
  149.        
  150.    
  151.     code ends
  152.     end main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement