Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2009, 00:55   #1
baks36
Новичок
Джуниор
 
Аватар для baks36
 
Регистрация: 16.05.2009
Сообщений: 2
Восклицание Подскажите в чем ошибка в простой программе

Программа должна выводить список сом портов и драйверов


Код:
.286
.model tiny
.code
 org 100h

 
 start:
       int 11h
       and ax,0C0h
       shr ax,6
       inc ax
       add ax,30h
       mov [NumDisk],al
       int 11h
       and ax,0E00h
       shr ax,9
       add ax,30h
       mov [NumPort],al
       mov ah,09
       lea dx,msg
       int 21h
       
       ret
.data
     msg db 'In system installed$'
     NumDisk db ?
     db 'Disk drivers',0dh,0ah,"$"
     col80 db 'and$'
     NumPort db ?
     mon db 'Com ports',0dh,0ah,"$"
end start
учусь ассемблеру

Последний раз редактировалось rpy3uH; 29.06.2009 в 21:55.
baks36 вне форума Ответить с цитированием
Старый 28.06.2009, 01:12   #2
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

не ставь лишних $

Код:
.286
.model tiny
.code
org 100h


start:
int 11h
and ax,0C0h
shr ax,6
inc ax
add ax,30h
mov [NumDisk],al
int 11h
and ax,0E00h
shr ax,9
add ax,30h
mov [NumPort],al
mov ah,09
lea dx,msg
int 21h

ret
.data
msg db 'In system installed '
NumDisk db ?
db ' Disk drivers',0dh,0ah
col80 db 'and '
NumPort db ?
mon db ' Com ports',0dh,0ah,"$"
end start
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 28.06.2009, 01:37   #3
baks36
Новичок
Джуниор
 
Аватар для baks36
 
Регистрация: 16.05.2009
Сообщений: 2
По умолчанию

спасибо огромное
учусь ассемблеру
baks36 вне форума Ответить с цитированием
Старый 13.07.2009, 15:57   #4
vitalyasm
Новичок
Джуниор
 
Регистрация: 13.07.2009
Сообщений: 4
По умолчанию

код:

xor ax,ax
mov ah,00
int 16h
mov ah,0ah
xor cx,cx
mov cx,0005
int 10h
mov ah,10h
int 16h
jmp 0000


этот код я компилировал при помощи Hiew-а, потом вписывал его в MBR.
Вопрос такой- почему он не пашеть? прерывания вроде биосовские.
нтвдм его понимает.
"кто может идти к источнику, не должен идти к кувшину"
Леонардо да Винчи
vitalyasm вне форума Ответить с цитированием
Старый 13.07.2009, 16:31   #5
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Код:
jmp 0000
Может быть потому, что биос будет загружать этот код по аддресу 7c00h, а не по 0 ?
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 13.07.2009, 16:50   #6
vitalyasm
Новичок
Джуниор
 
Регистрация: 13.07.2009
Сообщений: 4
По умолчанию

да верно, это я опечатался. 7c00h - непашеть(
"кто может идти к источнику, не должен идти к кувшину"
Леонардо да Винчи
vitalyasm вне форума Ответить с цитированием
Старый 13.07.2009, 16:59   #7
vitalyasm
Новичок
Джуниор
 
Регистрация: 13.07.2009
Сообщений: 4
По умолчанию

вобщем после кода были пустые байты и сигнатура как положено(всего 512байтов). всерн непашеть. может прерывания мозг мне компасируют?
"кто может идти к источнику, не должен идти к кувшину"
Леонардо да Винчи
vitalyasm вне форума Ответить с цитированием
Старый 13.07.2009, 17:18   #8
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Вообщем нужно страницу выставить.
Это рабочий код для масма.
Код:
.model tiny
.code
org 7c00h
start:
xor ax,ax
int 16h
xor bh,bh
mov ah,0ah
mov cx,0005
int 10h
mov ah,10h
int 16h
jmp start
end start
Я не уверен, во что скомпилирует хью команду jmp 7c00, поэтому вот тебе еще и hex значения этого кода.
Код:
00000000   33 C0 CD 16 32 FF B4 0A  B9 05 00 CD 10 B4 10 CD
00000010   16 EB ED
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4

Последний раз редактировалось Goodwin98; 13.07.2009 в 17:32.
Goodwin98 вне форума Ответить с цитированием
Старый 13.07.2009, 18:08   #9
vitalyasm
Новичок
Джуниор
 
Регистрация: 13.07.2009
Сообщений: 4
По умолчанию

понял свою ошибку, спасибо огромное
"кто может идти к источнику, не должен идти к кувшину"
Леонардо да Винчи
vitalyasm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VB6.0 подскажите начинающему, это очень простой вопрос zxspec Помощь студентам 5 24.02.2009 03:29
Подскажите, в чем ошибка? Cannibal Помощь студентам 1 23.11.2008 12:50
Подскажите, где в программе ошибка gamer123 Паскаль, Turbo Pascal, PascalABC.NET 3 25.02.2008 03:09
Подскажите плиз в чем ошибка в БД D7 при SQL запросе TitAn БД в Delphi 16 07.06.2007 20:18