Помощь - Поиск - Пользователи - Календарь
Полная версия: Аппаратное прерывание, прерывание таймера
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Assembler
Megatron1989
У меня в программе с каждым прерывания таймера выводится один симвл (у меня выводится единица), ноу меня проблема возникла в том, что мне надо вывести по оному символу 160 раз, а у меня выводит бесконечное число раз.
ПОМОГИТЕ пожайлута сделать так, чтобы выводило 160 раз единицу

вот текст программы:
model small
.stack 100h
.data
old_time dd 0
d_ip dw 0
d_cs dw 0
mes db '1', '$',10
.code
new_time proc
      mov ah,09h
      lea dx,mes
      int 21h
      mov al,20h
      out 20h,al
      iret 
new_time endp
begin:
  mov ax,@data
  mov ds,ax
  mov ah,35h
  mov al,08h
  int 21h
  mov d_ip,bx
  mov d_cs,es
  push ds
  push cs
  pop ds
  lea dx,new_time 
  mov ax,2508h
  int 21h
  pop ds
l:mov ax,1
  mov ax,2
  mov ax,3
  jmp l   
  mov ax,4c00h
  int 21h
end begin
xds
model small
.stack 100h
.data
old_time dd 0
d_ip dw 0
d_cs dw 0

count	dw 160

.code

new_time proc
    push ax
	cmp count,0
	je exit_int
	dec count
	mov ah,2
	mov dl,'1'
	int 21h
exit_int:
	mov al,20h
	out 20h,al
	pop ax
	iret 
new_time endp

begin:
  mov ax,@data
  mov ds,ax
  mov ah,35h
  mov al,08h
  int 21h
  mov d_ip,bx
  mov d_cs,es
  push ds
  push cs
  pop ds
  lea dx,new_time 
  mov ax,2508h
  int 21h
  pop ds

idle:
	hlt
	cmp count,0
	jne idle
    
    mov ax,4c00h
    int 21h
end begin

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.