[ MiTo @ 22.05.2004. 15:10 ] @
Imam za par dana ispit iz asemblera i treba mi pomoc oko ovoga sto prije :)
Treba 32 bitni broj heksadecimalni ispisat kao decimalni.
btw radi se sa MASMom.
Ideja je da se podijeli hex sa 10, ostatak gurne na stog, a rezultat dijeli dalje dok ne postane nula...
Problem je sto na kraju ne znam kako bi uopce ispisao sadrzaj sa stoga, sta cu sa 16 bitnim brojevima ??? da su 8 bitni mogu onda gurnut u niz i njega ispisat,a ovako stvarno nemam vise ideje. 2 sata je blejim ko budala i nemogu nista :((((
[ MiTo @ 24.05.2004. 20:03 ] @
Evo uspio sam :) samo malo treba razmisliti sto gdje ide ili.... debugirati :)

Code:

.MODEL small
.DATA
  broj DD 7f3h
  pok DW broj
  
.STACK
.CODE
Start:
  mov ax,@DATA
  mov ds,ax
  mov es,ax
  
  ; operacije
  
    mov si,pok    
    mov ax,[si]
    inc si
    inc si
    mov dx,[si]
    
    mov bx,16
    
    mov cx,100
    push cx
    
      petlja:
        div bx
        push dx
        mov dx,0
        cmp ax,0
        jne petlja
        
      petlja2:
        pop dx
        cmp dx,100
        je kraj
        
        mov ah,02h
        
        cmp dl,10
        jg veliki
        
        add dl,48
        int 21h
        jmp petlja2
        
        
      veliki:
      add dl,55
      int 21h
      jmp petlja2
        
      kraj:
  
      mov dl,104
      mov ah,02h
      int 21h
  
  
  mov ah,4ch
  int 21h
END Start