Важная информация

User Tag List

Страница 8 из 183 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя
Показано с 71 по 80 из 1824

Тема: Эмулятор ДВК

  1. #71
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Gina Посмотреть сообщение
    это вывод восмеричного числа
    Проще и лучше всего (на мой взгляд) использовать вывод числа без MUL/DIV.

    Следующий код позволяет выводить числа с любым основанием, указанием числа позиций вывода и символа-заполнителя незанятых позиций.

    Код:
    ;
    ; DIGIT.MAC - Вывод числа с любым основанием, указанием числа позиций вывода 
    ;             и символа-заполнителя незанятых позиций.
    ;
    	.MCall	.Print, .Exit
    
    START:
    	Mov	#60, FILL	; Символ-заполнитель
    	Mov	#Buf,R0		; Адрес буфера для вывода
    	Mov	#77, R1		; Число для вывода
    	Call	DIGIT
    	.Byte	8.,3.		; Основание и количество позиций вывода
    	.Print	#Buf	
    
    	.Exit
    
    ; ================================
    ;
    ;  R0 = адрес буфера строки
    ;  R1 = число для вывода
    ;
    DIGIT::
    	MOVB	@(SP),OSN	; 
    	INC	(SP)		; 
    	MOVB	@(SP),NDIG	; 
    	INC	(SP)		; 
    	BIC	#^C17,NDIG	; 
    	BIC	#^C77,OSN	; 
    	MOV	#SYMR,ADDS	; 
    	BIT	#40,OSN		; 
    	BNE	1$		; 
    	ADD	#SYMD-SYMR,ADDS	; 
    1$:	CALL	DIG		; 
    	RETURN			; 
    
    DIG:	MOV	R1,	-(SP)	; 
    	MOV	#-1,	R1	; 
    1$:	INC	R1		; 
    	SUB	OSN,	(SP)	; 
    	BCC	1$		; 
    	ADD	(PC)+,	(SP)	; 
    OSN:	.WORD	0		; 
    	DEC	NDIG		; 
    	TST	R1		; 
    	BEQ	L2$		; 
    	CALL	DIG		; 
    L2$:	TSTB	(PC)+		; 
    NDIG:	.WORD	0		;
    	BEQ	L3$		; 
    	BMI	L3$		; 
    	MOVB	(PC)+,	(R0)+	; 
    FILL::	.WORD	40		; 
    	DECB	NDIG		; 
    	BR	L2$		; 
    L3$:	ADD	(PC)+,@SP	; 
    ADDS:	.WORD	SYMR		; 
    	MOVB	@(SP)+,	(R0)+	; 
    	RETURN			; 
    ;
    
    SYMR:	.ASCII	! ABCDEFGHIJKLMNOPQRSTUVWXYZ$./! ; 
    SYMD:	.ASCII	!0123456789ABCDEF!		 ; 
    	.EVEN
    ;
    ; ================================
    
    Buf:	.BlkB	80.
    
    .END	START
    ;

    Результат запуска в эмуляторе:
    Код:
    .RU DIGIT
    077

  2. #72
    Member
    Регистрация
    28.07.2012
    Адрес
    г. Москва
    Сообщений
    35
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    "Проще и лучше всего (на мой взгляд) использовать вывод числа без MUL/DIV."
    Вот не согласен с Вами, уж извините, конечно. Не проще и не лучше!
    Готов согласиться, что это ваш эмулятор, что ВМ1 не поддерживает MUL/DIV и не обязан, что я припёрся тут со своей прогой и чего-то хочу, и опять же никто мне не обязан, может я чо-то криво настроил, но...
    "проще и лучше без" привело нас к тому, что они там щас делают 64 и 128битные Пентиумы, а мы и свои ДВК загнобили. Они там создают крутые авто, а мы и свои проэто самое. и т.д. и т.п. MUL/DIV для чего-то же ведь буржуи придумали? Вряд ли бы они стали их делать просто так и ИМХО это лучше, чем в цикле крутить.

    За код спасибо, я как раз начал что-то подобное уже делать, но у меня эти команды не только там, а по всей проге встречаются. Раз они работали, почему бы их не использовать, верно ведь?
    Попробую переписать, чтоб уж работало наверняка.

  3. #73
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Gina Посмотреть сообщение
    А где его взять? Токо если он для УКНЦ, то может и не покатить. Прога написана для ДВК, использует стандартные вызовы RT-11.
    Его взять ТУТ. На нем идет большинство программ для ДВК КЦГД. Только надо перейти в режим КЦГД после загрузки - F6.

  4. #74
    Member
    Регистрация
    28.07.2012
    Адрес
    г. Москва
    Сообщений
    35
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Titus, ты будешь ржать, но оно-таки работает! И без всякого F6 (не уверен, что у меня был КЦГД, хотя, фиг знает) В работе прога использует стандартные вызовы .print & .ttyout Смотрится забавно, но команды отрабатывает

    Значит, на эмуляторе от Patron'а у меня чо-то с EM.SYS :-/

    З.Ы. Файл называется MARIAH.SAV его hobot расшарит в составе архива, как только я напишу описание, а может и до этого

  5. #75
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Gina Посмотреть сообщение
    Titus, ты будешь ржать, но оно-таки работает! И без всякого F6 (не уверен, что у меня был КЦГД, хотя, фиг знает) В работе прога использует стандартные вызовы .print & .ttyout Смотрится забавно, но команды отрабатывает
    Ржать может и не буду, но, походу твоя прога работает на обычной УКНЦ)

  6. #76
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Gina Посмотреть сообщение
    у меня чо-то с EM.SYS
    Если на родном ВМ2 программа работает, а на ВМ1 с EM.SYS не работает - это плохо. Мы тут весной EM.SYS "чинили и улучшали" - может он после этого вообще работать перестал..

    Попробуйте выделить из своей программы в отдельный файл фрагмент кода с выводом числа, который работает на ВМ2, но не работает на ВМ1 с EM.SYS и выложите здесь.

  7. #76
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #77
    Member
    Регистрация
    28.07.2012
    Адрес
    г. Москва
    Сообщений
    35
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    "Мы тут весной EM.SYS "чинили и улучшали" да, я читал эту ветку только что
    фрагмент кода там команда DIV BASE, R2 или MUL #BASE, R3. Более подробно выложу завтра. Два часа уже, ОГО, спать пора!

    2 Titus: но на УКНЦ же клавиатура другая, нет клавиш ПФ1-ПФ4. Или есть?

  9. #78
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Gina Посмотреть сообщение
    но на УКНЦ же клавиатура другая, нет клавиш ПФ1-ПФ4. Или есть?
    Я не знаю, что такое ПФ1-4) Если это F1-F4, то есть)

  10. #79
    Member
    Регистрация
    28.07.2012
    Адрес
    г. Москва
    Сообщений
    35
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    2 Titus ПФ1-ПФ4 ну это такие клавиши, которые на доп.цифровой клаве в верхнем ряду вместо NumLock и др. Вот фотка http://img-fotki.yandex.ru/get/6604/..._9c43beb4_orig Они там справа верхние белые.
    А в УКНЦ коды F1-F4 какие?

    2 Patron. A вы исходниками эмулятора не делитесь? А то бы я приделал на соплях туда эти команды и честно бы написал "эта заплата приделана криворуким прогером Gina и Patron к ней никакого отношения не имеет"
    Ещё мысля, а можно ли в эмуляторе сделать менюшку для быстрого подключения дискет? Ну, чтобы инишник не править/перечитывать?
    З.Ы. обещанный код (считывание числа и его печать в 3х вариантах)
    .TITLE ANYNUM
    .IDENT /V01/
    .LIBRARY/DK:MRHLIB.MLB/
    .MCALL PUSH,POP
    .WEAK EXP,MAXLW
    .PSECT SUBNUM RW,I,LCL,REL,CON
    NUMIN:: CLR R3
    PUSH R0
    MOVB (R1)+,R0
    CMPB R0,#'0
    BLO 1$
    SUB #60,R0
    CMPB R0,#9.
    BLOS 2$
    SUB #7,R0
    CMPB R0,#'Z-67
    BLOS 2$
    SUB #40,R0
    2$: CMPB R0,RADIX
    BLO 3$
    1$: DEC R1
    POP R0
    RETURN
    3$: MUL (PC)+,R3
    RADIX:: .WORD EXP
    ADD R0,R3
    BR NUMIN+4
    NUMW:: INC NMB
    BR NUMZ
    NUMB:: COM NMB
    BIC #177400,R3
    NUMZ:: PUSH R0
    PUSH R2
    MOV (PC)+,R0
    FORM:: .WORD MAXLW
    MOV R3,R2
    2$: CLR R2
    DIV RADIX,R2
    PUSH R3
    MOV R2,R3
    SOB R0,2$
    MOV FORM,R0
    MOV R0,R3
    TST (PC)+
    NMB: .WORD 0
    BEQ 1$
    BPL 2$
    BIC #1,R3
    ADD R3,SP
    ASR R0
    ADC R0
    2$: POP R3
    ADD #60,R3
    CMP R3,#'9
    BLOS 4$
    ADD #'@-'9,R3
    4$: MOVB R3,(R1)+
    SOB R0,2$
    BR 3$
    1$: TST @SP
    BNE 2$
    TST (SP)+
    SOB R0,1$
    MOVB #60,(R1)+
    3$: CLR NMB
    POP R2
    POP R0
    RETURN
    .END
    Последний раз редактировалось Gina; 23.09.2012 в 11:11.

  11. #80
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Gina Посмотреть сообщение
    А в УКНЦ коды F1-F4 какие?
    Вы имеете ввиду коды контроллера клавиатуры УКНЦ или же системные коды? Если системные, так это вопросы не ко мне, а к RT-11. Кроме того, в режиме ДВК (КЦГД) конроллер клавиатуры не УКНЦ, а МС-7004.

Страница 8 из 183 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)

Похожие темы

  1. Эмулятор
    от vladimir53 в разделе Орион
    Ответов: 19
    Последнее: 24.06.2022, 08:02
  2. Эмулятор ПЗУ.
    от ALKO в разделе Память
    Ответов: 8
    Последнее: 17.05.2011, 13:41
  3. Эмулятор AY на AVR
    от serkiri в разделе Звук
    Ответов: 52
    Последнее: 10.06.2010, 09:01
  4. Эмулятор для Mac
    от AlexBel в разделе Эмуляторы
    Ответов: 11
    Последнее: 02.05.2010, 18:53

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •