Ïðèìåð: Ãëîáàëüíàÿ ñåòü INTERNET
ß èùó:
Íà ãëàâíóþ  |  Äîáàâèòü â èçáðàííîå  

Ãëàâíàÿ/

Ïðîãðàììèðîâàíèå, áàçû äàííûõ. /

Îòëàä÷èê Periscope

Äîêóìåíò 1 | Äîêóìåíò 2 | Äîêóìåíò 3 | Äîêóìåíò 4

 

Ïðîãðàììà   ERROR.ASM

      Ñíà÷àëà ââîäèòñÿ äåñÿòè÷íîå ÷èñëî, çàòåì ïðîãðàììà

      åãî äîëæíà âûâåñòè íà ýêðàí.

      Ðàáîòàåò òîëüêî äëÿ îäíîçíà÷íûõ ÷èñåë.

=========================================

MODEL TINY

.CODE

org 100h

print macro str

      mov ah,9

      lea dx,str

      int 21h    

endm

start:

      push cs

      pop ds

      print mes1

      call inint

      call outint

konets: mov ax,4c00h

      int 21h

outint proc near

      push cx

      push dx

      push ax

      push bx

      xor cx,cx

      mov bx,10

      xor dx,dx

del: div bx

      inc cx

      push dx

      cmp ax,0

      jne del

      mov ah,2

vvv:  pop dx

      add dl,30h

      int 21h

      loop vvv

      pop bx

      pop ax

      pop dx

      pop cx

       ret

outint endp

inint proc near

      push bx

      push dx

      xor dx,dx

      xor ax,ax

fgh:  push ax

      mov ah,1

      int 21h

      cmp al,13

      je jkl

      sub al,30h

      mov dl,al

      mov bx,10

      pop ax

      push dx

      mul bx

      cmp dx,0

      jne error

      pop dx

      add ax,dx

      jmp fgh

jkl:  print nline

      pop ax

      pop dx

      pop bx

      ret

error: print errs

      mov ax,4c01h

      int 21h

inint endp

mes1 db 'Ââåäèòå ÷èñëî: $'

nline db 13,10,'$'

errs db 'error?$'

END start

=========================================

      Èñïðàâëåííûé âàðèàíò ïðîãðàììû. Âûâîäèò ÷èñëà ïðàâèëüíî.

=========================================

model tiny

.code

      org 100h

begin:

      push cs

      pop ds

print macro str

      mov ah,9

      lea dx,str

      int 21h

     

endm

      print mes1

      call inint

      call outint

konets: mov ax,4c00h

      int 21h

outint proc near

      push cx

      push dx

      push ax

      push bx

      xor cx,cx

      mov bx,10

del:              ;<<<<--- Îáíóëÿåì DX ïåðåä äåëåíèåì AX íà BX

      xor dx,dx   ;<<<<--- Èíà÷å áóäåò äåëèòüñÿ DX:AX íà BX

      div bx

      inc cx

      push dx

      cmp ax,0

      jne del

      mov ah,2

vvv:  pop dx

      add dl,30h

      int 21h

      loop vvv

      pop bx

      pop ax

      pop dx

      pop cx

       ret

outint endp

inint proc near

      push bx

      push dx

      xor dx,dx

      xor ax,ax

fgh:  push ax

      mov ah,1

      int 21h

      cmp al,13

      je jkl

      sub al,30h

      mov dL,aL

      mov bx,10

      pop ax

      push dx

      mul bx

      cmp dx,0

      jne error

      pop dx

      add ax,dx

      jmp fgh

jkl:  print nline

      pop ax

      pop dx

      pop bx

      ret

error: print errs

      mov ax,4c01h

      int 21h

inint endp

mes1 db 'Ââåäèòå ÷èñëî: $'

nline db 13,10,'$'

errs db 'error?$'

end begin

==========================================


Copyright © 2005—2007 «RefStore.Ru»