Вопрос № 22973: Мне нужно следующе:
Что бы процедура proc1 вызывалась нажатием
клавиши 1, а proc2 клавишей 2.
...
proc1 proc
mov al,1
...
ret
endp
proc2 proc
mov al,2
...
ret
endp
...
end...Вопрос № 22975: Мне нужно написать программу, которая создает файл.
title_prog_file
CSEG segment
assume cs:CSEG, ds:CSEG, ss:CSEG
org 100h
BEGIN:
mov ah,3Ch
mov bx, offset _file
int 21h
mov ah,4Ch
in...Вопрос № 22977: подскажите пожалуйста как на ассемблере получить случайное число?
т.е. аналог функции random паскаля...Вопрос № 22980: Я уже написал программу для создания файла "C:file.txt"
Вот программа, которая его токрывает, а как вывести на экран
его содержимое?
-----------------------------------------------------
title program_asm
CSEG segment<b...
Вопрос № 22.973
Мне нужно следующе:
Что бы процедура proc1 вызывалась нажатием
клавиши 1, а proc2 клавишей 2.
...
proc1 proc
mov al,1
...
ret
endp
proc2 proc
mov al,2
...
ret
endp
...
end
Отправлен: 02.07.2005, 10:25
Вопрос задал: Терсков Алексей Николаевич (статус: Посетитель)
Всего ответов отправлено: 2
Отвечает: Евгений Иванов
Здравствуйте, Терсков Алексей Николаевич!
call getkey
cmp al,codekey1
jnz next1
call proc1
jmp exit
CSEG ends
end BEGIN
--------------------------------------------------
Файл не создается.
Почему ?
из - за того, что я не указал аттрибуты ?
и что означает ",0" после строки _file.
Отправлен: 02.07.2005, 12:09
Вопрос задал: Терсков Алексей Николаевич (статус: Посетитель)
Всего ответов отправлено: 1
Отвечает: Евгений Иванов
Здравствуйте, Терсков Алексей Николаевич!
Да, необходимо указывать атрибуты в CX.
Имя файла - в DX!
0 - это значит, формат строки ASCIIZ, то есть, оканчивается нулём.
удачи!
--------- Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 04.07.2005, 07:01
Вопрос № 22.977
подскажите пожалуйста как на ассемблере получить случайное число?
т.е. аналог функции random паскаля
Отправлен: 02.07.2005, 12:57
Вопрос задал: Pycckuu MegBegb (статус: Посетитель)
Всего ответов отправлено: 1
Отвечает: Евгений Иванов
Здравствуйте, Pycckuu MegBegb!
;Мощный генератор случайных чисел. IN -> AX-range; OUT -> AX-число 0...AX-1;
;Взят из C++;
proc Rnd ;=========================================================
push bx cx dx ax
mov bx,3
mov cx,43FDh
mov ax,[w Seed]
mov dx,[w Seed+2]
push bx ax
or bx,dx
mov bx,cx
jnz rnd_1_1
mul bx
pop ax bx
jmp rnd_1_2
rnd_1_1:
mul bx
mov cx,ax
pop ax dx
push ax
mul dx
add cx,ax
pop ax
mul bx
add dx,cx
rnd_1_2:
add ax,9EC3h
adc dx,26h
mov [w Seed],ax
mov [w Seed+2],dx
mov ax,dx
and ah,127
pop cx
cwd
idiv cx
mov ax,dx
pop dx cx bx
ret
endp
--------- Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 04.07.2005, 07:01
Вопрос № 22.980
Я уже написал программу для создания файла "C:file.txt"
Вот программа, которая его токрывает, а как вывести на экран
его содержимое?
-----------------------------------------------------
title program_asm
CSEG segment
assume cs:CSEG, ds:CSEG, ss:CSEG
org 100h
BEGIN:
mov ah,3Dh ; open file
mov dx, offset _file
mov cx,2 ; input output
int 21h
mov AX, _handle ; сохранение файлового номера в DW
mov ah,4Ch
int 21h
_file db 'c:file.txt' ; path to file
_handle dw ?
CSEG ends
end BEGIN
-----------------------------------------------------
Все свои электронные книги просмотрел
а что нужно для вывода файла на экран не нашел.
Отправлен: 02.07.2005, 13:48
Вопрос задал: Терсков Алексей Николаевич (статус: Посетитель)
Всего ответов отправлено: 1
Отвечает: Евгений Иванов
Здравствуйте, Терсков Алексей Николаевич!
Во первых,
mov _handle, ax
во вторых, вывести на экран можно с помощью функции BIOS.
19 номер.
могу подарить свой код. разноцветные символы и полное форматирование.
вот смотри подпрограмму PrintString
; Выводит на экран в текущую позицию курсора строчку в SI
во вложении вся программа, где используется эта подпрограмма.
удачи!
Приложение:
Прикреплённый файл: Загрузить >> Срок хранения файла на сервере RusFAQ.ru составляет 14 суток с момента отправки ответа. --------- Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 04.07.2005, 07:01