Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler

Выпуск № 345
от 17.01.2006, 23:54

Администратор:Калашников О.А.
В рассылке:Подписчиков: 239, Экспертов: 19
В номере:Вопросов: 2, Ответов: 3


Вопрос № 33085: Вот кусок кода: .data summand_1 db ? N=$-summand_1; Что значит эта строка????? carry db 0 summand_2 db ? Вопрос: что означает $ в 3-й строке, и что сама эта строка значит?...
Вопрос № 33140: Присылаю Вам програму которая выводит на экран прямоугольник с неизвестными для меня размерами и координатами. Хочу узнать от вас как самому можно задать свои координаты и размер в этой програме. А так же описание програмы, желательно с коментари...

Вопрос № 33.085
Вот кусок кода:
.data
summand_1 db ?
N=$-summand_1; Что значит эта строка?????
carry db 0
summand_2 db ?

Вопрос: что означает $ в 3-й строке, и что сама эта строка значит?
Отправлен: 12.01.2006, 01:42
Вопрос задал: One (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Евгений Иванов
Здравствуйте, One!
$ - это текущий адрес.
N будет равна размеру в байтах между текущим адресом и меткой summand_1
---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 12.01.2006, 01:47
Оценка за ответ: 5
Комментарий оценки:
Absolutly!

Отвечает: Seamanmur
Здравствуйте, One!

$ это значение счетчика команд (точнее текущая позиция ассемблирования) на момент его использования.
N в данном случае будет равен длинне данных summand_1, т.е. 1, т.к.
длина summand_1 = db (1 байт)
Ответ отправил: Seamanmur (статус: 1-ый класс)
Отправлен: 12.01.2006, 08:02
Оценка за ответ: 5
Комментарий оценки:
Круто!


Вопрос № 33.140
Присылаю Вам програму которая выводит на экран прямоугольник с неизвестными для меня размерами и координатами. Хочу узнать от вас как самому можно задать свои координаты и размер в этой програме.
А так же описание програмы, желательно с коментариями к каждой строке.
Заранее спасибо.

Приложение:

Отправлен: 12.01.2006, 19:37
Вопрос задал: Кинаш Андрей Владимирович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Стас
Здравствуйте, Кинаш Андрей Владимирович!
так понятно?:
sseg segment stack
db 256 dup(?)
sseg ends
dseg segment

dseg ends

x = 140
len_x = 230
y = 5
len_y = 250

cseg segment
assume ss:sseg,ds:dseg,cs:cseg
start: mov ax,dseg
mov ds,ax
mov ah,0fh
int 10h
call disp
call draw
xor ah,ah
int 16h
mov ax,4c00h
int 21h
disp proc near
mov ax,0012h
int 10h
mov ah,0bh
mov bx,0001h
int 10h
ret
disp endp
draw proc near
mov cx,x
mov dx,y
c1: mov ah,0ch
mov al,7
int 10h
inc cx
cmp cx,x+len_x
jne c1
mov cx,x
inc dx
cmp dx,y+len_y
jne c1
ret
draw endp
cseg ends
end start

Ответ отправил: Стас (статус: Специалист)
Отправлен: 14.01.2006, 01:56
Оценка за ответ: 3


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.faq
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное