Assembler - Help!

Тема в разделе "Другие", создана пользователем Tumbus, 1 май 2006.

Статус темы:
Закрыта.
  1. Tumbus

    Tumbus Гость

    Кто-нибудь может помочь написать знаковое деление в формате 32:16?
     
  2. Guest

    Guest Гость

    тут возникли проблемы с программами.

    Собственно вот 2 штуки

    1. Определить, содержит ли байт данных в кодовом сегменте в разрядах 6-2 двоичную комбинацию 11010. Если да, то сформировать код в регистре ВН следующим образом : сумма тетрад исходного байта, если значение старшейй тетрады больше младшей, разность тетрад в противном случае.
    Если полученный в ВН код меньше 40, инвертировать его.

    2. В области кодового сегмента размещен массив двухбайтных данных. Данные, значения которых находятся в интервале от -20 до 20 заменить на противоположные по знаку и в однобайтном формате записать в другую область.

    Все проги односегментные, т.к. потом надо делать .сом

    Вот мои соображения:

    Код (Text):
    .386
    preved segment use32
     assume cs:preved
           org 100h
    M1: mov ax,preved
     mov cs,ax
       mov al,ds:[a]
       and al,01111100b
       cmp al,01101000b
       jne M2
       mov al,ds:[a]
       mov ah,al
       ror ah,4
       and ax, 0000111100001111b
       cmp ah,al
       jl M3
       add ah,al
       mov bh,ah
    M3: sub ah,al
       mov bh,ah
    M2: cmp bh,40
       jge M4
       not bh
    M4: int 20h
       a db (?)
    preved ends
       end M1
    и вторая

    Код (Text):
    .386
    preved segment use32
    assume cs:preved
    Org 100h
    M1: mov ax,preved
     mov cs,ax
      mov cs,ax
      mov CX,10
      mov SI,0
      mov DI,0
    M2: cmp cs:[mass+SI],-20
      jg M3
      inc SI
      inc SI
      jmp M5
    M3: cmp cs:[mass+SI],20
      jl M4
      inc SI
      inc SI
      jmp M5
    M4: neg cs:[mass+SI]
      mov al,cs:[mass+SI]
      mov cs:[mass2+DI]
      inc DI
    M5: loop M2
      int 20h
    mass dw 10 dup (?)
    mass2 db 10 dup (?)
    preved ends
      end M1
    B)
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей