prompt equ 0F86Ch
clr_scr equ 0FACEh
wait_any_key equ 0xF803 ; ожидание нажатия клавиши
screenlc equ 077D0h ; фиксируем левый верхний угол видеопамяти
screenh equ 25 ; высота видимой области
screenw equ 64 ; ширина видимой области
; параметры горизонтальной строки (в символах)
h_back equ 8 ; отступ слева
h_act equ 64 ; видимых символов в строке
h_front equ 6 ; отступ справа
h_sync equ 8 ; строчный синхроимпульс (2..32)
h_total equ h_back + h_act + h_front ; общее количество символов в строке без учёта синхроимпульса (1..80)
scr_addr: dw 0000h
org 0100h
InitDisplay:
xra a
sta 0xC001
mvi a,04DH
sta 0xC000
mvi a,022H ;в коде от SB - 25h
sta 0xC000
mvi a,077H ;в коде 97h
sta 0xC000
mvi a,053H
sta 0xC000
mvi a,027H
sta 0xC001
mvi a,080H
sta 0xC001
sta 0xC000
sta 0xC000
lda 0xC001
lda 0xC001
ani 020H
InidDma:
mvi a,080H
sta 0xE008
mvi a,000H
sta 0xE004
mvi a,060H
sta 0xE004
mvi a,0A9H
sta 0xE005
mvi a,04AH
sta 0xE005
mvi a,0A4H
sta 0xE008
mvi a,036H
sta 0xA003
mvi a,076H
sta 0xA003
mvi a,0B6H
sta 0xA003
mvi a, 0A4h
sta 0xE008
mvi A, 0Fh
lxi HL, 078B2h
repeat:
mvi M, 11h
inx H
dcr A
jnz repeat
;call repeat
jmp prompt
[свернуть]