IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   Опять ASM - [учу] - мои вопросы (http://www.imho.ws/showthread.php?t=25461)

DJLOVE 27.03.2003 03:47

Опять ASM - [учу] - мои вопросы
 
Код:

SSEG SEGMENT STACK
DB 80 DUP (?)
SSEG ENDS
DSEG SEGMENT
MES1 DB 'GREEN','$'
MES2 DB 'RED','$'
MES3 DB 'BLUE','$'
MES4 DB 'VIOLET','$'
MES5 DB 'HOMEWORK BY DIMA L.','$'
MES6 DB 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX','$'
MES7 DB 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX','$'
MES8 DB 'X','$'
DATA DB 80 DUP (?)
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG, SS:SSEG, DS:DSEG
START: MOV AX, DSEG
MOV DS,AX
MOV AH,6
MOV BH,0A7H
MOV CL,0
MOV CH,0
MOV DL,40
MOV DH,12
MOV AL,0
INT 10H
MOV AH,6
MOV BH,0C7H
MOV CL,40
MOV CH,0
MOV DL,79
MOV DH,12
MOV AL,0
INT 10H
MOV AH,6
MOV BH,97H
MOV CL,0
MOV CH,12
MOV DL,40
MOV DH,25
MOV AL,0
INT 10H
MOV AH,6
MOV BH,0D7H
MOV CL,40
MOV CH,12
MOV DL,79
MOV DH,25
MOV AL,0
INT 10H
MOV AH,2
MOV BH,0
MOV DL,20
MOV DH,6
INT 10H
MOV AH,9
LEA DX,MES1
INT 21H
MOV AH,2
MOV BH,0
MOV DL,60
MOV DH,6
INT 10H
MOV AH,9
LEA DX,MES2
INT 21H
MOV AH,2
MOV BH,0
MOV DL,20
MOV DH,18
INT 10H
MOV AH,9
LEA DX,MES3
INT 21H
MOV AH,2
MOV BH,0
MOV DL,60
MOV DH,18
INT 10H
MOV AH,9
LEA DX,MES4
INT 21H
MOV AH,2
MOV BH,0
MOV DL,32
MOV DH,12
INT 10H
MOV AH,9
LEA DX,MES5
INT 21H
MOV AH,2
MOV BH,0
MOV DL,0
MOV DH,0
INT 10H
MOV AH,9
LEA DX,MES6
INT 21H
MOV AH,2
MOV BH,0
MOV DL,0
MOV DH,25
INT 10H
MOV AH,9
LEA DX,MES7
INT 21H
MOV AH,2
MOV BH,0
MOV DL,0
MOV DH,0
INT 10H
MOV AH,9
LEA DX,MES8
INT 21H
MOV AH,4CH
INT 21H
CSEG ENDS
END START

что добавить? если надо зделать и вертекальную рамку XXX


Код:

XXXXXXXXXXXXXXXXXXXXXXX
X    Green      RED      X
X                                  X
X                                  X
X    Blue              Yellow  X
XXXXXXXXXXXXXXXXXXXXXXx

типа такого...

Madness 27.03.2003 22:30

DJLOVE
SSEG SEGMENT STACK
DB 80 DUP (?)
SSEG ENDS
DSEG SEGMENT
MES1 DB 'GREEN','$'
MES2 DB 'RED','$'
MES3 DB 'BLUE','$'
MES4 DB 'VIOLET','$'
MES5 DB 'HOMEWORK BY DIMA L.','$'
MES6 DB 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX','$'
MES7 DB 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX','$'
MES8 DB 'X','$'
DATA DB 80 DUP (?)
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG, SS:SSEG, DS:DSEG

START: MOV AX, DSEG
MOV DS,AX
MOV AH,6
MOV BH,0A7H
MOV CL,0
MOV CH,0
MOV DL,40
MOV DH,12
MOV AL,0
INT 10H
MOV AH,6
MOV BH,0C7H
MOV CL,40
MOV CH,0
MOV DL,79
MOV DH,12
MOV AL,0
INT 10H
MOV AH,6
MOV BH,97H
MOV CL,0
MOV CH,12
MOV DL,40
MOV DH,25
MOV AL,0
INT 10H
MOV AH,6
MOV BH,0D7H
MOV CL,40
MOV CH,12
MOV DL,79
MOV DH,25
MOV AL,0
INT 10H
MOV AH,2
MOV BH,0
MOV DL,20
MOV DH,6
INT 10H
MOV AH,9
LEA DX,MES1
INT 21H
MOV AH,2
MOV BH,0
MOV DL,60
MOV DH,6
INT 10H
MOV AH,9
LEA DX,MES2
INT 21H
MOV AH,2
MOV BH,0
MOV DL,20
MOV DH,18
INT 10H
MOV AH,9
LEA DX,MES3
INT 21H
MOV AH,2
MOV BH,0
MOV DL,60
MOV DH,18
INT 10H
MOV AH,9
LEA DX,MES4
INT 21H
MOV AH,2
MOV BH,0
MOV DL,32
MOV DH,12
INT 10H
MOV AH,9
LEA DX,MES5
INT 21H
MOV AH,2
MOV BH,0
MOV DL,0
MOV DH,0
INT 10H
MOV AH,9
LEA DX,MES6
INT 21H
MOV AH,2
MOV BH,0
MOV DL,0
MOV DH,24
INT 10H
MOV AH,9
LEA DX,MES7
INT 21H

xor cx,cx

loop:
MOV AH,2
MOV BH,0
MOV DL,0
MOV DH,cl
INT 10H
MOV AH,9
LEA DX,MES8
INT 21H

MOV AH,2
MOV BH,0
MOV DL,79
MOV DH,cl
INT 10H
MOV AH,9
LEA DX,MES8
INT 21H

inc cl
cmp cl,24
jnz loop

mov ah,07h
int 21h

MOV AH,4CH
INT 21H
CSEG ENDS
END START
---------
Эх, давненько я под дос не программил (никогда :)
Вот чего получилось, правый нижний символ хз как ставить (каретка вниз передвигается, а весь экран вверх соответственно)

DJLOVE 28.03.2003 00:49

Madness
nu dik ya tebe prichinu dal vspomnit :) tochto ne uchil

toka cl,25 ! nado :)

Madness 28.03.2003 01:28

DJLOVE
25 не надо - экран вверх поползет, финт ушами там какой то надо делать.
Кстати горизонтальные линии тоже циклом можно сделать :)
А че под дос пишешь, под винды легче и понятней ;)

DJLOVE 28.03.2003 01:47

:) ги так надо под дос

ладно ждемс следуших уроков , будем чето делать посмотрим как у меня получитса

ПС: заменил на 25 и никто никуда не лезит

helldomain 29.03.2003 07:36

Ishi hint po intu 10h. Eto pryamoe uprawlenie video adapterom. Tam fokusi pokruche delat mojno ;-)))... Pomniu bila u menya figowinka - pereworachiwala ekraw tekstowom rejime s nog na golowu ;-))).

Wolf.R 08.04.2003 09:53

Madness

НЕ Маднес под виндой под виндой а вот под досом и надо ничинать. Если под досом все будешь знать и будет понятно все хитрости то под виндой тьфу плюнуть. (хотя не спрорю тяжело) Но хорошии програмист ассемблерщик должен знать хотябы полные азы асма под досом gi.

P.S: Ладно только не спорить главное

Я помню когда мой бывшии шев писал на ассемблере на агате базу данных вот это штука была леталааааа Супер.

helldomain 08.04.2003 21:50

Servak bazi dannih na asme? Jestoko...

Wolf.R 09.04.2003 03:19

helldomain

gi а шо ты думал!



Ассемблер дает власть над компьютером а жажда власти это один из инстинктов юзера(человека). :-) gi

helldomain 09.04.2003 05:07

Hmm... Ya bi na asme stringowie funkcii klepal, a dbs na cpp.

DJLOVE 27.04.2003 00:06

подучить б INT , где инфу состать (самую простую) именно про Интерапты

helldomain 27.04.2003 08:49

http://www.google.com/search?hl=en&l...upts+%2Bmanual

Invi 28.04.2003 18:48

Мужыки, вы чего плохому учите парня?
Не надо использовать прерывания для вывода на экран.
Это можно сделать с прямым выводом.
Будет и лучше и проще.
А вообще то, года 3 назад я написал целую оперативку на асме.
С эмулятором мультизадачности, с самым современным и красивым интерфейсом.
Ну и эффекты всякие что можно в текстовом режиме делать влепил.
А размер был что то около 10кб.
Без единого прерывания. И работало в дос и без него.

helldomain 28.04.2003 23:46

Interesno ochen. Dai hot posmotret. Interesno, kak ti ne polzujas BIOS'om ili pryamimi obrascheniyami k ustroistaw izbejal preriwanij. Podhod prosto interesnij gi.

Invi 30.04.2003 03:02

Я свои собственные API написал.
Надёжнее и быстрее прерываний будет.

Посмотреть могно.
Сделаю скриншоты и вышлю на мыл :)
Потому как русскому дать программу :atention:

:)))))
А вообще то, система там крута.
С детьми окошками и всё такое.

helldomain 30.04.2003 16:11

Nu togda udachi.

DJLOVE 05.05.2003 11:58

хм задача:
текстовыи фаил в котором буква Ф или w надо проверить

1 чистим екран
2 открываем фаил тхт с буквои Ф
3 читаем 1 баит из фаила в буфер
4 - если там буква Ф напишим в етом же фаиле ОК и закроем фаил
- если там буква w нарисуем синее окошко, и в нем будет написано ОК
- если по ошибке там написана любая другая буква, сразу выити в дос
- если во время работы произошла ошибка сообшить об етом и выити в дос

вот такое задание

helldomain 05.05.2003 14:44

I w chem problemma? Smotri INT 21h dlya fenechek po otkritiju/chteniju/zakritiju failow.

DJLOVE 05.05.2003 15:11

helldomain problema v tom chto int po rabote s failom eto vse est
a vot kak soedebit eto vse v odnin kusok uuuu...

helldomain 05.05.2003 15:16

A chto tam soedinyat? Nu otkril fail, nu proweril, otkrilsya-li on, esli net - error messagu i wihod, esli otkrlsya, chtiaesh poka ne nastupit EOF (ili po dline srawnish), proweryaesh to, chto prochital i potom zakriwaesh ego.

corgi 05.05.2003 15:35

у меня была прога по нажатию стрелок прокручивал файл в окошке(n символов) если надо могу кинуть исходники (по-мойму сохранились), правда там библиотеки свои довольно большие но думаю разберешься если надо

corgi 05.05.2003 21:44

Вложений: 1
Цитата:

подучить б INT , где инфу состать (самую простую) именно про Интерапты
нашел у себя, может поможет ....

Top 06.05.2003 00:40

Помогите с программой, может кто слышал такой симулятор ассемблера MIPS называется ? Надо написать на нем функцию Фибоначчи, помогите если не трудно, или ссылку где почитать


Часовой пояс GMT +4, время: 10:38.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.