16.08.2018, 13:55 [+3 UTC]
в нашей команде: 2 914 чел. | участники онлайн: 6 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.47 (16.04.2018)

Общие новости:
13.04.2018, 10:33

Форум:
16.08.2018, 11:45

Последний вопрос:
16.08.2018, 11:42

Последний ответ:
12.08.2018, 20:20

Последняя рассылка:
15.08.2018, 21:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
07.12.2009, 21:28 »
Jekaiseburga
Спасибо! Будет примером, к чему стремиться (в плане написания кодов). [вопрос № 174914, ответ № 257449]
29.03.2010, 15:10 »
Botsman
Большое спасибо за развернутый ответ! [вопрос № 177540, ответ № 260441]
06.04.2012, 20:48 »
Иванов Анатолий Николаевич
+5 Отлично! [вопрос № 185716, ответ № 270450]

РАЗДЕЛ • Assembler

Создание программ на языке Assembler.

[администратор рассылки: Лысков Игорь Витальевич (Старший модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Модератор
Рейтинг: 311
Kdsfofwe21
Статус: 1-й класс
Рейтинг: 220
cain52
Статус: 1-й класс
Рейтинг: 3

Перейти к консультации №:
 

Консультация онлайн # 193466
Раздел: • Assembler
Автор вопроса: mishgan (Х Заблокирован)
Отправлена: 10.08.2018, 00:12
Поступило ответов: 1

Уважаемые эксперты! Пожалуйста, ответьте на вопрос:

Доброго времени , вопрос такой. Когда я пользуюсь функцие mov ah,9
mov dx, offset String
int 21 h
то получается заношу функцию 9 с прерыванием 21 для выводы строки так? так вот если разбирать подробнее в COM программе изначально идет смещение 100 ORG которое записывается в регистры ip и cs, затем мы введя функцию заносим в регистр dx смещение, и прерыванием выводим слово , вопрос в том что если мы ввели дополнительно в регистр es доп число мы получается указываем не правильный адрес, почему?

Состояние: Консультация закрыта

Здравствуйте, mishgan!

Ну у Вас тут два вопроса:
1)org 100h;
2)Функция int 21h | ah=9.

1:
COM-файлы это наследие первых РС, у которых ресурс объема памяти оперативной и жесткого диска был маленьким. Размер СОМ-файла не мог быть больше 65000 байт, 65536 байт(полный размер сегмента) - 256 байт(100h- размер стандартного заголовка, который подставляет сама система при запуске программы) - 256 байт(минимальный размер стека программы) = 65024 байт всего. С учетом такой экономии, файл занимал на диске всего 127 секторов(один сектор 512 байт) максимум. За счет отсутствия заголовка и стека экономился один сектор. Ограничения накладываемые на этот тип файлов, все сегментные регистры равны и указывают на один сегмент и программа по сути есть слепок памяти, который копируется в память с определенного адреса в сегменте(100h)-точки входа.
smile
ЕХЕ-файлы занимали больше места, их размер мог достигать 640кб, при этом заголовок самого файла занимал 512 байт(в определялось, сколько нужно сегментов, как они настраиваются и ещё много другого).

2:
Прерывание;

© Цитата: Ralf Brown's Interrupt List
Int 21/AH=09h -DOS 1+ - WRITE STRING TO STANDARD OUTPUT
AH = 09h
DS : DX -> '$'-terminated string

требует от программиста только три определенных регистра, другие регистры просто игнорируются, и ES в этом списке нет, т.е. он не влияет на результат работы прерывания.

Удачи!


Консультировал: Зенченко Константин Николаевич (Модератор)
Дата отправки: 10.08.2018, 10:34

Рейтинг ответа:

+1

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 193466

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 1

 +1 
 
= общий = | 10.08.2018, 10:45 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

Для досовских программ используется 20-битная адресация. Т.е. адрес формируется, как сумма значения сегментного регистра,
смещенного влево на 4 бита, и смещения в сегменте. Т.о. адрес всегда хранится в паре регистров (как и адрес очередной команды CS:IP)
В частности, для команды ah=9 адрес выводимой строки должен находиться в DS:DX
Естественно, изменив содержимое DS (не ES!), получим не то, что хотели!

Обратите внимание, для программ формата COM (модели памяти TINY) содержимое всех сегментных регистров равны между собой.
Для других моделей памяти это не так.

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

mishgan
Х Заблокирован

ID: 402222

# 2

= общий = | 10.08.2018, 22:32 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

а для чеего мы заносим функцию в ah -9h? ведь как написано по учебнику эта функция с прерыванием 21 выводит строку на экран, но по сути мы же выводим строку вызвав прерывание, зачем нужна фунция? и еще у нас смещение наодится в регистре dx тоесть по сути мы в этом регстре указываем адрес то строки которая заносится ds

Удалён неправильно использованный тег цитирования.
--------

• Отредактировал: Гордиенко Андрей Владимирович (Модератор)
• Дата редактирования: 11.08.2018, 08:49

Гордиенко Андрей Владимирович
Модератор

ID: 17387

# 3

= общий = | 11.08.2018, 06:26 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

Пожалуйста, не отправляйте сообщения с вопросами по консультации модераторам. Ведите обсуждение с автором ответа и экспертами.

=====
Facta loquuntur.

mishgan
Х Заблокирован

ID: 402222

# 4

= общий = | 11.08.2018, 08:46 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

так и делаю и отправляю ответы тем кто отвечает

Удалён неправильно использованный тег цитирования.
--------

• Отредактировал: Гордиенко Андрей Владимирович (Модератор)
• Дата редактирования: 11.08.2018, 08:47

Гордиенко Андрей Владимирович
Модератор

ID: 17387

# 5

= общий = | 11.08.2018, 08:48 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

Нет, Вы пока ещё неправильно адресуете свои сообщения.

=====
Facta loquuntur.

Зенченко Константин Николаевич
Модератор

ID: 31795

# 6

 +1 
 
= общий = | 11.08.2018, 12:34 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

© Цитата:
mishgan (Посетитель) отправил сообщение модераторам на ответ # 276642 эксперта (консультация # 193466 в разделе Assembler).

Кнопка "Сообщить Модератору" предназначена для информирования Модераторов+ о нарушениях правил портала, и для их устранения.
Нельзя таким грубым способом заставлять Андрея Владимировича учить ассемблер.
smile
Я удалил Ваше сообщение.

© Цитата: mishgan
полный размер сегмента 255 байт =)) ведь считаем от 0))) так почему нужно именно смещение 100h?)

Размер сегмента определяется разрядностью регистров AX,BX,CX,DX,SI,DI,SP,BP,IP -16-ти битные, т.е. в них можно записать максимальное значение:=1111 1111 1111 11112 = FFFF16 = 6553510 и если учитывать ещё и нулевое значение то получается 6553610 байт.

При запуске любой программы система передает в программу различную служебную информацию, в том числе и параметры командной строки, с которыми программа была запущена.. Все это помещается в служебную область Program Segment Prefix, длина которой 256 байт, т.е. 100h.
Для СОМ-файлов она ВСЕГДА одинакова, поэтому система подставляет туда стандартный PSP, добавляя информацию о командной строке, сам код начинается после этой области, поэтому точка входа ВСЕГДА 100h.
Набросал код, демонстрирующий это:
Код (Assembler) :: выделить код
model	tiny
.code
org	100h
begin:	xor	si,si
	mov	cx,23
@@01:	push	cx
	mov	cx,16
	lea	di,dbBin
	lea	bx,dbStr
@@02:	lodsb
	push	ax
	aam	16
	or	ax,'00'
	xchg	ah,al
	cmp	al,'9'
	jbe	@@021
	add	al,7
@@021:	stosb
	xchg	ah,al
	cmp	al,'9'
	jbe	@@022
	add	al,7
@@022:	stosb
	mov	al,' '
	stosb
	xchg	di,bx
	pop	ax
	cmp	al,7Fh
	jz	@@03
	cmp	al,0FFh
	jz	@@03
	cmp	al,' '
	ja	@@04
@@03:	mov	al,0FAh
@@04:	stosb
	xchg	di,bx
	loop	@@02
	mov	ah,9
	lea	dx,dbOut
	int	21h
	pop	cx
	loop	@@01
	xor	ax,ax
	int	16h
	ret
dbOut	db	10,13
dbBin	db	3*16 dup(' '),'   '
dbStr	db	16 dup(' '),'$'
	end	begin

Ну и результат работы на картинке:


© Цитата: mishgan
а для чего мы заносим функцию в ah -9h? ведь как написано по учебнику эта функция с прерыванием 21 выводит строку на экран, но по сути мы же выводим строку вызвав прерывание, зачем нужна функция? и еще у нас смещение находится в регистре dx то есть по сути мы в этом регистре указываем адрес то строки которая заносится ds


Я уже давал Вам ссылку на Ralf Brown's Interrupt List = список прерываний от Ральфа Брауна
Прерывание 21h содержит в себе множество функций(это только первые 16-ть)
© Цитата:
Int 21/AH=00h - DOS 1+ - TERMINATE PROGRAM
Int 21/AH=01h - DOS 1+ - READ CHARACTER FROM STANDARD INPUT, WITH ECHO
Int 21/AX=010Fh - VIRUS - Susan - INSTALLATION CHECK
Int 21/AH=02h - DOS 1+ - WRITE CHARACTER TO STANDARD OUTPUT
Int 21/AH=03h - DOS 1+ - READ CHARACTER FROM STDAUX
Int 21/AH=04h - DOS 1+ - WRITE CHARACTER TO STDAUX
Int 21/AH=05h - DOS 1+ - WRITE CHARACTER TO PRINTER
Int 21/AH=06h - DOS 1+ - DIRECT CONSOLE OUTPUT
Int 21/AH=06h/DL=FFh - DOS 1+ - DIRECT CONSOLE INPUT
Int 21/AH=07h - DOS 1+ - DIRECT CHARACTER INPUT, WITHOUT ECHO
Int 21/AH=08h - DOS 1+ - CHARACTER INPUT WITHOUT ECHO
Int 21/AH=09h - DOS 1+ - WRITE STRING TO STANDARD OUTPUT
Int 21/AH=0Ah - DOS 1+ - BUFFERED INPUT
Int 21/AX=0A00h - WCED v1.6+ - INSTALLATION CHECK
Int 21/AH=0Bh - DOS 1+ - GET STDIN STATUS
Int 21/AX=0B56h - VIRUS - Perfume - INSTALLATION CHECK
Int 21/AH=0Ch - DOS 1+ - FLUSH BUFFER AND READ STANDARD INPUT
Int 21/AH=0Dh - DOS 1+ - DISK RESET
Int 21/AX=0D20h - VIRUS - Crazy Imp - INSTALLATION CHECK
Int 21/AH=0Eh - DOS 1+ - SELECT DEFAULT DRIVE
Int 21/AH=0Eh/DL=ADh - Novell DOS 7 - SDRes v27.03 - INSTALLATION CHECK
Int 21/AH=0Eh/DL=AEh - Novell DOS 7 - SDRes v27.03 - CLEAR ??? FLAG
Int 21/AH=0Eh/DL=AFh - Novell DOS 7 - SDRes v27.03 - SET ??? FLAG
Int 21/AH=0Fh - DOS 1+ - OPEN FILE USING FCB


Каждая функция выполняет, свою функцию, это видно по названиям. Номер функции - или что мы хотим от системы указывается в регистре AH, у некоторых функций есть ещё дополнительные подфункции - регистр AL, а некоторые прерывания вообще не имеют функций.

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

mishgan
Х Заблокирован

ID: 402222

# 7

= общий = | 11.08.2018, 13:44 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

то есть получется для COM и только ком файлов всегда ставится в начале 100h смещениие которое заносится cs : ip регистры и тем самым это смещение вносит в ком программу дополнительную информаию системы которая не отображается?)))

насчет сообщения администраторам пардоньте не знал smile smile
насчет функции ah9 что он работает только вместе с прерыванием?)

Удалён неправильно использованный тег цитирования.
--------

• Отредактировал: Гордиенко Андрей Владимирович (Модератор)
• Дата редактирования: 11.08.2018, 13:46

Зенченко Константин Николаевич
Модератор

ID: 31795

# 8

 +1 
 
= общий = | 11.08.2018, 14:46 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

Когда набираете сообщение, над полем ввода есть надпись "КОМУ", и выпадающий список именно в нем Вы выбираете адресата своего сообщения.


1)если объяснять на пальцах - да.
2)Я Вам давал ссылку, на список прерываний Ральфа Брауна. Посмотрите на описание самих функций.
написав в АН - номер функции, подразумевается, что регистры с которыми эта функция будет работать заполнены нужной информацией. Возьмем другую функцию:

© Цитата:
Int 21/AH=3Fh
DOS 2+ - READ - READ FROM FILE OR DEVICE
AH = 3Fh - номер функции
BX = file handle - указатель на открытое устройство или файл
CX = number of bytes to read - количество байт, которое нужно прочитать
DS:DX -> buffer for data - буфер, куда нужно поместить прочитанные байты

Когда Вы вызываете прерывание, функция считает, что в регистрах правильные значения и работает с ними.
Если по каким либо причинам выполнить функцию не возможно, возвращается флаг CF - потом можно с помощью другой функции получить описание самой ошибки.

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

mishgan
Х Заблокирован

ID: 402222

# 9

= общий = | 11.08.2018, 15:33 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

почему регистры ax bx cx dx разделены на h и l? для чего это нужно и былосделано

mishgan
Х Заблокирован

ID: 402222

# 10

= общий = | 11.08.2018, 15:34 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Лысков Игорь Витальевич:

почему не cs?

Зенченко Константин Николаевич
Модератор

ID: 31795

# 11

 +1 
 
= общий = | 11.08.2018, 16:55 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

© Цитата: mishgan
почему регистры ax bx cx dx разделены на h и l? для чего это нужно и было сделано

Ну это вопрос больше не ко мне а к разработчикам, я могу только догадываться, что это было сделано ради совместимости с предыдущими 8-и битными процессорами(первые выпуски х86 были совместимы с i8080, 580 и z80). Но потом о совместимости забыли, т.к. появилось ПО под чистый х86.

© Цитата: mishgan
почему не cs?

У каждого сегментного регистра свое назначение (CODE, DATA, EXTRA, STACK), т.е. CS - CodeSegment и так далее.

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

mishgan
Х Заблокирован

ID: 402222

# 12

= общий = | 11.08.2018, 17:48 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

почему тогда мы заносим функию в старший бит? это обязательно или нет? в прошлом вопросе был вопрос по поводу если мы внесем дполнительно в регистр cs нашу программу ведь это сегментный регистр мы же можем для программы использовать не ds a cs? ведь программа заносится в формате ком во все регистры сегментов а значит для самой прграммы мы можем не дс а цс использовать так ведь?

mishgan
Х Заблокирован

ID: 402222

# 13

= общий = | 11.08.2018, 20:13 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

Допустим, нам необходимо написать программу, которая выводит на экран со-общение "Нажмите любую клавишу...", ждет нажатия клавиши, а затем выводит еще одно сообщение: "Вы успешно нажали клавишу!", ждет, пока пользователь нажмет любую клавишу, после чего завершает свою работу
...
(01) mov dx,offset Mess1
(02) call Out_string
(03) call Wait_key
(04) mov dx,offset Mess2
(05) call Out_string
(06) call Wait_key
(07) int 20h
...
(08) Out_string proc
(09) mov ah,9
(10) int 21h
(11) ret
(12) Out_string endp
(13) Wait_key proc
(14) mov ah,10h
(15) int 16h
(16) ret
(17) Wait_key endp
...
(18) Mess1 db 'Нажмите любую клавишу...$'
(19) Mess2 db 'Вы успешно нажали клавишу!$
почему так получается?

mishgan
Х Заблокирован

ID: 402222

# 14

= общий = | 11.08.2018, 20:16 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

мы вызываем проедуру вывода строки чтоб нажать и вторую они ведь должны разделены быть, почему в процедуре обе команды сразу?

Зенченко Константин Николаевич
Модератор

ID: 31795

# 15

 +1 
 
= общий = | 11.08.2018, 23:00 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

Посмотрю завтра, сейчас слегка устал.
smile

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

mishgan
Х Заблокирован

ID: 402222

# 16

= общий = | 11.08.2018, 23:07 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

smile smile это правильно,спасибо smile а Андрей Владимирович тоже устал?))) smile

mishgan
Х Заблокирован

ID: 402222

# 17

= общий = | 12.08.2018, 10:29 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

ну как посмотрели?

Зенченко Константин Николаевич
Модератор

ID: 31795

# 18

 +1 
 
= общий = | 12.08.2018, 11:28 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

© Цитата: mishgan
почему тогда мы заносим функию в старший бит? это обязательно или нет?

Обязательно, так написаны функции прерывания, в АН номер функции, в остальных регистрах информация нужная для работы самой функции.
© Цитата: mishgan
был вопрос по поводу если мы внесем дполнительно в регистр cs нашу программу ведь это сегментный регистр мы же можем для программы использовать не ds a cs?

Сегментные регистры, это особые регистры и работать с ними как с обычными не получится. К примеру с ними нельзя выполнить сложение, т.е. команда ADD ds,ax просто не компилируется, но регистр CS самый особенный, если к остальным сегментным регистрам можно применять команды MOV, PUSH, POP, то к CS только PUSH. Его можно менять только командами CALL FAR, JMP FAR и RETF.

Сперва нужно рассмотреть два момента:
как вычисляется физический адрес и полную запись любой команды, то как её понимает процессор:
1:
к примеру есть некоторый адрес в сегменте 1234h и сегментный регистр = 5678h
-1234fадрес в сегменте
5678-сегментный регистр
579В4физический адрес

Легко заметить, что число 79В, можно получить несколькими способами и все они будут адресовать одну ячейку памяти.

2:
MOV [сегментный регистр][адрес в памяти или регистр] , [число или регистр]
[сегментный регистр] - если в команде при упрощенной записи не указан сегментный регистр, то по умолчанию используется DS, но там может быть указан один из CS, DS, ES и SS. И тогда вычисление физического адреса будет происходить относительно значения указанного сегментного регистра.


© Цитата: mishgan
мы вызываем проедуру вывода строки чтоб нажать и вторую они ведь должны разделены быть, почему в процедуре обе команды сразу?

Код (Assembler) :: выделить код
mov dx,offset Mess1
	call Out_string
	call Wait_key
	mov dx,offset Mess2
	call Out_string
	call Wait_key
	int 20h
...
Out_string proc
	mov ah,9
	int 21h
	ret
Out_string endp
Wait_key proc
	mov ah,10h
	int 16h
	ret
Wait_key endp

Ну при этой организации программы можно легко убрать оба call Wait_key и Out_string:ret и программа будет работать.
Если Вы об этом:
Код (Assembler) :: выделить код
call Out_string
call Wait_key

то сперва будет вызвана подпрограмма Out_string, выполнится весь код между Out_string proc - Out_string endp, команда RET вернет в основную программу, и только потом будет вызвана подпрограмма Wait_key.

Если Вы о том, что они записаны рядом
Код (Assembler) :: выделить код
Out_string endp
Wait_key proc

Ну так получилось, можете их поменять местами или между ними, что нить записать к примеру строчки сообщенний

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

• Отредактировал: Зенченко Константин Николаевич (Модератор)
• Дата редактирования: 12.08.2018, 11:31

mishgan
Х Заблокирован

ID: 402222

# 19

= общий = | 12.08.2018, 11:37 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:


почему тогда мы заносим функию в старший бит? это обязательно или нет?

Обязательно, так написаны функции прерывания, в АН номер функции, в остальных регистрах информация нужная для работы самой функции.
то ессть мы всегда помещаем все функции только в АН? а нельзя поместить просто в ax? не выбира старший или младший

Зенченко Константин Николаевич
Модератор

ID: 31795

# 20

 +1 
 
= общий = | 12.08.2018, 12:06 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

Туда помещают номер функции. Если ВЫ посмотрите другие прерывания Ральфа Брауна, то увидите, что почти все они построены по одному принципу:

© Цитата:
Int 10 - CPU-generated (80286+) - COPROCESSOR ERROR
Int 10 - LIRVGA19 - CHAR HEIGHT HOOK
Int 10/AH=00h - VIDEO - SET VIDEO MODE
Int 10/AX=0070h - VIDEO - Everex Micro Enhancer EGA/Viewpoint VGA - EXTENDED MODE SET
Int 10/AX=007Eh - VIDEO - Paradise VGA, AT&T VDC600 - SET SPECIAL MODE
Int 10/AX=007Fh/BH=00h - VIDEO - Paradise VGA, AT&T VDC600 - SET VGA OPERATION
Int 10/AX=007Fh/BH=01h - VIDEO - Paradise VGA, AT&T VDC600 - SET NON-VGA OPERATION
Int 10/AX=007Fh/BH=02h - VIDEO - Paradise VGA, AT&T VDC600 - QUERY MODE STATUS
Int 10/AX=007Fh/BH=03h - VIDEO - Paradise VGA, AT&T VDC600 - LOCK CURRENT MODE
Int 10/AX=007Fh/BH=04h - VIDEO - Paradise VGA, AT&T VDC600 - ENTER MDA EMULATION MODE
Int 10/AX=007Fh/BH=05h - VIDEO - Paradise VGA, AT&T VDC600 - ENTER CGA EMULATION MODE
Int 10/AX=007Fh/BH=06h - VIDEO - Paradise VGA, AT&T VDC600 - ENTER MONOCHROME VGA MODE
Int 10/AX=007Fh/BH=07h - VIDEO - Paradise VGA, AT&T VDC600 - ENTER COLOR VGA MODE
Int 10/AX=007Fh - VIDEO - Paradise VGA, AT&T VDC600 - EXTENDED DATA REGISTER ACCESS
Int 10/AX=007Fh/BH=60h - Paradise VGA - ???
Int 10/AX=007Fh/BH=61h - Paradise VGA - ???
Int 10/AX=007Fh/BX=A500h - Paradise VGA - ???
Int 10/AX=007Fh/BH=A5h - Paradise VGA - ???
Int 10/AX=007Fh/BH=A6h - Paradise VGA - ???
Int 10/AH=01h - VIDEO - SET TEXT-MODE CURSOR SHAPE
Int 10/AH=02h - VIDEO - SET CURSOR POSITION
Int 10/AH=03h - VIDEO - GET CURSOR POSITION AND SIZE
Int 10/AH=04h - VIDEO - READ LIGHT PEN POSITION (except VGA)
Int 10/AH=04h - HUNTER 16 - GET CURSOR ADDRESS
Int 10/AH=05h - VIDEO - SELECT ACTIVE DISPLAY PAGE
Int 10/AX=0500h - VIDEO - Corona/Cordata BIOS v4.10+ - SET GRAPHICS BITMAP BUFFER
Int 10/AX=050Fh - VIDEO - Corona/Cordata BIOS v4.10+ - GET GRAPHICS BITMAP BUFFER
Int 10/AX=0580h - VIDEO - PCjr, Tandy 1000 - GET CRT/CPU PAGE REGISTERS
Int 10/AH=05h - VIDEO - PCjr, Tandy 1000 - SET CRT/CPU PAGE REGISTERS
Int 10/AH=06h - VIDEO - SCROLL UP WINDOW
Int 10/AH=07h - VIDEO - SCROLL DOWN WINDOW
Int 10/AH=08h - VIDEO - READ CHARACTER AND ATTRIBUTE AT CURSOR POSITION
Int 10/AH=09h - VIDEO - WRITE CHARACTER AND ATTRIBUTE AT CURSOR POSITION
Int 10/AH=0Ah - VIDEO - WRITE CHARACTER ONLY AT CURSOR POSITION

© Цитата:
Int 16/AH=00h - KEYBOARD - GET KEYSTROKE
Int 16/AH=01h - KEYBOARD - CHECK FOR KEYSTROKE
Int 16/AH=02h - KEYBOARD - GET SHIFT FLAGS
Int 16/AH=03h - KEYBOARD - SET TYPEMATIC RATE AND DELAY
Int 16/AH=04h - KEYBOARD - SET KEYCLICK (PCjr only)
Int 16/AH=04h - Tandy 2000 - KEYBOARD - FLUSH KEYBOARD BUFFER
Int 16/AH=04h - K3PLUS v6.22+ - SET KEYCLICK
Int 16/AH=05h - KEYBOARD - STORE KEYSTROKE IN KEYBOARD BUFFER (AT/PS w enh keybd only)
Int 16/AH=05h - KEYBOARD - SELECT KEYBOARD LAYOUT (PCjr only)
Int 16/AH=05h - Tandy 2000 - KEYBOARD - RESET KEYBOARD
Int 16/AX=0600h - AAKEYS - GET NEXT KEYBOARD EVENT
Int 16/AX=0601h - AAKEYS - EMPTY KEY-EVENT BUFFER
Int 16/AX=0602h - AAKEYS - DISABLE AAKEYS
Int 16/AX=0603h - AAKEYS - GET KEY-EVENT BUFFER
Int 16/AX=0604h - AAKEYS - EMPTY BIOS KEYBOARD BUFFER
Int 16/AH=09h - KEYBOARD - GET KEYBOARD FUNCTIONALITY

Номер функции в АН, если нужно подфункция в AL

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

mishgan
Х Заблокирован

ID: 402222

# 21

= общий = | 12.08.2018, 12:25 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

а почему некоторые ax? smile размер? то есть получается либо ah либо ax?

• Отредактировал: mishgan (Х Заблокирован)
• Дата редактирования: 12.08.2018, 12:26

Зенченко Константин Николаевич
Модератор

ID: 31795

# 22

 +1 
 
= общий = | 12.08.2018, 12:54 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

Код (Assembler) :: выделить код
B4 12			     mov     ah,12h
B0 34			     mov     al,34h
B8 1234			     mov     ax,1234h

Байты считайте, запись одинаковая, третья команда заносит в AH=12h и AL=34h, но 4-е байта против 3-х.
smile

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

mishgan
Х Заблокирован

ID: 402222

# 23

= общий = | 12.08.2018, 13:34 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

то есть получается старшие цифры поэтому в старший бит? smile но ведь у нас идет с права на лево ведь

• Отредактировал: mishgan (Х Заблокирован)
• Дата редактирования: 12.08.2018, 13:40

Зенченко Константин Николаевич
Модератор

ID: 31795

# 24

 +1 
 
= общий = | 12.08.2018, 14:04 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

© Цитата: mishgan
но ведь у нас идет с права на лево ведь

smile
Это в памяти они хранятся с право налево

а когда код обрабатывает дизассемблер или компилятор создает листинг, то они записываются в правильном порядке.

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

mishgan
Х Заблокирован

ID: 402222

# 25

= общий = | 12.08.2018, 14:18 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

© Цитата: Зенченко Константин Николаевич
Байты считайте, запись одинаковая, третья команда заносит в AH=12h и AL=34h, но 4-е байта против 3-х.



как понять 4 против ??)) smile

где тут 4 байта и где 3? это в4? но ведь это тут причем? биты в регистраx делятся пополам же в старше запсыается старшая группа битов и все

• Отредактировал: mishgan (Х Заблокирован)
• Дата редактирования: 12.08.2018, 14:42

Зенченко Константин Николаевич
Модератор

ID: 31795

# 26

 +1 
 
= общий = | 12.08.2018, 14:48 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

Вы издеваетесь?
В8 34 12(mov ax,1234h)-3-и байта
B4 12(mov ah,12h)+ B0 34(mov al,34h)=4-е байта

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

mishgan
Х Заблокирован

ID: 402222

# 27

= общий = | 12.08.2018, 14:50 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

я новичек, как это 3+4 = 4 байта не понял??

тоесть 34 бита делим на 8?

• Отредактировал: mishgan (Х Заблокирован)
• Дата редактирования: 12.08.2018, 14:52

mishgan
Х Заблокирован

ID: 402222

# 28

= общий = | 12.08.2018, 14:52 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

ну и что с тог что там больше байтов то??

mishgan
Х Заблокирован

ID: 402222

# 29

= общий = | 12.08.2018, 15:02 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

не понял как тут вы байты подсчитали smile

Зенченко Константин Николаевич
Модератор

ID: 31795

# 30

 +1 
 
= общий = | 12.08.2018, 15:35 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: mishgan
ну и что с тог что там больше байтов то??

Мне не хватало байта. Всего одного. Да, да. Того самого, что из восьми бит состоит. Что? Hет, я не псих, хотя одному богу известно, сколь тонкой была граница отделявшая меня от этого состояния. Hо все по порядку.

Я программер. Hо не просто программер. Я принадлежу к касте, которую иногда называют системщиками, иногда кристальщиками. Вы знаете, что это такое? Я обьясню, если потерпите. Мне никак не обойтись без специфики, но иначе вы не сможете понять дальнейшее."

Мы программируем чипы однокристаллки, грубо говоря, это когда весь комп в одном кристалле. Програмная память и память данных разделены и не взаимодействуют между собой. Программа не может быть запущена в оперативке. Глубина програмного стека ограничена. Максимум на что я могу расчитывать, это восемь уровней вложения, причем я не могу изменять предельную глубину стека. О, вы не подумайте чего! У меня бездна ресурсов. Оперативки аж 128 байт! Это на все про все. Переменные, там то да се… Представили, да? С программной памятью тоже неплохо. Аж восемь килобайт. И пользоваться ей совсем несложно. Сначала нужно программно врубить нужный банк памяти, запустить в нем нужную процедуру, а по выходе из нее не забыть вернуться где был. Да еще надо иметь в виду, что в пределах банка я могу пермещаться только джампами и вызовами процедур, а переходы по условиям возможны только в пределах одной страницы, т.е. 256 байт. Это значит, если я сравниваю два байта и надо ветвиться, но если метка не находится в пределах 256 байт, то это письмо на деревню дедушке, причем компилятор только в половине случаев предупредит, мол широко шагаешь парень, штаны бы поберег. И это только цветочки! Ягодки я вам счас выложу, чтоб вы ими в полной мере могли насладиться.

У меня нет команды вычитания. Вообще! только add. Уж про такую роскошь, как умножение или деление я вообще молчу, это для лентяев. Зато мне нужно обеспечить десятичную математику. Вы проникаетесь потихоньку? Коды таких игрушек вылизываются так, что вам и не снилось, особенно если приходиться решать задачи на пределе оперативной и програмной памяти. Исходники переписываются далеко не один раз. Мне мало просто решить задачу. Я должен впихнуть ее в этот чертов кристалл! Ограничение по переменным, по размеру кода в целом, по размеру каждой процедуры и по числу вызовов. Малейший недосмотр и… стек продавлен, и тебя вышвыривает черт знает куда. И компилятор не поможет. Такое он не ловит… Вы думаете это все? smile H-е-ет, дорогие мои. Моя игрушка работает в реалтайме… Это когда, напротив каждой крохотной процедурки моего кода нужно подсчитать и проставить время ее исполнения в милисекундах. Мои модули не должны работать более жестко фиксированного времени, потому, что мне надо еще сканировать киборду и дисплей, поспевать за датчиками и выдавать управляющие сигналы, а все остальное должно работать никак не мешая сканнингу, иначе я прозеваю нажание кнопки или дисплей станет неприятно мерцать меняя яркость.

Hо и это еще не все! У меня есть интерфейс. Обычный писишный RS232C, так называемый компорт. Hо если вы думаете, что это отдельный чип, мол сунул ему байт, принял из буфера байт, то вы заблуждаетесь. Себестоимость. Я все это делаю ручками, телипая единственный бит порта. Ручками кручу диаграмму стартов, стопов и данных. Итак:

Если я накатал код решающий задание, но он не влезает в память — задача не решена. Если при этом я создал большее число переменных и они не помещяются в оперативку — задача не решена. Если все оки-доки, но процедуры слишком длинны, разрушается диаграмма реалтайма — задача не решена. Если процедур слишком коротки, их много, исчерпывается стек — задача не решена. Любой средней руки программер, поставь его в подобные условия, застрелится на второй день. Вообще, по моему убеждению, парни работающие в этой области имеют стальные нервы и неукротимую волю к победе. Мы редко общаемся с обычными программерами — нам в общем не чем разговаривать.

И не потому, что мы снобы или гордецы. Совсем необязательно. Hам трудно представить себе программирование под неисчерпаемыми ресурсами на языках высокого уровня. Мало винта? Купи другой, в чем проблема? Мало рамы? Купи еще, торкни в слот. Меги кодов? А я причем? Это компилятор виноват. Купите машину побольше. Это как разные планеты и я надеюсь, вы поняли почему. Это как красивый белый океанский круизер в бескрайних океанских просторах, плыви куда хочешь. А вы попробуйте на нем в финских шхерах порулить. smile Или вдевать нитку в иголку среди ночи. Причем, _черную_ нитку.

Конечно мы тоже имеем наборы кристаллов и выбираем их перед разработкой с большей дотошностью, чем жених невесту и гадаем на кофейной гуще и прочих подручных средствах, а хватит ли? Hо если выбор сделан… Hазад ходу, как правило нет.

Hу что ж. Я ввел вас в предметную область и могу продолжить свой рассказ.

Кристалл не понравился мне сразу. Я сразу понял — тесноват. Все на пределе. Законных 20% запаса по ресурсу, на возможные ошибки — не соблюсти. Однако остальные кандидаты были сильно избыточны и потому дороги и нерациональны. Себестоимость решила все, я наконец выдал свое согласие и мощные и гордые красавцы интели и мотороллы последних моделей остались за бортом.

Поначалу все шло как надо. Пару месяцев работы и кристаллы были нафаршированы кодом, испытания прошли нормально, платы разведены и отработаны, медленно провернулись шестерни и набирая ход закрутились, приводя в действие сложную и громоздкую машину производства. И только у меня изредка екало сердечко, ведь все сделано впритирку! Три от силы пять процентов ресурсов осталось свободными. А это чертовски мало, поверьте мне на слово. Хотя работа была сделана весьма неплохо и я получил свое законное вознаграждение в виде порции удовольствия от сделанного. Конечно, пара мест довольно авантюрно, местами рыхловато, но зато и несколько изюминок получилось.

И тут… Тут все и началось. Hедостает очень важной функции прибора, которую проморгали постановщики. Причем даже не они, а заказчик. Это он вдруг вспомнил, что вот, мол ребята, тут еще вот такая мелочь должна быть. Hу сущая ерунда, чесслово, но без нее никак. Hу забыли при постановке про нее, с кем не бывает? Hо это ж несложно совсем добавить, по сравнению с остальными вашими наворотами? Опять же, слава богу, что не датчик забыли. Это всего лишь программа!

Эти постановщики!!! Их карма понять, что надо заказчику! Даже если для этого надо распилить ему черепушку и просеять через сито все ее содержимое!

Hо криком делу не поможешь. И я на две недели засел дома, запретив меня беспокоить. В мозгу завелись маленькая сирена и светофорчик. Биип! Вспышка красного! Первый программый банк исчерпан! Репакинг. Оптимизация размещения кода по страницам и банкам памяти. Биип! Оперативная память исчерпана! Пересмотр функциональности процедур. Эту переменную нафиг. И без этих можно обойтись, если тут по другому пути пойти. Биип! Провал стека! Прям мордой в дно. Как это!? Я уже на восьмом уровне!? Биип! Выход меток за пределы видимости внутристраничных переходов! Биип! Hарушение условий реалтайма, процедуры жрут слишком много времени! Биип! Исчерпан второй банк памяти!

И так много, много раз. Кропотливо, байт за байтом я вдвигал тело этой проклятой новой функции, непрерывно перепаковывая размещение кода по страницам, банкам, оптимизируя размер кода, график реалтайма, использование оперативной памяти, а то и попросту переписывая модули с нуля.

Может вы думаете, восемь килограм бинарного кода это мало? Ха! Инструкции то одно и двухбайтовые. Это вам не трехбайтовый зайлог или даже интеловский
восьмидесятник. Временами ко мне забегал приятель, как мол и что, но я был мало расположен к трепу «за жизнь».

Через полторы недели я понял, что дело худо. Я располагал более чем полудюжиной решений и уже стоял на месте. Я знал каждую процедуру и фунцкию наизусть, а каждый байт в лицо! Все было впустую. Картинка замерла… Она не хотела оживать! Мне не хватало одного байта. Это показывали все варианты решений. Всего _одного байта_!

Забежав к другу, я сбросил ему все варианты решений с временными диаграммами и планами банков и вновь вернулся в свою берлогу. Спать. Во что бы то ни стало — спать. Hужна ясная голова. Hужна новая идея. Я опустошен. Следующие несколько дней не дали _ничего_. Я собирал и разбирал код, нанизывая его как сверкающие бусины и упаковывал его в разнообразной формы фигурки, пытаясь найти форму в которой все эти элементы головоломки сложаться в одно целое без единого зазора и также без зазора войдут в заготовленное для них место. Места не хватало… Одного байта… Я мял код, как глину, я выделывал с ним все что угодно, но… один, всего _один_ байт! Hаверное нечто похожее испытывает музыкант написав симфонию, пытаясь найти одну единственную ноту, что бы заставить звучать свое произведение. Или художник ищет тот самый, неповторимый мазок, который оживит картину. А без этого все мертво и весь труд годится только на помойку…

Как то в полусне я оделся и вышел на улицу. Под ногами мерзко визжал снег. Кругом все было серо и как то тускло. Мне больше не нужен был ни комьютер, ни распечатки. Вся схема была во мне… Или вне меня? Она помигивала разноцветными просверками имея форму причудливых и чем то даже красивых трехмерных фигур или это какие-то ажурные конструкции? Тоненько попискивали контрольные маркеры временных отметок висящие впритирку к этим кристаллам странных, каких-то завораживающих форм. И все это летело куда то перемещаясь и вращаясь, в каком то странно меняющем форму канале? Трубе? Оно проноситься вплотную ко всем его стенкам, как по команде невидимого штурмана в нужный момент разворачиваясь по непонятно какому наитию, что бы выступающая грань не зацепилась за препятствие. Hо каков его капитан или кто там? Штурман? Ведь не пройдет же! Там нельзя пройти! Hо нет! Чудесным образом все сооружение как то грациозно изворачивается, ровно в нужное мгновенье и беззвучно проскакивает… нет! Величаво минует препятсвие… А впереди следующее… И вдруг, край ажурного сооружения своим крохотным выступом цепляется. Визг и грохот! Лопаются и сминаются сверкающие нити и все дробится на миллионы осколков…

Господи! Это же стек! Оно обходит стек! Вот значит, как это выглядит! Когда я исчерпываю глубину, она видимо с треском цепляется и разрушается, ломая свои ажурные конструкции…

В каком то месте я замечаю скамейку с какой-то одинокой старушкой на ней. Мне нужно тоже посидеть… Hапротив стоит продавщица цветов, приплясывая от холода. Hе люблю старух… И эта… Какая-то неприятная, чуть не мерзкая. Hу что она уставилась на меня? Кто она? Чего сидит здесь? Hебось от нечего делать. Это они вечно толпятся в магазине и из-за них ничего не успеваешь купить. И визжат в троллейбусе, что б им уступили место. Hебось смотрит эти идиотские новомодные сериалы, как их там? Мария? И еще кто там плачет?
Да что они все понимают!? Кто это может понять, сколько знаний и труда надо что бы выстроить _такое_? Сколько бессонных ночей надо провести? Сколько читать? Причем ежедневно и вовсе не идиотский роман о любви и дружбе?

Да кто вообще в состоянии это понять!? Эти новоявленные пижоны, называющие себя программистами? Коряво пишущими на фокспрах, клипперах и бейсиках? И везде задающих вопросы: а скажите, какую команду мне надо набрать? А какой хелп почитать? А когда мануал на русский переведут? А этот их, так называемый «софт»? Великие стотысячевариантные вечноживые склады и бухгалтерии? Hетленные творения. Все на одно лицо. Если там и есть различия, так в корявости и глючности кода. Глюк на глюке сидит и багом погоняет…
Вот заставить бы их высекать их коды в камне, как древние камнетесы, что б хоть немного задумались о том, чего пишут… Или эти технокрысы? Это ж надо, вирусы писать, что б значит гадостью людям сделанной прославиться! Тьфу!

Hет. Hе хочу я сидеть на этой скамейке, в компании с этой… Куда же я шел? Вспомнил. К другу я иду. Может подскажет чего? Проклятый байт! Чего я взьелся то так? Все своим делом занимаются, с чего бы худшим чем я? Талантливых людей хватает везде. Что-то сильно меня видать припекло…

Приятель открыв дверь, молча смотрит на меня. «Hу?» «Что ну?» «Скажи мне только одно» мрачно говорю я, проходя в квартиру. «Ты можешь дать мне один байт? Всего один. Я готов отдать тебе за него все что угодно. Мне байта не хватает, понимаешь? Hу не влезаю я в кристалл!» Друг какое-то время молчит. «Я смотрел твои коды.» «И что? Hашел, что нибудь?»
«Hет.» тихо говорит он и помолчав продолжил: «Безукоризненно связанное кружево. Hи единой петли. Стыков не видно. Филигранная работа. Штучная. Прям лепота. Hа каждую строчку можно поставить знак качества. И высечь в мраморе. И однородно все, ни уплотнений, ни пустот. Монолит, но элластичный. Hо..» «Что 'но'?.. Да не тяни ты кота за хвост! Hе мотай душу! И без тебя тошно!» взрываюсь я. «Большинство мест я не могу понять… Hе понимаю… Только вижу, как это… красиво. Hеосязаемо как-то. Hе ухватить сознанием…

