Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler

Выпуск № 180
от 08.07.2005, 02:00

Администратор:Калашников О.А.
В номере:Вопросов: 4, Ответов: 5


Вопрос № 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

next1:
cmp al,codekey2
jnz next2
call proc2
jmp exit
next2:
exit:

Приложение:

---------
Что имеем - не храним, потерявши - плачем

Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 04.07.2005, 06:57

Отвечает: DSota
Здравствуйте, Терсков Алексей Николаевич!

Самый быстрый способ:

Приложение:

---------
Открыть глаза навстречу солнцу.

Ответ отправил: DSota (статус: Практикант)
Отправлен: 04.07.2005, 10:12


Вопрос № 22.975
Мне нужно написать программу, которая создает файл.

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
int 21h

_file db 'c:file.txt',0

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


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.faq
Отписаться
Вспомнить пароль

В избранное