· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.A&O —› Микроупражнение: шестнадцатиричные цифры

. 1 . 2 . 3 . 4 . >>

Посл.отвђт Сообщенiе


Дата: Июн 11, 2004 00:28:12

В регистре AL находится байт. Определить, является ли хотя бы одна из цифр в шестнадцатиричной записи значения этого байта шестёркой ("6").


Дата: Июн 11, 2004 00:39:53 · Поправил: Безпощадный даос

xor al, 60h
jz short @FOUND6
xor al, 6
jnz short @NOT_FOUND
@FOUND6:
;...
@NOT_FOUND:
;...


но наверное можно и лучше, надо подумать


Дата: Июн 11, 2004 00:45:59

что-то я поторопился :)
без and до xor работать не будет...

надо поиграться с битами


Дата: Июн 11, 2004 00:48:31

Funbit
Не будет работать xor, сам проверь например для 62h


Дата: Июн 11, 2004 00:56:10 · Поправил: Безпощадный даос

mov al, testbyte
and al, 0Fh
xor al, 6
jz @FOUND6
mov al, testbyte
and al, 0F0h
xor al, 60h
jnz @NOTFOUND	
@FOUND6:
;...
@NOTFOUND:


но можно же короче!


Дата: Июн 11, 2004 00:59:23 · Поправил: Безпощадный даос

Black_mirror
при таком байте:
mov al, testbyte ; 42h	
and al, 66h
jz @NOTFOUND
jp @FOUND6


прыгает по jp, тоже четно


Дата: Июн 11, 2004 02:01:58 · Поправил: B_108

Может, так :
xor al, 66h
test al, 0fh
jz @found
test al, 0f0h
jz @found

@not_found: 


Дата: Июн 11, 2004 02:24:09

        xor ah, ah
        shl ax, 4
        cmp al, $60
        je  .found
        cmp ah, 6
        je  .found
.notfound:


Дата: Июн 12, 2004 02:12:35

Уважаемый Black_mirror!
Лучше либо не посылать код в форум, когда спать хочется ;)
либо не удалять его, чтобы и другие потом могли посмеяться...
Сколько там его вариантов сменилось? Больше четырёх?
И, между прочим, backpatching своих сообщений, когда
появились зависящие от них сообщения других пользователей,
является нарушением правил форума...

Конкретно по заданию хочу добавить, что неплохо бы, чтобы
написанный код легко обобщался на другие цифры.
Шестёрка здесь взята лишь для примера...


Дата: Июн 12, 2004 02:43:47

Или так:
   aam 16
   cmp al,6
   je @yes
   cmp ah,6
   je @yes
@no:


captain cobalt
Ну и где Ваш вариант, которым Вы коварно собираетесь унизить всех участников форума? :-)


Дата: Июн 12, 2004 05:15:26

Здаётся мне, что там DAA надо использовать. Тока как это увязать..
Вообще, возможно ли решить это с одним Jcc? А то мозги уже переклинивает 6-()


Дата: Июн 12, 2004 10:03:06

captain cobalt
Лучше либо не посылать код в форум, когда спать хочется ;)
Это верно замечено 8)


Дата: Июн 12, 2004 13:33:10 · Поправил: _Juicy

test al,6
jp got_it
test al,60
jp got_it


Дата: Июн 12, 2004 13:36:24 · Поправил: _Juicy

Не, ни фига...
Кстати, а aam появилось с какого процессора?


Дата: Июн 12, 2004 13:48:54

shl ax,4
cmp ah,6
jz got_it
cmp al,60
jz got_it

. 1 . 2 . 3 . 4 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.086