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

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

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

2. Решение by Serj (7 байт)

3. Решение by Ungydrid (8 байт)

4. Решение by [stl] (9 байт)

5. Решение by Eugene (9 байт)

 

 

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

Поместить байт AL в стек, обновив при этом sp.

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

by Serj: размер 7 байт.

;task#9
;Автор:Serj
;Способ компиляции: nasmw task9.asm -o task9.com
;7 byte
org 0100h
dec sp ;sp=sp-1
mov bp,sp ;bp=sp
mov [bp],al ;[bp]<-al
ret

by Ungydrid: размер 8 байт.

; Task#9 вариант с инициализацией
; Описание: типа push al
; Размер: 8 байт
; Рецепт: tasm, tlink /t /x
; Автор: UNGYDRID

.model tiny
.code 
org 100h

start:
mov al, 25 

dec sp ; заранее уменьшаем значение вершины стека
mov di, sp 
stosb ; и записываем туда al

inc sp ; восстановить-то стек перед выходом все-таки желательно

ret
end start

by [stl]: размер 9 байт.

.386
IDEAL
MODEL tiny
CODESEG
ORG 100h
start:
mov al,12h ;8-bit value to push
dec sp
mov bx,sp
mov [bx],al
int 20h ;terminate program
END start

by Eugene: размер 9 байт.

;написал Eugene
;способ компиляции: fasm 9.asm 9.com
;размер 9 байт
org 100h
mov al, 12h
dec sp
mov di, sp
mov [di], al
int 20h

Hosted by uCoz