Вроде вот вот, но оно улетает… Это как снежинка, когда пытаешься взять ее в руку. Или как звуки еще непонятой, но уже осознаваемой музыки..» «Что за чушь ты несешь!? Какая к черту снежинка?! Какая музыка!? Ты можешь мне помочь или нет!?» грохочу я. «Ты же друг мне. Помоги, а? Ты только скажи, куда мне втиснуть этот байт..» я с надеждой смотрю на него. «Ведь свежий, незамыленый глаз. Ведь один, _всего один_ оператор, без которого можно обойтись и все! ВСЕ! Проблема решена, понимаешь? И я тебе по гроб жизни… навсегда..»
шепчу я ухватив его за рукав, «Ведь там же до черта строк, а я же просто человек, ошибся, пропустил, не заметил… а? А мне ничего не надо. Hи славы, ни похвал. Я только хочу, что б оно улетело… Что б отпустило меня… а? Hу нет у меня сил больше. Hу пойдем, давай ты еще коды посмотришь..»

«Откажись», говорит он. «Отказаться? От чего?» не понимаю я. «Возьми другой кристалл». «Ты сошел с ума!!?? Как это — _другой_!!?? Кучи наделанных плат, монтажники, наладчики, зарплаты, детали!? Это что, шуточки!!?? Ты думаешь это на компе, хочу пару строк добавил и никто не заметит!!?? Затрат ноль, а добавляй хоть мегобайты кода!? А люди? Они ведь верят мне! Я ведь сказал -»Да!" Я ведь согласился, хотя и видел, что запаса ресурса почти по нулям будет! А у них уже готово все! Корпуса, металл, питание. Они ждут только кода! Ты знаешь к чему может привести смена кристалла? Ты знаешь _сколько_ будет стоить этот байт! _Один байт_!!" Я сам оглох от своего крика… «Дурак.» слово шлепком падает на землю, как тюк мокрого белья. «Отступись! Забудь! Мы с ребятами уже три дня, как смотрим эти коды. Я собрал всех кого мог. Я сразу понял, что с тобой неладное. У тебя HЕТ ошибок! Hи одной. Более того, мы не понимаем, как тебе вообще удалось _это_ запихнуть.»

Колени мои подогнулись и я то ли сел, то ли сполз на стул. Я глубине души я знал это. А потом я стал говорить… Это был странный монолог… Как будто кто-то кричал, шептал и снова орал моим голосом:

"… думал все это время. Я понял, что не так уж важен этот проект, как мерило моей ответственности. Hу не решится он, ну переделается там как то все. Черт с ним! Hе так уж это важно. Позор там мой… Дело в другом. Во мне. Ты знаешь, что я уже очень давно не раб, который делает, то что скажут, оправдывая это зарабатываем денег для семьи. Очень долгое время я наемник. Мои услуги, мои программы стоят очень дорого. Ты же знаешь, я не берусь за простые вещи. Пусть хоть озолотят. Я на себя и для _себя_ работаю. Да мне уже давно плевать на деньги! Они практически не имеют надо мной власти! Мне другое надо! И я тщательно скрываю это. Потому, что интересную задачу я готов делать бесплатно, а то еще и приплачу за нее. Ты же сам знаешь каково это!? Hу?! Ты ведь тоже не для денег это делаешь! Есть только одна вещь которую я никогда и никому не говорил. Я когда делаю — лечу… И не ври мне, что не знаешь что это! Все знают это! Только предпочитают не помнить или не верить! Тебе тоже знакомо это! Это как в детских снах. Помнишь? Мы взмываем высоко, высоко и несемся визжа от переполняющего восторга! А под нами проносятся леса, горы и моря! Ты думаешь это был сон!? Hет! И я давно понял это! Только сказать боялся. Стыдился, дурак! Hо теперь мне все равно! Это душа наша летит! По настоящему! А разум говорит, что мы спим. Понимаешь? А почему, когда мы взрослеем, перестаем летать? А!? Почему?! Почему нам перестает сниться этот сон? Hе знаешь? А я знаю! Потому, что душа наша тяжелеет, потому, что ценности, деньги, условности этого общества захватывают над нами власть и душа наша больше не в силах поднять этот груз! Как же! Мы ж прям распластываемся, что б стать ковриком о который вытрут ноги! О, какие веские причины, такие аргументированные обьяснения, почему это было необходимо именно так прогнуться и как мы это ради кого-то это делаем.

Мы врем сами себе каждый день, убеждая сами себя, что живем правильно. А я не хочу, не могу больше врать! Ты не понимаешь, как это относится к этому дьявольскому байту!? Все очень просто. Я уже давно могу летать! И работа помогает мне в этом. Да-да! В пики высшего напряжения при решении своих задач я взлетаю. Это невозможно описать! Hо я не могу лететь постоянно. Я снова опускаюсь… И так до нового кода в который надо что-то вложить. Я не знаю что. Какой то кусок себя, что ли. Hо в этот раз я попался. Меня сгубила гордыня. Hу как же! Я ведь гуру, умеющий снисходительно тыкать чайников носом и походя разрешать их проблемы! Мне так нравятся их взгляды на меня, как на божество. Ведь мы тщеславны и я не исключение.

Hо сейчас все не так! Ты думаешь проблема в этом одном байте и как его засунуть? Hет! Я не могу его запихнуть! Hо это может сделать _не я_! Понимаешь?

Решение есть! Я это чувствую! Только _я_ неспособен его найти! Для этого я должен стать другим! Hе собой! И кто-то или что-то четко поймал меня, на этот один байт!
Ты же отлично знаешь, что я умный и хитрый! Если бы задача не решалась, я бы ушел, ускользнул, сорвался с крючка! Hо я считал, что она решается и меня подсекли! Поймали на этот байт, как в сеть. И байт этот, это размер ячейки сетки через который я не могу улизнуть. Слишком далеко я зашел… И я не смогу уйти и снова быть свободным, если не изменю что-то в себе! Полностью изменить себя, понимаешь? Стать другим человеком! И тогда может быть, передо мной откроется дверь… Я не знаю куда… Я не знаю что за ней… И я не знаю, как и
что я должен сделать для этого… Да… И еще цена… Я и это понял… Я не смогу быть как прежде… Я не смогу летать больше… Все будет кончено… " Я медленно поднялся и ссутулившись пошел к двери… «Прощай..» глухо сказал я в пустоту…

-~{}~ 24.02.04 23:05:

"… Кретин!" неслось мне вслед, " Ты же сдохнешь над этой программой! Сдохнешь! Ты в зеркало на себя посмотри! Психушка для тебя — милость! Делай что нибудь! Иди к бабам, напейся вдребезги..." Hо я уже ничего не слышу. «Господи, если ты есть — помоги..» Только на улице я спохватываюсь, что забыл перчатки и шапку. А зачем они мне?
Разве это главное? А что главное? Зачем все? Кому все это нужно? Людям? Да наплевать им! Это _мне_ нужно! Лично _мне_! Я сам загнал себя в ловушку и сам же не могу из нее выбраться. Что это? Hаказание? Урок, что б впредь не задавался? Да уж, скорее так. Гонору у меня хоть отбавляй. Стоп, стоп… Как он сказал? «К бабам?»

В оффисе тепло и уютно. Калорифер. Чистенько. Жужжат компы. Папочки, стоечки. Девочки поят меня кофе, подкладывают булочки, которые я пожираю с жадностью, перемазавшись в шоколаде. Они подливают и подкладывают, сердобольно глядя на своего опустившегося коллегу. Девочки тоже программистки, чего-то там оффисное набивают, на радость кадрам и бухгалтерии. Они аккуратны, при макияжах, отлично, словом выглядят, особенно по контрасту с моей многодневной щетиной, а может уже и бородой? Я кратко и с неохотой отвечаю на вопросы, что мол меня до жизни такой довело. «Hе решается. Ассемблер. Со стеком проблемы. Байта не хватает». Одна из них, Оксана кажется ее зовут, говорит с украинским
приятно-округлым выговором: «Який такий стек? Зачем он тебе нужен? Мы с Олей, она на клиппере, я на фоксе никакого стека у нас нет. Может и тебе не надо? Вечно вы мужики себе пакость какую выдумаете. Сами же и мучаетесь, да нас мучаете, скажи Оля?»

«Что?!» Только кресло мешает мне свалиться на пол. Какой-то противный, каркающий клекот рвется из меня… «Вы пишете _без стека_!?» А вот это уже истерика… Я снова на улице. Милые, милые наши дамы. Как вы приятны в вашем неведении. И как это здорово, что вы этого не знаете. Вам и не нужно это знать. Сходить с ума от нерешенных задач, как и философских вопросов, это привилегия мужчин. Конечно бывают и исключения. Hо они скорее подтверждают правила. Если в верхнеуровневых языках дамы еще попадаются, к сям и ассемлерам практически исчезают, то в нашей области я не слышал о них вообще. И это правильно! Hечего валить на женщин еще и эти проблемы.

А ноги несут меня куда-то, мысли текут сами по себе. Мне они неинтересны, я человек конченый. Я не смогу с этим жить. Буду влачить существование, все равно кем, но уж к компьютерам этим, на пушечный выстрел не подойду, это уж точно. Поделом. Hечего было строить из себя крутого. А эта моя снисходительность сноба? Мол все знаю, все мне по плечу… Мда. Доигрался… козел? Я бреду в этом абсолютно чужом для меня мире, в котором ни одна живая душа не в состоянии меня понять. Друг и тот не смог… И никому нет до меня
дела…

Hо что это? Я здесь вроде был? Цветы. Скамейка. И бабушка на ней. Как будто и не уходила. Ведь мороз же? В нерешительности я присаживаюсь на край скамейки. Ого! руки то замерзли и ухи тоже. И тут, как будто что-то толкнуло меня, я встал, подошел к продавщице цветов и на последнюю трешку, (а зачем она мне?) купил розы и подошел к бабушке. В голове у меня судорожно билась мысль: что я делаю? Зачем? Она ждала, подняв ко мне лицо. И я выдавил из себя: «Извините. Я могу подарить Вам цветы? Я… плохо подумал о Вас… тогда..»

Она нисколько не удивилась. И сказала… «Где же ты был так долго, сынок? Я замерзла ждать тебя..» !!!??? Сказать, что я удивился, значит не сказать ничего… Я был потрясен, ошеломлен, раздавлен! А она продолжала: «Тебе ведь плохо, сынок?» Она смотрела на меня с участием. В ее глазах светилась мудрость, доброта и… любовь. Вы понимаете!? Ко мне любовь… И тогда я сказал: «Да! Мне плохо. Мне очень плохо..» Я не боялся и не стыдился. Что-то как будто упало с меня, отскочив, как шелуха. И я стал рассказывать… Сбивчиво, торопясь и захлебываясь.

Я рассказывал бабушке, как я програмирую однокристальные микропроцессоры…

