- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
; минимальная .COM программа, которую я смог высрать в ascii
; генерит ret и передаёт на него управление
; пробел (and r/m8, reg) я тоже не использовал
; писалась в hex-кодах
push 314ah
pop ax
xor ax, 3070h
push ax
pop bx
pop ax
push ax
xor ah, [bx]
sub [bx], ah
pop ax
push ax
dec ax
xor ax, 3c3ch
xor bx, ah
jnz 013ah
666_N33D135 11.07.2018 17:59 # 0
roskomgovno 11.07.2018 18:13 # 0
guest8 11.07.2018 18:17 # −999
roskomgovno 11.07.2018 18:18 # 0
а вот 20h прерыванне вспомнил, да: звршить программу
>>печатаемых
еси там 1 байто то какой?
guest8 11.07.2018 18:27 # −999
guest8 12.07.2018 14:11 # −999
666_N33D135 12.07.2018 14:38 # 0
http://asmworld.ru/files/
В нём падробна описана загрузка исполняемых файлов в DOS, что и где в PSP лижит, команды 8088/8086/286, порты, прерывания и пр., что имеет отношение к DOS. В этой програмке можно узнать гораздо боьше, чем на туевой хуче саетов.
guest8 12.07.2018 14:45 # −999
roskomgovno 12.07.2018 14:47 # +1
Скоро уже вы начнете обсуждать сборку спектрума их рассыпухи?
guest8 12.07.2018 14:59 # −999
666_N33D135 12.07.2018 15:26 # 0
guest6 24.06.2024 00:57 # 0
guest8 11.07.2018 18:14 # −999
roskomgovno 11.07.2018 18:20 # 0
на самом деле .exe бывает разный: может быть чистый досовый .exe, а может быть PE а моэет быть NE а может быть вообще .NET *тот же PE с mscorlib.dll)
guest8 11.07.2018 19:33 # −999
666_N33D135 11.07.2018 18:42 # 0
guest8 11.07.2018 19:03 # −999
guest8 11.07.2018 19:11 # −999
guest8 11.07.2018 19:43 # −999
guest8 12.07.2018 23:42 # −999
roskomgovno 12.07.2018 23:44 # 0
Зачем вооще тащить такие высокоуровневе канструкции в асм? мож уже тогда двусторонний linked list сразу сделать?
guest8 12.07.2018 23:51 # −999
roskomgovno 12.07.2018 23:54 # 0
а.. мм.. ну это совсем другое дело, это понятно зачем, это вручную делать долго слишком
guest8 12.07.2018 23:56 # −999
roskomgovno 12.07.2018 23:58 # 0
я думал это про шумоподавление у HDD]
>>Adjusts the result of the multiplication of two unpacked BCD values to create a pair of unpacked (base 10) BCD values.
поразительный проц
guest8 13.07.2018 00:01 # −999
roskomgovno 13.07.2018 00:14 # 0
guest8 13.07.2018 00:26 # −999
guest8 13.07.2018 02:10 # −999
guest8 12.07.2018 23:59 # −999
roskomgovno 13.07.2018 00:02 # 0
guest8 13.07.2018 00:04 # −999
roskomgovno 13.07.2018 00:09 # 0
сахарок я понимаю как раз
LOOP это который JMZ по CX?
guest8 13.07.2018 00:16 # −999
roskomgovno 13.07.2018 00:18 # +1
guest8 13.07.2018 00:19 # −999
roskomgovno 13.07.2018 00:22 # +1
guest8 13.07.2018 00:25 # −999
roskomgovno 13.07.2018 00:27 # 0
guest8 13.07.2018 00:30 # −999
vistefan 13.07.2018 00:41 # 0
roskomgovno 13.07.2018 00:55 # 0
guest8 13.07.2018 01:38 # −999
roskomgovno 13.07.2018 02:31 # 0
> у него вообще-то Опера.
меня напрягает
roskomgovno 13.07.2018 00:52 # 0
компа нет
guest8 13.07.2018 01:47 # −999
roskomgovno 13.07.2018 02:36 # 0
* Справочник программиста на персональном компьютере
фирмы IBM. Роберт Журден.
* Ирвин Кип Р. Язык Ассемблера для процессоров Intel
* М Гук. Аппаратные средства IBM PC
* Tom Shanley (MindShare): ISA System Architecture и x86 Instruction Set Architecture
guest8 13.07.2018 00:21 # −999
guest8 13.07.2018 00:22 # −999
666_N33D135 13.07.2018 06:41 # 0
Нет такого опкода, JCXZ,JECXZ есть.
LOOP offfset8 - можно заменить на dec [e]cx; jnz offset8, но LOOP не меняет флагов.
roskomgovno 13.07.2018 00:27 # 0
В 16ти битном асемблере ее очень часто юзали, хотя опять таки были какие-то макросы которые изображали даже целый FOR
bar-u-xoloda 15.07.2018 15:17 # 0
guest8 15.07.2018 15:55 # −999
guest8 13.07.2018 00:07 # −999
roskomgovno 13.07.2018 00:08 # 0
потому что как иначе атомарно что-то сделать когда у тебя особенно 8 ядер? через lock вручную?
guest8 13.07.2018 00:19 # −999
roskomgovno 13.07.2018 00:24 # 0
Вспомни как работает Fault в protected. Он возвращает управление на шаг ДО бедовой инструкции (в отличие от Abort и Trap). Думаю что и тут пытались как-то так же
ps:
а собссно чот я нашел
Bound Range Exceeded 5 (0x5) Fault
спасибо тебе .osdev, наш interrupt list современности
guest8 13.07.2018 00:29 # −999
guest8 13.07.2018 00:19 # −999
guest8 13.07.2018 00:38 # −999
vistefan 13.07.2018 00:39 # 0
guest8 13.07.2018 01:24 # −999
roskomgovno 13.07.2018 01:25 # 0
guest8 13.07.2018 01:29 # −999
HoBorogHuu_nemyx 15.01.2019 15:18 # 0
Это фактически вызов с предикатом: вызов подпрограммы произойдёт, только если текущее значение di оказалось за пределами interval. В противном случае вызов будет проигнорирован.
666_N33D135 13.07.2018 04:34 # +1
guest8 13.07.2018 06:59 # −999
guest8 12.07.2018 02:44 # −999
Sim_salapim 12.07.2018 02:46 # 0
guest8 12.07.2018 02:48 # −999
Sim_salapim 12.07.2018 02:55 # +1
guest8 12.07.2018 02:57 # −999
prysh 31.07.2018 01:48 # +1
Я давно уже не пользуюсь "LAMP" а только "LNMP": я использую "nginx" и "php-fpm"
roskomgovno 12.07.2018 03:54 # 0
guest8 12.07.2018 13:57 # −999
roskomgovno 12.07.2018 14:10 # 0
но у тебя же нет задачи сделать быстро
guest8 12.07.2018 15:37 # −999
666_N33D135 12.07.2018 15:47 # +1
guest8 12.07.2018 18:12 # −999
666_N33D135 12.07.2018 18:24 # 0
то же самое, только поколдовал с константами у убрал декремент:
666_N33D135 13.07.2018 17:04 # 0
Пофиксил, потому что хз, всегда ли по адресу PSP:0053 лежит 0.
ЗЫ. Пробовал избавиться от смещений, пробовал генерить не ret, а int 20h, но никак не получается меньше.
guest8 12.07.2018 18:39 # −999
guest8 12.07.2018 22:08 # −999
bormand 12.07.2018 23:06 # 0
vistefan 13.07.2018 12:22 # 0
Если найдётся хотя бы одна удовлетворяющая, будет победа. Не знаю, насколько реальная цифра проверять миллион кобенаций в секунду, но в таком случае займёт 3 часа.
KaKou-To_xyu 13.07.2018 12:37 # 0
666_N33D135 12.07.2018 15:57 # 0
666_N33D135 12.07.2018 07:17 # 0
guest8 12.07.2018 13:55 # −999
roskomgovno 12.07.2018 16:25 # −1
AFAIK CPU после старта (ну когда PWR_OK устаканица) гарантирует только верное значение IP (он указывает на POST в бивис) ну и, само собой, реальный режим. А когда биос передает управление MBRу -- там что гарантируется?
ps: невзапно:
https://www.freebsd.org/doc/en/books/arch-handbook/boot-boot0.html
>>Because boot0 is loaded by the BIOS to address 0x7C00, it copies itself to address 0x600 and then transfers control there
ох
guest8 12.07.2018 16:45 # −999
roskomgovno 12.07.2018 16:50 # −1
ну то не состояние процессора же
>>может
ну знач ен можем
>> Plug-n-Pray.
Можа потом сканировать память в поисках 55h, AAh. чтобы найти ISA PnP, да.
Или можно расчитывать что это сделал бивис (если PnP OS Installed = false) и заполнил какие-то говнотаблицы которые тоже уже наверняка давно никто не заполняет.
зы: а ты понял зачем бздуны скопировали свой загрузчик с 0x7C00 в 0x600 и jmp туда?
guest8 12.07.2018 17:04 # −999
roskomgovno 12.07.2018 17:08 # 0
guest8 12.07.2018 16:20 # −999
roskomgovno 12.07.2018 16:23 # −1
>> А завершается эта строка байтом 0Dh ("\r", возврат каретки).
запахло классической макосью
guest8 12.07.2018 15:44 # −999
666_N33D135 12.07.2018 15:50 # −1
guest8 12.07.2018 16:22 # −999
guest8 12.07.2018 16:23 # −999
roskomgovno 12.07.2018 16:29 # +1
guest8 12.07.2018 16:51 # −999
roskomgovno 12.07.2018 17:00 # +1
Fault поди получишь или что-то такое
guest8 12.07.2018 16:43 # −999
LinuxGovno 01.08.2018 18:59 # 0