Помогите написать алгоритм прграмы! вот програма...

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

Ответить
Antok
Сообщения: 2
Зарегистрирован: 06 дек 2009, 20:16

06 дек 2009, 20:25

stack segment stack
db 100 dup (0)
stack ends
data segment
hb db 0
lb db 0
stl db 14
endl db 15
x db 80
fl1 db 1
fl2 db 0
mes db '',10, 13,'********LABORATORNAYA RABOTA PO KURSU PPPK - CURSOR DEMONSTRATION*********',10,13,'******VIPOLNIL by VADIM i DIMA********',10,13,'___________________________________________________________________________', 10,13,'| "ESC" TO EXIT|"<,^,>,v"MOVE|"DEL"OFF|"+,-"SIZE|"INS"NEGATIVE|',10,13,'$'
box1 db'ЪДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДї$'
mes1 db'| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |\$'
box2 db'АДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДЩ 0Ah - Cursor Start Register $'
reg1 db'ЪДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДї$'
reg2 db'| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |\$'
reg3 db'АДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДЩ 0Bh - Cursor End Register $'
reg4 db'ЪДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДї$'
reg5 db'| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |\$'
reg6 db'АДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДЩ 0Eh - Cursor Location Register, high byte $'
reg7 db'ЪДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДї$'
reg8 db'| 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 |\$"
reg9 db'АДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДЩ 0Fh - Cursor Location Register, low byte $'
box3 db'ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї$'
mes2 db'|WORK SPACE |$'
mes3 db'| |$'
mes4 db'| |$'
mes5 db'| |$'
mes6 db'| |$'
box4 db'АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ$'
reg51 db'| 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |\$'
reg81 db'| 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 |\$'
mes11 db'| 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |\$'
reg21 db'| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |\$'
mes12 db'| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |\$'
reg22 db'| 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |\$"
data ends
code segment
begin:
assume ds:data,cs:code,ss:stack
mov ax,data
mov ds,ax
jmp start
draw proc
mov ax,data
mov ds,ax
mov cx,0
mov dl,79
mov dh,24
mov al,0
mov bh,70h
mov ah,6
int 10h
mov ah,2
mov bh,0
mov dx,0
int 10h
mov bh,70h
mov dx,offset mes
mov ah,9
int 21h
mov ah,2
mov bh,0
mov dx,0603h
int 10h
lea dx,box1
mov ah,9
int 21h
mov ah,2
mov dx,0703h
int 10h
lea dx,mes1
mov ah,9
int 21h
mov ah,2
mov dx,0803h
int 10h
lea dx,box2
mov ah,9
int 21h
mov ah,2
mov dx,0903h
int 10h
mov dx,offset reg1
mov ah,9
int 21h
mov ah,2
mov dx,0a03h
int 10h
mov dx,offset reg2
mov ah,9
int 21h
mov ah,2
mov dx,0b03h
int 10h
mov dx,offset reg3
mov ah,9
int 21h
mov ah,2
mov dx,0c03h
int 10h
mov dx,offset reg4
mov ah,9
int 21h
mov ah,2
mov dx,0d03h
int 10h
mov dx,offset reg5
mov ah,9
int 21h
mov ah,2
mov dx,0e03h
int 10h
mov dx,offset reg6
mov ah,9
int 21h
mov ah,2
mov dx,0f03h
int 10h
mov dx,offset reg7
mov ah,9
int 21h
mov ah,2
mov dx,1003h
int 10h
mov dx, offset reg8
mov ah, 9
int 21h
mov ah, 2
mov dx, 1103h
int 10h
mov dx, offset reg9
mov ah, 9
int 21h
mov ah, 2
mov dx, 1203h
int 10h
mov dx, offset box3
mov ah, 9
int 21h
mov ah, 2
mov dx, 1303h
int 10h
mov dx, offset mes2
mov ah, 9
int 21h
mov ah, 2
mov dx, 1403h
int 10h
mov dx, offset mes3
mov ah, 9
int 21h
mov ah, 2
mov dx, 1503h
int 10h
mov dx, offset mes4
mov ah, 9
int 21h
mov ah, 2
mov dx, 1603h
int 10h
mov dx, offset mes5
mov ah, 9
int 21h
mov ah, 2
mov dx, 1703h
int 10h
Antok
Сообщения: 2
Зарегистрирован: 06 дек 2009, 20:16

06 дек 2009, 20:26

mov dx, offset mes6
mov ah, 9
int 21h
mov ah, 2
mov dx, 1803h
int 10h
mov dx, offset box4
mov ah, 9
int 21h
ret
draw endp
out proc
mov ax, 40h
mov ES, ax
mov dx, ES: [63h]
mov al, 0eh
out dx, al
inc dx
mov al, hb
out dx, al
dec dx
mov al, 0fh
out dx, al
inc dx
mov al, lb
out dx, al
ret
out endp
size proc
mov dx,3d4h
mov al, 0ah
out dx, al
inc dx
mov al, stl
out dx, al
mov dx, 3d4h
mov al, 0bh
out dx, al
inc dx
mov al, endl
out dx, al
ret
size endp
start:
call draw
mov hb, 06h
mov lb, 0b6h
call out
readkey:
mov ah, 08
int 21h
cmp al, 27
jne l3
jmp exit
l3:
cmp al, 4bh
jne cright
jmp left
cright:
cmp al, 4dh
jne cup
jmp right
cup:
cmp al, 48h
jne cdown
jmp up
cdown:
cmp al, 50h
jne coff
jmp down
coff:
cmp al, 53h
jne cupline
jmp off
cupline:
cmp al, 2bh
jne cdownline
jmp upline
cdownline:
cmp al, 2dh
jne cnegative
jmp downline
cnegative:
cmp al, 52h
jne readkey
jmp negative
off:
cmp fl1,1
jne on
push cx
mov cx, 2828
mov fl1, 0
mov lb, cl
mov hb, ch
mov ah, 2
mov dx, 0d03h
int 10h
mov dx, offset reg51
mov ah, 9
int 21h
mov ah, 2
mov dx, 1003h
int 10h
mov dx, offset reg81
mov ah, 9
int 21h
l1:
call out
jmp readkey
on:
mov fl1, 1
pop cx
mov lb, cl
mov hb, ch
jmp l1
left:
mov ah, bh
mov al, lb
div x
cmp ah, 4
je stopleft
mov cl, lb
mov ch, hb
dec cx
mov lb, cl
mov hb, ch
push cx
mov ah, 2
mov dx, 101dh
int 10h
mov ah, 9
mov al, '0'
mov bl, 70h
mov cx, 1
int 10h
mov ah, 2
mov dx, 1021h
int 10h
mov ah, 9
mov al, '1'
mov bl, 70h
mov cx, 1
int 10h
pop cx
stopleft:
call out
jmp readkey
right:
mov ah, hb
mov al, lb
div x
cmp ah, 4ch
je stopr
mov cl, lb
mov ch, hb
inc cx
mov lb, cl
mov hb, ch
push cx
mov ah, 2
mov dx, 101dh
int 10h
mov ah, 9
mov al, '1'
mov bl, 70h
mov cx, 1
int 10h
mov ah, 2
mov dx, 1021h
int 10h
mov ah, 9
mov al, '1'
mov bl, 70h
mov cx, 1
int 10h
pop cx
stopr:
call out
jmp readkey
up:
mov ah, hb
mov al, lb
div x
cmp al, 13h
je stopup
mov cl, lb
mov ch, hb
sub cx, 80
mov lb, cl
mov hb, ch
stopup:
call out
jmp readkey
down:
mov ah, hb
mov al, lb
div x
cmp al, 17h
je stopdown
mov cl, lb
mov ch, hb
add cx, 80
mov lb, cl
mov hb, ch
stopdown:
call out
jmp readkey
upline:
cmp stl, 0
je res
dec stl
mov ah, 2
mov dx, 0703h
int 10h
lea dx, mes11
mov ah, 9
int 21h
mov ah, 2
mov dx, 0a03h
int 10h
mov dx, offset reg21
mov ah, 9
int 21h
l4:
call size
call out
jmp readkey
res:
mov stl, 14
jmp l4
downline:
cmp endl, 1
je res1
dec endl
l5:
call size
jmp readkey
res1:
mov endl, 15
jmp l5
negative:
cmp fl1, 0
je l6
cmp fl2, 1
je set
mov stl, 0
mov endl, 15
mov fl2, 1
mov ah, 2
mov dx, 0703h
int 10h
lea dx, mes12
mov ah, 9
int 21h
mov ah, 2
mov dx, 0a03h
int 10h
mov dx, offset reg22
mov ah, 9
int 21h
jmp l2
set:
mov stl, 12
mov endl, 15
mov fl2, 0
call draw
l2:
call size
call out
l6:
jmp readkey
exit:
mov ax, 4c00h
int 21h
code ends
end begin
airyashov
Сообщения: 416
Зарегистрирован: 02 ноя 2007, 10:31

07 дек 2009, 08:02

нужно читать сообщение компилятора
У вас нет необходимых прав для просмотра вложений в этом сообщении.
icq:3(один)7748666
mail:airyashov( а)inbox.ru
GeorgeSoca
Сообщения: 0
Зарегистрирован: 12 окт 2015, 04:09
Откуда: Guam
Контактная информация:

15 окт 2015, 06:15

На нашем сайте вы можете чувствовать себя в безопасности! Кроме того, мы используем зеркальные жесткие диски на все наши серверы, поэтому мы также взять резервную два раза в день на отдельных серверах. Мы используем ISPmanager, как на панели управления. ISPmanager является панель управления, которая позволяет легко управлять своей веб-сайт. С нами вы можете разместить столько веб-сайты и домены, которые вы хотите для учетной записи хостинга.
virtual hosting
Ответить