глюк ТАСМа?

Тема в разделе "WASM.BEGINNERS", создана пользователем 10001111, 13 авг 2006.

  1. 10001111

    10001111 New Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2004
    Сообщения:
    20
    Адрес:
    Russia, Железногорск
    Здравствуйте,

    Начало программы:
    Код (Text):
    1. MASM
    2. MODEL TINY
    3. .486
    4. SEGMENT CSEG BYTE USE16
    5. ASSUME CS:CSEG, DS:CSEG
    6. ORG 100h
    два похожих фрагмента:
    Код (Text):
    1. 1   312     028E  67| 8A 44 B3 02        mov al,byte ptr [ebx+esi*4+2]
    2. 1   313     0293  67| 3A 44 BB 02        cmp al,byte ptr [ebx+edi*4+2]
    Код (Text):
    1. 1   334     02B8  67| 8A 44 BB 03    mov al,byte [ebx+edi*4+2]
    2. 1   335     02BD  67| 3A 44 B3 03    cmp al,byte [ebx+esi*4+2]
    Почему во втором фрагменте ТАСМ 4.1 скомпилировал приращение 3 - 67| 3A 44 B3 03 ?

    ------------------------------
    Извините, проблема решена (забыл ptr после byte поставить).
    Удалите тему, пожалуйста.
     
  2. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    10001111
    Зачем вообще указывать byte ptr. Imho использование al это подразумевает.
     
  3. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    q_q
    зы:
    Я как-то тему создавал: "куда пропал q_q?"
     
  4. 10001111

    10001111 New Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2004
    Сообщения:
    20
    Адрес:
    Russia, Железногорск
    q_q
    Спасибо, не знал.
     
  5. Alexander77

    Alexander77 Alexander

    Публикаций:
    0
    Регистрация:
    1 авг 2006
    Сообщения:
    28
    Адрес:
    Ukraine, Kiev
    Ну, и если писать .com прогу на tasm, то удобнее делать так:
    Код (Text):
    1.                 .model tiny
    2.                 .486    ; или .286, .386, .586, .686 — кому что надо
    3.                 .code
    4.                 org     100h
    5. Start:
    6.                 mov     dx, offset Msg
    7.                 mov     ah, 9
    8.                 int     21h
    9.                 ret     ; функцию 4Ch можно не вызывать
    10.         ; а здесь — данные, без явного объявления сегмента данных
    11. Msg             db "Превед, миръ!", 13, 10, 36
    12. end             Start