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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2009, 19:57   #11
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Неужели мой код похож на код Ивана?! Нет!!! Код на TASM/MASM и FASM сильно отличаются!!!

Под TASM вторую задачу сам переделаешь! Вывод результата на экран доделаешь тоже сам!
1)
Код:
CSEG segment
assume cs:CSEG, ds:CSEG, es:CSEG, ss:CSEG
org 100h

Begin:
   xor ax,ax
   xor bx,bx
   mov al,[xt]
   mov bl,[wt]
   or ax,bx
   mov bl,[ut]
   xor ax,bx
   mov bl,[tt]
   and ax,bx

xt db 9h
ut db 32h
tt db 11h
wt db 6h
CSEG ends
end Begin
xor eax, eax
xchg [eax], eax

Последний раз редактировалось rpy3uH; 14.06.2009 в 11:46.
MalCer вне форума Ответить с цитированием
Старый 13.06.2009, 20:07   #12
stripe
Пользователь
 
Регистрация: 13.06.2009
Сообщений: 25
По умолчанию

ой я имел ввиду масм и тасм, они похожи.
посотри вот примерно набросок на тасм.

Код:
;KzzCss.asm
.model small
.data
U dw 32
T dw 09
x dw 64
w dw 06
.code
start:
xor ax,ax
   xor bx,bx
   mov al,[x]
   mov bl,2 
   mul bl           
   push ax 
   mov bl,[t]
   mov al,3
   mul bl          
   xchg ax,bx
   pop ax
   add ax,bx       
   sub ax,1 
   mov bl,2
   mul bl             
   mov bl,[u]
   sub ax,bx      
   mov bl,[w]
   sub ax,bx
mov ax,4c00h
int 21h
end start

Последний раз редактировалось rpy3uH; 14.06.2009 в 11:46.
stripe вне форума Ответить с цитированием
Старый 13.06.2009, 20:13   #13
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Так тебе надо com или exe?
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 13.06.2009, 20:13   #14
stripe
Пользователь
 
Регистрация: 13.06.2009
Сообщений: 25
По умолчанию

exe, чтоб дебагом открывать)
stripe вне форума Ответить с цитированием
Старый 13.06.2009, 20:18   #15
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Тогда так:
1)
Код:
text segment
assume cs:text, ds:data
begin:
     mov ax,data
     mov ds,ax

   xor ax,ax
   xor bx,bx
   mov al,[xt]
   mov bl,[wt]
   or ax,bx
   mov bl,[ut]
   xor ax,bx
   mov bl,[tt]
   and ax,bx



     mov ah,4ch
     int 21h
text ends

data segment
  xt db 9h
  ut db 32h
  tt db 11h
  wt db 6h
data ends
stk    segment stack
       db 256 dup (0)
stk ends
    end begin
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 13.06.2009, 20:20   #16
stripe
Пользователь
 
Регистрация: 13.06.2009
Сообщений: 25
По умолчанию

а моя 2рая та правильная да?
или по твоему примеру делать?

Последний раз редактировалось stripe; 13.06.2009 в 20:23.
stripe вне форума Ответить с цитированием
Старый 13.06.2009, 20:22   #17
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Нет... Не объявлен стэк и переменные не найдет. А чем тебя мой 1-й код не устраивает?
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 13.06.2009, 20:28   #18
stripe
Пользователь
 
Регистрация: 13.06.2009
Сообщений: 25
По умолчанию

Устраивает))) просто я думал мож правильно чтоб не переделовать мы както так делали просто). а что такое bl и al?
stripe вне форума Ответить с цитированием
Старый 13.06.2009, 20:37   #19
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Существует регистр ax. У него есть две половинки: ah(старшая половинка) и al(младшая половинка). Тоже самое и здесь: я туда(в al b bl) клал значения
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 13.06.2009, 20:40   #20
stripe
Пользователь
 
Регистрация: 13.06.2009
Сообщений: 25
По умолчанию

некогда незнал что у регистра ах есть 2 половинки
я понимаю что достал но зачем на стек тут указывать?)
stripe вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Две задачи на ассемблере, вычисление выражений _°PROTOS°_ Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 29.05.2009 22:51
Вычисление арифметических выражений.(delphi) КуДрЯ Помощь студентам 3 02.04.2009 02:54
Запись условия в виде логических выражений dancergirl Помощь студентам 3 26.03.2009 04:04
вычисление выражений (pascal) вкусняшка Помощь студентам 4 14.03.2009 16:42
Написание математических формул Slavik HTML и CSS 8 17.02.2009 20:41