Она внимательно, не перебивая слушала меня. Она все понимала! Каждое мое слово! Это я видел по ее глазам. Я говорил и говорил. А она вела меня куда-то и я ел что то очень вкусное, а потом мы пили чай с каким то необыкновенным вареньем, на крохотной, но такой уютной кухне. Hаверное это была очень странная картина. Полусумасшедший програмист и
старушка, его внимательно слушающая… А потом говорила она. Я не помню о чем. Я только помню, что это было очень важное и нужное мне, что я черпал из этой кладези мудрости, которую можно обрести только потеряв столь много, но обретя любовь…

И вдруг… Снова стала разворачиваться внутри меня странная, невесомая и в то же время прочная конструкция. Она разворачивалась мощно и грациозно, окруженная великолепием огней. Каждая ее грань, каждый элемент были совершенны и неповторимы! И легонько вибрируя она порождала музыку. И все это вместе наполняло меня необычайным трепетом и восторгом! Это я! Я создал ее! Это мной отшлифованы все ее грани! Hу почему этого никто не видит!? Hу посмотрите же! Разделите со мной мое счастье! Теперь я не боялся. Я _знал_, что она полетит! И она поможет и мне оторваться от земли. С ней и я полечу к звездам!



И я снова шел по улице. Hо совсем по другой. А точнее просто в другом мире. Потому что этот был прекрасен! Снег брызгал разночветными искрами тысяч неповторимых красок и такой неповторимой музыкой звучал под ногами. Это как будто ваш старенький компьютер с CGA монитором, вдруг стал показывать миллионы цветов. Впрочем, что за чушь я несу? Это много, много лучше.

Создавайте свои корабли. И пусть они путешествуют в необычайных мирах. Я был неправ. Каждый из нас может путешествовать и жить в этих мирах. И это неважно, как и где вы их создаете. Мы создаем программы в той же мере, в какой они создают нас. И настоящие программы создают не хитростью и для этого мало разума знаний и смекалки. Они должны пройти через сердце, потому, что являются порождением нашей любви.

Потому, что программы которые мы создаем, чистый продукт творчества. Именно поэтому они столь привлекательны. Hе нужно ни молотка, ни зубила, ни кистей и красок, что бы выразить в ней главное — _себя_! И это неважно, что может быть понять красоту ваших кодов сможет не так уж и много людей. Если написав свою программу мы стали лучше, то это правильная и хорошая программа! Hо если вы думаете, что нужно меньше труда, то вы ошибаетесь. И если вы не готовы, или не хотите в своем творении оставить часть своей души и любви, не готовы к тому чтоб изменить себя, то лучше… не пишите программ. Поищите себя в чем нибудь другом…


© Цитата: mishgan
не понял как тут вы байты подсчитали


зеленым байты, красным соответствие мнемонике, желтым сама мнемоника команд

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

mishgan
Х Заблокирован

ID: 402222

# 31

= общий = | 12.08.2018, 16:09 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

А я скромный гуманитарий, все как у каждого отучился пошел в армию, пришел работал в оhране, посмотрел даже фильм бодигард все грезил стать бодигардом, пытался пару лет не получалось, да и потом разочаровался в этой профессии, потом лежал на печи ел куличи кк Иванушка дурачок из сказки, да вся моя жизнь это череда совпадений как по щучьему велению жизнь меня направляла. И так дома на кровати пролежал года 3, не знал чем заняться и вдруг в один момент на меня упала мысль а почему люди с травмами и инвалды не могут встать, значит им надо помочь, затем решил сам правда я же не инженер не гений, обычный гуманитарий... увидел что есть такое понятие как экзоскелет и видя что это люям не доступно решил сам этим заняться только я же полный 0 в этом никогда не занимался ничем подобным. Ведь тут нужны знания в прграммировании электронике меhанике а я же полный 0 без палочки. Мне все говорили у тебя не получится ты полный 0, но я твердо решил помогать людям, мечтаю открыть кб, ведь все наши ученые Туполев Королев Макеев и другие начинали на лавочкаh, даже пробывал в контакте на форумаh собирать команду но к сожалению они всегда распадались так как я же обычный не богаты человек да и потом это все решил делать не ради денег. Меня часто бросали и я решил сам научится раз нито не помогает. И правда никогда не занимался программированием в свои 33 года решил поступить в магистратуру на программиста, а пока еще учеба не началась решил изучить асемблер, согласен мне гуманитарию это сложно но это не значит не возможно. А так как я такой творческий человек по натуре то если что то делаю то делаю это от души. Не смотря на то что меня постоянно осмеивали что я такой фантаст и решил делать то что очень сложно я буду это делать, пуст трудно но как говорится Терпению и труд все перетрут smile

mishgan
Х Заблокирован

ID: 402222

# 32

= общий = | 12.08.2018, 16:10 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

Вы молодец! так держать! Если зеленые байты то там 12 байт же а в другом подсегменте 34? Где же тут 3 и 4 байта то? разбирал переводы из р азныh числовыh систем по сути тут байты же

Зенченко Константин Николаевич
Модератор

ID: 31795

# 33

 +1 
 
= общий = | 12.08.2018, 17:21 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

© Цитата: mishgan
Если зеленые байты то там 12 байт

1-В4, 2-12, 3-В0, 4-34, итого 4-е байта на две команды ассемблера;
5-В8, 6-34, 7-12, итого 3-и байта на команду ассемблера.

Как Вы насчитали 12-ть байт smile smile

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

mishgan
Х Заблокирован

ID: 402222

# 34

= общий = | 12.08.2018, 21:16 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

возьмем для точности 1 строку

© Цитата: Зенченко Константин Николаевич
1-В4, 2-12, 3-В0, 4-34, итого 4-е байта на две команды ассемблера;


1-в4 это что 1 байт??? или 2-12 и это 1 байт??? а как высчитали? по какой такой системе счислени??? я знаю 16 ричную 10чную 2 ичную и так по какой же??? smile


добро ночи и до завтра smile

• Отредактировал: mishgan (Х Заблокирован)
• Дата редактирования: 12.08.2018, 21:19

Зенченко Константин Николаевич
Модератор

ID: 31795

# 35

 +1 
 
= общий = | 12.08.2018, 21:44 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

Скажите, чем Вы пользуетесь?
компилятор?
отладчик?
Какая у Вас ОСь?

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

mishgan
Х Заблокирован

ID: 402222

# 36

= общий = | 12.08.2018, 21:59 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

читаю на виндоус 7 а пишу программы для тренировки на стационарном пк в мс досе))) тасм, т линк и дебагер но считаю то я в уме всегда в приницпе освоил переводы

mishgan
Х Заблокирован

ID: 402222

# 37

= общий = | 12.08.2018, 22:00 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

я так и не понял где вы увидели байты?)) smile

mishgan
Х Заблокирован

ID: 402222

# 38

= общий = | 13.08.2018, 09:32 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

доброе утро ну так что?) smile

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 39

 +1 
 
= общий = | 13.08.2018, 11:04 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

Здравствуйте!

© Цитата:
я знаю 16 ричную
Есть в этом большие сомнения...
Что такое по-вашему B4? Это и есть запись байта в 16-ричной системе счисления. Ровно один байт!
Это не 2 символа 'B' и '4', а один байт! Если записать его в 2-ричной системе, то получится 10110100B
Так понятнее? smile smile

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

mishgan
Х Заблокирован

ID: 402222

# 40

= общий = | 13.08.2018, 12:10 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Лысков Игорь Витальевич:

как это 1 байт7?? что такое в это 11 вообщето, в 16 чн системе буквами обознается то что 10 и выше если что а если мы переводим в4 в 10чную систему то мы должны 11*16/1+4*16/0

• Отредактировал: mishgan (Х Заблокирован)
• Дата редактирования: 13.08.2018, 12:11

mishgan
Х Заблокирован

ID: 402222

# 41

= общий = | 13.08.2018, 12:12 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Лысков Игорь Витальевич:

если записывать в 2 ично то мы можем посмтреть по тетрадам же и увидим сколько этот двоичный код равен битам

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 42

 +1 
 
= общий = | 13.08.2018, 12:28 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

1.

© Цитата:
мы можем посмотреть по тетрадам
Ну так посмотрите smile
2. Ответьте, в первую очередь себе:
а) что такое байт, какие числа туда помещаются?
б) сколько бит помещается в байт и сколько в одну hex-цифру, и сделайте вывод, сколько hex-цифр помещается в байт

Пока не разберетесь с этим элементарным вопросом, дальше не сдвинетесь ни с места...

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 43

= общий = | 13.08.2018, 12:36 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

И почитайте уже книжки по информатике...
Там все расписано...

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

mishgan
Х Заблокирован

ID: 402222

# 44

= общий = | 13.08.2018, 13:12 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Лысков Игорь Витальевич:

вобще пишут что макс в 1 битный регистр помещается 2 байта так как там в байте 16 бит но число 64 кбайта что за ерунда такая?? smile

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 45

 +1 
 
= общий = | 13.08.2018, 13:34 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

© Цитата:
в 1 битный регистр помещается 2 байта так как там в байте 16 бит
это Ваша интерпретация.
1) "1 битный регистр" - это как? smile Полагаю, Вы пропустили цифру 6. Т.е. читать надо:
"макс в 16 битный регистр помещается 2 байта так как там в байте 16 бит но число 64 кбайта"
2) т.е. в фразе речь идет о 2 байтном регистре
3) открою Вам страшную тайну: в байт помещается число от 0 до 255 = 28 - 1 (8 бит!!!)
И это число записывается в hex-виде в виде двух hex-цифр, каждая из которых состоит из четырех бит...

У Вас в голове ужасающая каша... Читаете и не понимаете ни на йоту, о чем идет речь.
Если не разберетесь со всем сказанным, мой Вам совет: кидайте это все - оно не для Вас.

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

• Отредактировал: Лысков Игорь Витальевич (Старший модератор)
• Дата редактирования: 13.08.2018, 13:35

Зенченко Константин Николаевич
Модератор

ID: 31795

# 46

 +1 
 
= общий = | 13.08.2018, 15:09 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

© Цитата: mishgan
я так и не понял где вы увидели байты?))

Смотрите картинку, тот же код только в режиме HEX редактора HIEW, записан по байтам. Всего 7-мь.

© Цитата: mishgan
как это 1 байт7?? что такое в это 11 вообщето, в 16 чн системе буквами обознается то что 10 и выше если что а если мы переводим в4 в 10чную систему то мы должны 11*16/1+4*16/0

© Цитата: Вики
Байт (англ. byte) (русское обозначение: байт и Б; международное: B, byte)[1] — единица хранения и обработки цифровой информации; совокупность битов, обрабатываемая компьютером одномоментно. В современных вычислительных системах байт состоит из восьми битов и, соответственно, может принимать одно из 256 (28) различных значений (состояний, кодов).

