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

User Tag List

Страница 24 из 24 ПерваяПервая ... 2021222324
Показано с 231 по 232 из 232

Тема: Ассемблер Радио-86РК

  1. #231
    Activist Аватар для Voxel
    Регистрация
    18.01.2005
    Адрес
    Тихвин
    Сообщений
    479
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В общем задержка решила проблему.

    Ниже программа умеющая двигать ноль по экрану, но убого кривая. Может кто-то предложит лучше вариант?

    Скрытый текст


    Код:
    keyb_ask	EQU     0F812H	;опрос состояния клавиатуры
    keyb_enter	EQU     0F803H	;ввод символа с клавиатуры код в A
    keyb_ask_key	EQU	0F81BH	;опрос кода нажатой клавиши код в A
    prn_symb 	EQU     0F809H	;печать символа в C код символа
    prn_line	EQU     0F818H	;печать строки в HL адрес строки
    prn_hex		EQU	0F815H	;печать в HEX в A байт
    prompt  	EQU 	0F86Ch
    up		EQU	19h
    down		EQU	1ah
    left		EQU	08h
    right		EQU	18h
    enter		EQU	0dh
    
    		org	0
    		mvi	c,1fh
    		call	prn_symb
    		mvi	b, 0
    		mvi	c, 1
    start:		call	coord
    		mvi	m, '0'
    		call	delay
    		mvi	m, ' '
    start1:		call	keyb_ask_key
    		cpi	up
    		jz	go_up
    		cpi	down
    		jz	go_down
    		cpi	left
    		jz	go_left
    		cpi	right
    		jz	go_right
    		cpi	enter
    		jz	prompt
    		jmp	start
    
    
    go_up:		mov	a,c
    		cpi	1
    		jz	start1
    		dcr	c
    		jmp	start
    go_down:	mov	a,c
    		cpi	26
    		jz	start1
    		inr	c
    		jmp	start
    go_left:	mov	a,b
    		cpi	0
    		jz	start1
    		dcr	b
    		jmp	start
    go_right:	mov	a,b
    		cpi	64
    		jz	start1
    		inr	b
    		jmp	start
    
    
    
    coord:		push	d	;B это x C это y
    		push 	b
    		lxi 	h,77c2h
    		lxi	d,004eh
    coord1:		dad	d
    		dcr	c
    		jnz	coord1
    		mov 	e,b
    		dad	d
    		pop	b
    		pop 	d
    		ret
    
    delay:		push	b
    		mvi	b,020h
    delay2:		mvi	c,0ffh
    delay1:		nop
    		dcr	c
    		jnz	delay1
    		dcr	b
    		jnz	delay2
    		pop	b
    		ret
    [свернуть]
    УКНЦ+FDD+HDD; ZX-NEXT; Scorpion 256k; ZXM Phoenix+TurboSoundFM; Spectrum 48k; ZX Hobbit; Radio 86RK

  2. #232
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    4,273
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Например так

    Скрытый текст

    Код:
    		org	0
    		mvi	c,1fh
    		call	prn_symb
    		mvi	b, 0
    		mvi	c, 1
    		lxi 	h,77c2h
    		shld XY
    start:
    		lhld XY
    		xchg
    		call	coord
    		call cmpHLDE
    		jz start1
    		mvi	m, '0'
    		shld XY
    		xchg
    		mvi m, ' '
    start1:
    		call	keyb_ask_key
    		cpi 0FFh
    		jz start1
    		
    		mov e,a
    		cpi	up
    		jnz	ChkDown
    		dcr c
    		jnz ChkDown
    		inr c
    ChkDown:
    		cpi	down
    		jnz	ChkLeft
    		mvi a,26
    		cmp c
    		jz	ChkLeft
    		inr c
    ChkLeft:
    		mov a,e
    		cpi	left
    		jnz	ChkRight
    		dcr b
    		jp	ChkRight
    		inr b
    ChkRight:
    		cpi	right
    		jnz ChkEnter
    		mvi a,64
    		cmp b
    		jz	ChkEnter
    		inr b
    ChkEnter:
    		mov a,e
    		cpi	enter
    		jz	prompt
    		call	delay
    		jmp	start
    
    coord:		push	d	;B это x C это y
    		push 	b
    		lxi 	h,77c2h
    		lxi	d,78
    coord1:		dad	d
    		dcr	c
    		jnz	coord1
    		mov 	e,b
    		dad	d
    		pop	b
    		pop 	d
    		ret
    
    delay:		push	b
    		lxi	b,0400h
    delay1:	dcr	c
    		jnz	delay1
    		dcr	b
    		jnz	delay1
    		pop	b
    		ret
    		
    cmpHLDE:
    		mov a,l
    		sub e
    		rnz
    		mov a,h
    		sbb d
    		ret
    
    XY:		dw 0
    [свернуть]
    Последний раз редактировалось ivagor; 14.08.2019 в 20:03. Причина: исправил некритичные помарки в двух местах

  3. Этот пользователь поблагодарил ivagor за это полезное сообщение:

    Voxel (14.08.2019)

Страница 24 из 24 ПерваяПервая ... 2021222324

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

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

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

Похожие темы

  1. РАДИО-86РК на Z80
    от Vladimir_S в разделе Радио-86РК
    Ответов: 310
    Последнее: 06.06.2017, 21:13
  2. Радио-86РК: По страницам журнала "Радио"
    от Viktor2312 в разделе Радио-86РК
    Ответов: 79
    Последнее: 13.02.2014, 08:34
  3. Радио 86рк на AVR
    от PWA в разделе Радио-86РК
    Ответов: 6
    Последнее: 10.06.2013, 12:01
  4. Радио 86РК
    от Shnurkov в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 02.01.2009, 13:52

Ваши права

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