Показать сообщение отдельно
Старый 26.04.2004, 12:19     # 3
Ghost
::VIP::
Звезда первого сезона
Молчун-2004
 
Аватар для Ghost
 
Регистрация: 24.08.2002
Сообщения: 1 575

Ghost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех Гуру
Гыхм... Вот пример простенькой проги на асме для преобразования строки в число:
Код:
stak segment stack
  db 128 dup (?)
stak ends

data segment
 sc db '123' ; string content
 sl dw 3     ; string  length
 dc dw ?     ; convert result
data ends

code segment
assume ds:data,cs:code
start:
  mov ax,data
  mov ds,ax
; detect adress of last symbol in string
  lea di, sc
  add di, sl
  dec di
; initialize si and bl
  mov si, sl
  mov bx, 1
; initialize variable 'dc'
  mov ax, 0
  mov dc, ax
; start convert circle
convert:
; verify: si > 0; else goto to end circle
  cmp si, 0
  je  cnv_end
; read and covert digit
  mov ah, 0
  mov al, [di]
  sub al, 48
  mul bx
; summ with 'dc'
  add ax, dc
  mov dc, ax
; decrease si and di
  dec si
  dec di
; mul bl 10x
  mov ax, bx
  mov bx, 10
  mul bx
  mov bx, ax
; goto circle start
  jmp convert
cnv_end:
; cotvert complit, see variable 'dc'
  mov ah,4ch
  int 21h
code ends
end start
Проверял у себя - вроде все работает.
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы!
Ghost вне форума