16-я запись одного байта состоит из 2-х тетрад, по 4-е бита в каждой. Т.е. получается такая запись: В*16^1+4*16^0, если посмотрите на картинку, то увидите, один выделенный байт серым квадратом.

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

-----
 Прикрепленный файл (кликните по картинке для увеличения):

mishgan
Х Заблокирован

ID: 402222

# 47

= общий = | 13.08.2018, 15:14 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Лысков Игорь Витальевич:

Применение. Шестнадцатеричный код широко применяется в низкоуровневом программировании, а также в различных компьютерных справочных документах. Популярность системы обоснована архитектурными решениями современных компьютеров: в них в качестве минимальной единицы информации установлен байт (состоящий из восьми бит) — а значение байта удобно записывать с помощью двух шестнадцатеричных цифр. Значение байта может ранжироваться с #00 до #FF (от 0 до 255 в десятичной записи) — другими словами, используя шестнадцатеричный код, можно записать любое состояние байта, при этом не остаётся «лишних» не используемых в записи цифр.


это? так вот у меня как говорил Шердок Холмс все знания в четкой последовательности и каши нет вообще smile насчет того что как преобразорвывать тетрады в цифры из разных систем( десятичные, 2 ичные 10 чные) это я знал а вот это вижу впервые, да у меня не достает знаний поэтому я и учусь и спрашиваю а насчет того что не получится у меня всегда все полуячается даже если сложно) я способный ученик smile

mishgan
Х Заблокирован

ID: 402222

# 48

= общий = | 13.08.2018, 15:17 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Зенченко Константин Николаевич
16-я запись одного байта состоит из 2-х тетрад, по 4-е бита в каждой. Т.е. получается такая запись: В*16^1+4*16^0, если посмотрите на картинку, то увидите, один выделенный байт серым квадратом.
где посмотреть?

mishgan
Х Заблокирован

ID: 402222

# 49

= общий = | 13.08.2018, 15:20 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Лысков Игорь Витальевич:

© Цитата: Лысков Игорь Витальевич
3) открою Вам страшную тайну: в байт помещается число от 0 до 255 = 28 - 1 (8 бит!!!)
И это число записывается в hex-виде в виде двух hex-цифр, каждая из которых состоит из четырех бит...



вообщето указано что в 16 битном регистре есть старший и младший байт и всего их 2 байта помещается smile

mishgan
Х Заблокирован

ID: 402222

# 50

= общий = | 13.08.2018, 15:24 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Лысков Игорь Витальевич:

Перевод из шестнадцатеричной системы в десятичную. Для совершения операции перевода из шестнадцатеричной системы в десятичную, требуется представить исходное число как сумму произведений цифр в разрядах шестнадцатеричного числа на степень основания.



Двоичная СС

шестнадцатеричная СС

0000

0

0001

1

0010

2

0011

3

0100

4

0101

5

0110

6

0111

7

1000

8

1001

9

1010

A

1011

B

1100

C

1101

D

1110

E

1111

F



Например, требуется выполнить перевод шестнадцатеричного числа A14: в нём три цифры. Используя правило, запишем его в виде суммы степеней с основанием 16:



A1416 = 10•162 + 1•161 + 4•160 = 10•256 + 1•16 + 4•1 = 2560 + 16 + 4 = 258010


здесь нигде не указано состояние байта так как перевод дается только по одной тетраде если что

Подправил индексы и степени
--------

• Отредактировал: Лысков Игорь Витальевич (Старший модератор)
• Дата редактирования: 13.08.2018, 15:31

Зенченко Константин Николаевич
Модератор

ID: 31795

# 51

 +1 
 
= общий = | 13.08.2018, 15:26 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

© Цитата: mishgan
а вот это вижу впервые,

Знакомьтесь редактор бинарного кода HIEW

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

mishgan
Х Заблокирован

ID: 402222

# 52

= общий = | 13.08.2018, 15:27 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Лысков Игорь Витальевич
Есть в этом большие сомнения...
Что такое по-вашему B4? Это и есть запись байта в 16-ричной системе счисления. Ровно один байт!
Это не 2 символа 'B' и '4', а один байт! Если записать его в 2-ричной системе, то получится 10110100B
Так понятнее?



а что бывает по байта? что эта за таблица состояния байта по 2 тетрадам, в студию плиз smile

mishgan
Х Заблокирован

ID: 402222

# 53

= общий = | 13.08.2018, 15:27 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Зенченко Константин Николаевич
Знакомьтесь редактор бинарного кода HIEW


и там есть таблица определения состония байта из 2 х тетрад?
ведь по тетрадам мы определяем число же из 2 ичной перевод в 16 ную

• Отредактировал: mishgan (Х Заблокирован)
• Дата редактирования: 13.08.2018, 15:28

Зенченко Константин Николаевич
Модератор

ID: 31795

# 54

 +1 
 
= общий = | 13.08.2018, 15:29 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: mishgan
вообщето указано что в 16 битном регистре есть старший и младший байт и всего их 2 байта помещается

Такое двух байтное значение называется СЛОВОМ

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

mishgan
Х Заблокирован

ID: 402222

# 55

= общий = | 13.08.2018, 15:33 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

© Цитата: Зенченко Константин Николаевич
16-я запись одного байта состоит из 2-х тетрад, по 4-е бита в каждой. Т.е. получается такая запись: В*16^1+4*16^0, если посмотрите на картинку, то увидите, один выделенный байт серым квадратом.


умножив мы получаем 11*16+4*1= 180/10 и где же тут бйт то??

mishgan
Х Заблокирован

ID: 402222

# 56

= общий = | 13.08.2018, 15:34 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Зенченко Константин Николаевич
Такое двух байтное значение называется СЛОВОМ

ну не словом там всего 2 буквы помешается 1 буква 1 байт
а вообще в 16 битном регистре всего 2 байта помещается же

mishgan
Х Заблокирован

ID: 402222

# 57

= общий = | 13.08.2018, 15:37 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Зенченко Константин Николаевич
Знакомьтесь редактор бинарного кода HIEW

это в обычном калькуляторе? он же просто переводит числа из 16 рично в 2 ичную это и в уме можно сделать легко вопрос в другом как определить по2 числам 16 ричной системы состояние байта?

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 58

 +1 
 
= общий = | 13.08.2018, 15:38 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

© Цитата:
где же тут байт то??
Опять за рыбу гроши smile
Вот это число 180 и представляет собой байт со значением 18010 = B416
Прочитайте еще раз примечание, которое привели:
© Цитата:
значение байта удобно записывать с помощью двух шестнадцатеричных цифр. Значение байта может ранжироваться с #00 до #FF (от 0 до 255 в десятичной записи) — другими словами, используя шестнадцатеричный код, можно записать любое состояние байта, при этом не остаётся «лишних» не используемых в записи цифр.

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 59

 +1 
 
= общий = | 13.08.2018, 15:40 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

Все же очень надеюсь, что это правда:

© Цитата:
я способный ученик
smile smile

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

mishgan
Х Заблокирован

ID: 402222

# 60

= общий = | 13.08.2018, 15:43 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Лысков Игорь Витальевич:

© Цитата: Лысков Игорь Витальевич
© Цитата:
где же тут байт то??
Опять за рыбу гроши
Вот это число 180 и представляет собой байт со значением 18010 = B416
Прочитайте еще раз примечание, которое привели:
© Цитата:
значение байта удобно записывать с помощью двух шестнадцатеричных цифр. Значение байта может ранжироваться с #00 до #FF (от 0 до 255 в десятичной записи) — другими словами, используя шестнадцатеричный код, можно записать любое состояние байта, при этом не остаётся «лишних» не используемых в записи цифр.



smile а что если бы там было число не 180 а 58 что это был бы не полный байт?)) smile

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 61

= общий = | 13.08.2018, 15:47 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

© Цитата:
что эта за таблица состояния байта по 2 тетрадам, в студию плиз
Слышали о таких таблицах, как ASCII, ANSI?
Это Вам примеры таблиц соответствия байтов с кодами от 0016 до FF16 отображаемым символам...

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 62

= общий = | 13.08.2018, 15:49 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

© Цитата:
а что если бы там было число не 180 а 58 что это был бы не полный байт?))
Байт не может быть неполным. Он всегда состоит из 8 бит.
А значение байта от 0016 до FF16

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 63

= общий = | 13.08.2018, 15:51 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

Меня Ваше невежество весьма поражает... Еще и позволяете себе смеяться...
Над кем смеетесь? Над собой смеетесь! (с) Гоголь

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

• Отредактировал: Лысков Игорь Витальевич (Старший модератор)
• Дата редактирования: 13.08.2018, 15:52

mishgan
Х Заблокирован

ID: 402222

# 64

= общий = | 13.08.2018, 15:55 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Лысков Игорь Витальевич
Слышали о таких таблицах, как ASCII, ANSI?
Это Вам примеры таблиц соответствия байтов с кодами от 0016 до FF16 отображаемым символам...

и где эти таблицы можно посмотреть? smile

mishgan
Х Заблокирован

ID: 402222

# 65

= общий = | 13.08.2018, 15:55 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Лысков Игорь Витальевич
Меня Ваше невежество весьма поражает... Еще и позволяете себе смеяться...
Над кем смеетесь? Над собой смеетесь! (с) Гоголь

плох тот человек который не умеет смеятся над собой (Петросян) smile

mishgan
Х Заблокирован

ID: 402222

# 66

= общий = | 13.08.2018, 15:56 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Лысков Игорь Витальевич
Байт не может быть неполным. Он всегда состоит из 8 бит.
А значение байта от 0016 до FF16

так получается любое число не равное нулю это байт?

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 67

 +1 
 
= общий = | 13.08.2018, 16:05 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

© Цитата:
и где эти таблицы можно посмотреть?
В Google не пробовали? smile
© Цитата:
плох тот человек который не умеет смеяться над собой
И это правильно smile
Но Вы до сих застряли на байте!!! Неужели так сложно?
Мне вот интересно, как Вы собираетесь разбираться в намного более сложных вещах?

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 68

 +1 
 
= общий = | 13.08.2018, 16:09 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

© Цитата:
так получается любое число не равное нулю это байт?
Не так!
1) нуль ничем не отличается от любого другого числа
2) не число есть байт. А число от 0 до 25510 помещается в байт
Байт - размер памяти, число - интерпретация содержимого этой ячейки памяти (причем можно считать число как беззнаковым, так и знаковым).
То же самое число (байт) можно интерпретировать как символ.
Группу из 4 байт можно интерпретировать, как 32-битное число, как вещественное число, как 4 символа.

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

• Отредактировал: Лысков Игорь Витальевич (Старший модератор)
• Дата редактирования: 13.08.2018, 16:11

