Правила - Рейтинг участников - Библиотека решений

Решения задачи #1.

1. Условие задачи

2. Решение by Broken Sword (16 байт).

3. Решение by Maverick (19 байт).

Условие задачи.

Вход:

AX=1234h
EBX=43210000h

Обменять между собой AX и старшее (которое не bx) слово между собой. Т.е. на выходе вашей программы должно быть 

Выход:

AX=4321h
EBX=12340000h

Решения задачи.

by Broken Sword: размер 16 байт.

; Input:
; EAX=00001234h
; EBX=43210000h
; Output:
; EAX=00004321h
; EBX=12340000h
                  .model      tiny
                  .386
                  .code                 
                  org         100h
@@start:
                  mov         AX,1234h
                  mov         EBX,43210000h

                  xchg        AX,BX
                  ror         EBX,16
                  xchg        AX,BX
                 
                  ret
                  end         @@start

by Maverick: размер 19 байт.

;Способ компиляции:
;tasm 1.asm
;tlink /t 1.obj
;Автор: Maverick
;Размер: 19 байт
.model      tiny
.386
.code                
org         100h
start:
mov EBX,43210000h           
mov AX,1234h
ror ebx,16
xchg bx, ax
ror ebx,16
ret
end start