> man operating_systems
Модераторы: Roman I Khimov, Wanderer, Dron
Автор Добавил
Tigger
Понедельник 13.12.2004 05:07
ID пользователя #167
Зарегистрирован: Понедельник 13.12.2004 04:49
Сообщений: 3
О, великие жрецы, великого языка Ассемблер! обращается к вам червь мирской, насильник (т.е на СИ я пишу) помогите функцией, дабы смог я комп отключить под DOS (в смысле нужно программно отключить питание компа АТХ).
И да пребудет с Вами сила!!!!
Наверх
CodeWorld
Понедельник 13.12.2004 17:42
ID пользователя #28
Зарегистрирован: Вторник 20.07.2004 08:00
Сообщений: 3
http://www.bib.com.ua/dl/22/778_systools.zip глюнь, вроде там было

Жить чтобы победить!
Наверх
Chizh
Понедельник 13.12.2004 19:36
ID пользователя #90
Зарегистрирован: Понедельник 13.09.2004 18:42
Сообщений: 170
title Выключалка ATX-компутера
;Формат COM

main SEGMENT 'CODE'
ASSUME CS:main,DS:main,ES:NOTHING,SS:main

ORG 100h
tra: XOR BX,BX
MOV AX,5300h
INT 15h
JC tra_10
CMP AX,101h
MOV AH,0
JC tra_10
XOR BX,BX
MOV AX,5304h
INT 15h
XOR BX,BX
MOV AX,5301h
INT 15h
JC tra_10
XOR BX,BX
MOV CX,101h
MOV AX,530Eh
INT 15h
JC tra_10
CMP AX,101h
MOV AH,0
JC tra_10
MOV BX,1
MOV CX,1
MOV AX,5308h
INT 15h
MOV BX,1
MOV CX,3
MOV AX,5307h
INT 15h
JNC tra_14
tra_10: PUSH AX
XOR BX,BX
MOV AX,5304h
INT 15h
POP AX
MOV SI,offset msgs
PUSH CS
POP DS
CLD
tra_11: LODSB
CMP AL,-1
JZ tra_14
CMP AL,AH
JZ tra_13
tra_12: LODSB
CMP AL,"$"
JNZ tra_12
JMP tra_11
tra_13: MOV DX,SI
MOV AH,9
INT 21h
tra_14: MOV AH,4Ch
INT 21h

msgs: DB 00h,"требуется версия APM не ниже 1.1","$"
DB 01h,"power management functionality disabled","$"
DB 02h,"interface connection already in effect","$"
DB 03h,"interface not connected","$"
DB 04h,"real-mode interface not connected","$"
DB 05h,"16-bit protected-mode interface already connected","$"
DB 06h,"16-bit protected-mode interface not supported","$"
DB 07h,"32-bit protected-mode interface already connected","$"
DB 08h,"32-bit protected-mode interface not supported","$"
DB 09h,"unrecognized device ID","$"
DB 0Ah,"invalid parameter value in CX","$"
DB 0Bh,"(APM v1.1) interface not engaged","$"
DB 0Ch,"(APM v1.2) function not supported","$"
DB 0Dh,"(APM v1.2) Resume Timer disabled","$"
DB 60h,"can't enter requested state","$"
DB 80h,"no power management events pending","$"
DB 86h,"APM not present","$",-1

.tranz DB 100h DUP(?)

main ENDS
END tra
Наверх
Сайт
Tigger
Вторник 14.12.2004 04:24
ID пользователя #167
Зарегистрирован: Понедельник 13.12.2004 04:49
Сообщений: 3
Спасибо, спасибо, спасибо...
Теперь честное слово не буду называть программистов Асма занудами (какоето время ).
А если серьезно, то видимо прийдется учить (создание окошек и менюшек штука бестолковая). Может подскажете как к нему подбираться? книги есть, основы знаю но все равно кажется жудко тяжелым. Я дезассемблирую программы и потом пытаюсь понимать как они работают, стоит это делать или нет? Вобщем буду благодарен за любую подсказку.
Еще раз спасибо, и всем удачи.
Наверх
Freeman
Вторник 14.12.2004 21:08
ID пользователя #3
Зарегистрирован: Четверг 01.07.2004 14:57
Сообщений: 207
Мне кажется, что намного полезнее будет изучать не просто дизассемблированный код, а подстрочник ассемблера на языке высокого уровня. Ты же на Си пишешь. Возьми свою программу и посмотри, что было сгенерировано компилятором в ответ на твои команды Си.
Наверх
Chizh
Вторник 14.12.2004 21:30
ID пользователя #90
Зарегистрирован: Понедельник 13.09.2004 18:42
Сообщений: 170
Мне кажется, что намного полезнее будет изучать не ассемблер, а С/С++. С азами ассемблера познакомился, этого достаточно.
Наверх
Сайт
Freeman
Вторник 14.12.2004 23:26
ID пользователя #3
Зарегистрирован: Четверг 01.07.2004 14:57
Сообщений: 207
Ну зачем же так сразу категорично? Если есть время и желание, можно и покорячиться. Что-то, да даст. У меня, например, так...
Наверх
Chizh
Среда 15.12.2004 00:34
ID пользователя #90
Зарегистрирован: Понедельник 13.09.2004 18:42
Сообщений: 170
Ни кто не запрещает конечно, я просто хотел сказать не стоит оно того, т.к. Ассемблер очень ограничен в выразительных средствах.
Наверх
Сайт
Tigger
Среда 15.12.2004 03:11
ID пользователя #167
Зарегистрирован: Понедельник 13.12.2004 04:49
Сообщений: 3
Огромное спасибо за ответы.
Freeman - с гордостью сообщаю что именно так я и поступаю, причем использую разные компиляторы и сравниваю полученную распечатку.
Alexander - дело в том что я, не программист, я железячьник, и хочу стать специалистом. Программирование на Си знаю (хотя это конечно тупое утверждение) но те задачи которые я себе ставил, вполне сносно решаю. А вот столкнулся с низким уровнем, и все, люди помогите.
Программировать начал с Бейсика (на Синклере) потом Паскаль, затем Си. Так как это все языки высокого уровня, теперь мне трудно понять логику языка низкого уровня, а ведь именно на низком уровне работает машина.
Си язык очень не плохой но с железом не особо дружит.
А время, усилия, это моя работа, я собираю, чиню, компьютера, поэтому чем больше я о них буду знать, тем больше у меня будет клиентов а следовательно денюшек.
Поэтому не страшно, напрягусь.
Спасибо!, и да прибудет с Вами сила, во имя ОЗУ,ПЗУ и большого Кэша ENTER.
Наверх
 

Перейти:     Наверх

Транслировать сообщения этой темы: rss 0.92 Транслировать сообщения этой темы: rss 2.0 Транслировать сообщения этой темы: RDF
Powered by e107 Forum System

© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.