Зенченко Константин Николаевич
Модератор

ID: 31795

# 69

 +1 
 
= общий = | 13.08.2018, 16:10 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

© Цитата: mishgan
и там есть таблица определения состония байта из 2 х тетрад?

И даже больше
Hiew (Hacker’s view) — это двоичный редактор от Евгения Сусликова (http://www.serje.net/sen/indexr.html), предназначенный для тех, кому иногда требуется в своей или чужой программе изменить один-два байта. Hiew позволяет просматривать файлы неограниченной длины в текстовом и шестнадцатеричном форматах либо в режиме дизассемблера. Программа также позволяет производить редактирование в шестнадцатеричном режиме и в режиме дизассемблера, имеет встроенный ассемблер, возможность создавать новые файлы, производить поиск и замену в блоке, поиск ассемблерных команд по шаблону, имеет встроенный калькулятор, небольшой шифровальщик/дешифровщик, просматривает дампы EXE-файлов и т.п.

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

Гордиенко Андрей Владимирович
Модератор

ID: 17387

# 70

= общий = | 13.08.2018, 17:15 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

Адресуйте, пожалуйста, свои сообщения конкретным адресатам, с которыми обсуждаете свои вопросы. Если Вы этого не делаете, то Ваши сообщения получаю и я, не участвующий в обсуждении.

=====
Facta loquuntur.

mishgan
Х Заблокирован

ID: 402222

# 71

= общий = | 13.08.2018, 18:09 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Лысков Игорь Витальевич
mishgan:
© Цитата:
и где эти таблицы можно посмотреть?
В Google не пробовали?
© Цитата:
плох тот человек который не умеет смеяться над собой
И это правильно
Но Вы до сих застряли на байте!!! Неужели так сложно?
Мне вот интересно, как Вы собираетесь разбираться в намного более сложных вещах?
=====

в сложных вещах я буду разбираться просто но до глубины вещей и самой сути так же как и всегда и везде я всегда был лучшим во всем smile

Гордиенко Андрей Владимирович
Модератор

ID: 17387

# 72

= общий = | 13.08.2018, 18:12 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

Я снова прошу Вас адресовать свои сообщения конкретным адресатам! Мне неинтересно их читать. smile

=====
Facta loquuntur.

mishgan
Х Заблокирован

ID: 402222

# 73

= общий = | 13.08.2018, 18:12 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Лысков Игорь Витальевич
так получается любое число не равное нулю это байт?
Не так!
1) нуль ничем не отличается от любого другого числа
2) не число есть байт. А число от 0 до 25510 помещается в байт
Байт - размер памяти, число - интерпретация содержимого этой ячейки памяти (причем можно считать число как беззнаковым, так и знаковым).
То же самое число (байт) можно интерпретировать как символ.
Группу из 4 байт можно интерпретировать, как 32-битное число, как вещественное число, как 4 символа.


4 бита будут только в современном 32 битном регистре а именно там ah al по 16 бит и от сюда следует что помещается 4 байта логично?
так вот в 16 битном старом процесссоре будет 2 регистра по 8 бит следовательно всего 2 байта. вопрос следующий если в регистре умешается всего 2 байта и обозначает байт 2 мя символами в 16 ричном числение, зачем нам нужно знать позицию байта7 ведь там всегда будет какое нибудь число smile

mishgan
Х Заблокирован

ID: 402222

# 74

= общий = | 13.08.2018, 18:13 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Гордиенко Андрей Владимирович
Я снова прошу Вас адресовать свои сообщения конкретным адресатам! Мне неинтересно их читать.
мы вас учим ассмблеру))) smile smile smile

Гордиенко Андрей Владимирович
Модератор

ID: 17387

# 75

 +1 
 
= общий = | 13.08.2018, 18:14 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

Вы хотите получить предупреждение от меня?

=====
Facta loquuntur.

mishgan
Х Заблокирован

ID: 402222

# 76

= общий = | 13.08.2018, 18:15 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Зенченко Константин Николаевич
© Цитата: mishgan
и там есть таблица определения состония байта из 2 х тетрад?

И даже больше
© Цитата: Популярный двоичный редактор Hiew
Hiew (Hacker’s view) — это двоичный редактор от Евгения Сусликова (http://www.serje.net/sen/indexr.html), предназначенный для тех, кому иногда требуется в своей или чужой программе изменить один-два байта. Hiew позволяет просматривать файлы неограниченной длины в текстовом и шестнадцатеричном форматах либо в режиме дизассемблера. Программа также позволяет производить редактирование в шестнадцатеричном режиме и в режиме дизассемблера, имеет встроенный ассемблер, возможность создавать новые файлы, производить поиск и замену в блоке, поиск ассемблерных команд по шаблону, имеет встроенный калькулятор, небольшой шифровальщик/дешифровщик, просматривает дампы EXE-файлов и т.п.

что нам даст определение позиции байта? ведь в 16 битном регистре будет всегда 2 байта а в 32 битном 4, как вы определили что их 3? что 1 куда то пропал?)) ведь 00 это тоже позиция байта smile

mishgan
Х Заблокирован

ID: 402222

# 77

= общий = | 13.08.2018, 18:15 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Гордиенко Андрей Владимирович
Вы хотите получить предупреждение от меня?
ага мечтаю smile

mishgan
Х Заблокирован

ID: 402222

# 78

= общий = | 13.08.2018, 18:16 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Гордиенко Андрей Владимирович
Вы хотите получить предупреждение от меня?

а шрифт зачем поменял?)) smile smile думаешь так лучше видно?)) здесь слепых нет

mishgan
Х Заблокирован

ID: 402222

# 79

= общий = | 13.08.2018, 18:17 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Гордиенко Андрей Владимирович
Вы хотите получить предупреждение от меня?

=====
а что с настроением не так?)) встал не с той ноги чтоль smile smile

Гордиенко Андрей Владимирович
Модератор

ID: 17387

# 80

 -1 
 
= общий = | 13.08.2018, 18:20 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

Предупреждение Вам объявлено. В случае продолжения с Вашей стороны такого поведения я буду просить администраторов блокировать Вашу учётную запись.

=====
Facta loquuntur.

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 81

 +1 
 
= общий = | 13.08.2018, 18:20 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

© Цитата:
ага мечтаю
Я даю Вам устное предупреждение за пререкания с модератором и невнимание к его замечаниям smile
Впредь, выбирайте адресата при помощи списка "Кому:"

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

mishgan
Х Заблокирован

ID: 402222

# 82

= общий = | 13.08.2018, 18:22 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

а что у нас теперь разговор запрещен?

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 83

 +1 
 
= общий = | 13.08.2018, 18:22 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

Вы играете с огнем...

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

mishgan
Х Заблокирован

ID: 402222

# 84

= общий = | 13.08.2018, 18:22 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Лысков Игорь Витальевич
Я даю Вам устное предупреждение за пререкания с модератором и невнимание к его замечаниям

это не замечание а балобольство потому я ничего не нарушил а если человек встал не с той ноги чтож поделать видимо ему нужен пиздюлин))) smile

mishgan
Х Заблокирован

ID: 402222

# 85

= общий = | 13.08.2018, 18:23 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Лысков Игорь Витальевич
Вы играете с огнем...

вся моя жизнь состоит из ошибок и все как то складывается забаните не обижусь smile

Гордиенко Андрей Владимирович
Модератор

ID: 17387

# 86

 -1 
 
= общий = | 13.08.2018, 18:26 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Администрации:

Прошу заблокировать учётную запись участника mishgan, который несмотря на полученные им замечания и предупреждения продолжает отправлять сообщения без их адресации.

=====
Facta loquuntur.

mishgan
Х Заблокирован

ID: 402222

# 87

= общий = | 13.08.2018, 18:28 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Гордиенко Андрей Владимирович
Прошу заблокировать учётную запись участника mishgan, который несмотря на полученные им замечания и предупреждения продолжает отправлять сообщения без их адресации.

=====
да ты просто еблан извините за мой французский, нет доводов и просто твое хотение ну ок

mishgan
Х Заблокирован

ID: 402222

# 88

= общий = | 13.08.2018, 18:29 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

а пока не забанили я все равно повторю вопрос smile что это за таблица такая? которая показывает положение байта? smile

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 89

 -1 
 
= общий = | 13.08.2018, 18:31 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mishgan:

© Цитата:
забаните не обижусь
Это Ваш выбор. На этом прекращаем общение...

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

mishgan
Х Заблокирован

ID: 402222

# 90

= общий = | 13.08.2018, 18:39 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Лысков Игорь Витальевич:

а почему не заьбанили? не ндо лицемерия не хотите не отвечайте я же не только с вами говорил ептэ

mishgan
Х Заблокирован

ID: 402222

# 91

= общий = | 13.08.2018, 18:43 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: mishgan
а пока не забанили я все равно повторю вопрос что это за таблица такая? которая показывает положение байта?
smile

mishgan
Х Заблокирован

ID: 402222

# 92

= общий = | 13.08.2018, 18:53 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

© Цитата: Зенченко Константин Николаевич
-В4, 2-12, 3-В0, 4-34, итого 4-е байта на две команды ассемблера;
5-В8, 6-34, 7-12, итого 3-и байта на команду ассемблера.

Как Вы насчитали 12-ть байт

куда делся 4 байт?

mishgan
Х Заблокирован

ID: 402222

# 93

= общий = | 13.08.2018, 18:58 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Лысков Игорь Витальевич:

© Цитата: Лысков Игорь Витальевич
https://istarik.ru/blog/programmirovanie/53.html вот она эврика smile только сами говорили 28 положений а тут больше

mishgan
Х Заблокирован

ID: 402222

# 94

= общий = | 13.08.2018, 19:00 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

https://istarik.ru/blog/programmirovanie/53.html эврика smile

mishgan
Х Заблокирован

ID: 402222

# 95

= общий = | 13.08.2018, 19:08 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Лысков Игорь Витальевич:

насчет количества байтов понял спасибо, только не понял куда 4 байт пропал ну ладно smile

mikl777
Х Заблокирован

ID: 402231

# 96

= общий = | 14.08.2018, 02:16 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Гордиенко Андрей Владимирович:

слышь еблан че это ты меня заблокривал?)))) выкусил? smile

mikl777
Х Заблокирован

ID: 402231

# 97

= общий = | 14.08.2018, 02:16 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

вопрос остается прежним

mikl777
Х Заблокирован

ID: 402231

# 98

= общий = | 14.08.2018, 02:17 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: mishgan
асчет количества байтов понял спасибо, только не понял куда 4 байт
??

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.24090 сек.

© 2001-2018, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.47 от 16.04.2018