Tema: Re: Pagelbekit mokantiems Asembleriu programint
Autorius: all set
Data: 2009-12-15 22:59:37
bet itariu kad net nezinai kaip tai padaryti... bil paloti

"poviliuxs" <poviliuxxs@gmail.com> wrote in message 
news:hg32p4$2ue$1@trimpas.omnitel.net...
> keisk profesija
>
> blin, skamba kaip chirurgas sakytu: gal kas gali pjuvi cia uz mane 
> padaryti? gerbti reikia bent save, jei negerbi kitu.
>
> Papaja wrote:
>> Sveiki, taip gavosi, kad kiek beskaiciau tutorialu ir pan. niekaip
>> nesuprantu kaip padaryt uzduoti... Uzduotis turi priimti 2 skaicius(po 
>> viena
>> arba per space abu uzrasyti tai tikrai nesvarbu) 1-masis skaicius turi 
>> buti
>> pakeistas i antrojo skaiciaus skaiciavimo systema...
>> Pvz: Ivedame 3 ir 2, reikia, kad gautume rezultata 11, ivedam 7 ir 4, tai
>> turetu buti 13...
>> Kolkas turiu programa, kurioje ivedi skaiciu ir gali pakeisti skaiciavimo
>> systema tik manuol budu, gal yra mokanciu programuoti kurie galetu padeti
>> paeditint sia programa :?
>>
>>
>> .model small
>> .stack 100h
>> .data
>>  ivedimo_msg  DB "Iveskite skaiciu: ","$"
>>  isvedimo_msg DB "Rezultatas: ","$"
>>  enteris      DB 13,10,"$"
>>  buff         DB 255
>>                    DB 0
>>                    DB 255 dup(0)
>> .code
>>  start:
>> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>> ;; Nurodom duomenu pradzia
>> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>>    MOV ax,@data
>>    MOV ds,ax
>> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>> ;; Pagalbos simboliu ieskojimas argumente
>> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>>  MOV bx, 0081h
>>  ieskok:
>>  MOV ax, es:[bx]
>>  CMP al, 0Dh
>>  JE programa
>>  CMP ax, 3F2Fh
>>  JE pagalba
>>  INC bx
>>  JMP ieskok
>>  pagalba:
>>  MOV ah, 9
>>  INT 21h
>>  JMP endas
>>
>>
>>  programa:
>> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>> ;; Skaitom
>> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>>  MOV ah, 09h
>>  MOV dx, offset ivedimo_msg
>>  INT 21h
>>  XOR si,si
>>  XOR di,di
>>  XOR cx,cx
>>  XOR dx,dx
>>  MOV bx,10
>>  MOV ah, 0Ah
>>  MOV dx, offset buff
>>  INT 21h
>>  MOV dx, offset enteris
>>  MOV ah, 09h
>>  INT 21h
>>  MOV si, 1
>>  MOV al, buff[si]
>>   XOR ah, ah
>>    MOV di, ax
>>    INC si
>>    INC di
>>    INC di
>>  next:
>>   MOV al, buff[si]
>>    XOR ah, ah
>>    SUB al, '0'
>>    CMP al, 9
>>    JA endas
>>  INC si
>>  ADD ax, cx
>>  JC endas
>>  CMP si, di
>>  JE suma
>>  MUL bx
>>  CMP ax, cx
>>  JB endas
>>  MOV cx, ax
>>  CMP si, di
>>  JLE next
>>  suma:
>>  XOR si, si
>>  MOV cx, ax
>>  JC endas
>>  MOV ax,cx
>>  CALL astuntainis
>>  JMP endas
>> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>> ;; Procedura astuntainis
>> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>>  astuntainis PROC
>>  PUSH ax
>>  PUSH cx
>>  PUSH dx
>>  MOV cx, 8    ;;;;;;;;;;;;;;;;;;;;;;;;;;; <- pakeitus skaiciu keicia i 
>> tokia
>> systema
>>  PUSH "$$"
>>  ciklas:
>>  MOV dx, 0
>>  DIV cx
>>  PUSH dx
>>  CMP ax, 0
>>  JNE ciklas
>>  MOV ah, 2
>>  spausdinimas:
>>  POP dx
>>  CMP dx, "$$"
>>  JE pabaiga
>>  ADD dl, '0'
>>  INT 21h
>>  JMP spausdinimas
>>  pabaiga:
>>  POP dx
>>  POP cx
>>  POP ax
>>  RET
>>  astuntainis ENDP
>> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>> ;; Pabaiga
>> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>>
>>  endas:
>>  MOV ah, 4ch
>>  MOV al, 0
>>  INT 21h
>> end start
>>