Подредактировать готовый код - Assembler

Узнай цену своей работы

Формулировка задачи:

Всем добрый день. Мне нужно переделать готовый код, что бы он был через реализацию сегментного кода, а также сделать его как то более читабельней, вообщем немного подредактировать. Заранее спасибо. P.S. не уверен, что код на 100% правильный, но ошибок не выдает, и как я проверил, по идеи, все же правильный. Делал в EMU8086. Что то нужно в шапке исправить/изменить, и в самом коде, но не уверен.
TITLE MOVE2
 
MOVE2 SEGMENT 'CODE' 
ASSUME CS: MOVE2, DS:DATA 
MYPROC PROC 
OUTPROC:
 
MOV AX,DATA
MOV DS,AX
MOV AH,BH
MOV AH,X
MOV CH,3
MOV AX,3
MOV AX,Y
MOV [SI],CX
MOV [BP],CX
MOV [SI],258
MOV [BP+516],1027
MOV BYTE PTR X,255
MOV BYTE PTR [DI + 515], 4
MOV WORD PTR [DI + 515], 4
MOV [DI+BP+515],258
MOV AX,[SI+BX+258]
MOV AH,4CH
 
INT 21H
 
MYPROC ENDP 
MOVE2 ENDS 
DATA SEGMENT 
X DB 1 
Y DW 2
DATA ENDS 
END MYPROC
Просьба также написать коментарии к коду, это идеально будет, пока что только разбираюсь.

Решение задачи: «Подредактировать готовый код»

textual
Листинг программы
.model tiny
.code
org 100h
OUTPROC: MOV AH, BH-регистровая
MOV AH, X- прямая памяти
MOV CH, 3- непосредственная
MOV AX, 3
MOV AX, Y
MOV [SI], CX - косвенная(дальше для всех)  индексная памяти
MOV [BP], CX -базовя стека
MOV word ptr [SI], 258 - индексная памяти
MOV [BP+516], 1027 -непосредственная базовая со смещением стека
MOV BYTE PTR X, 255 - прямая памяти
MOV BYTE PTR [DI+515], 4 - индексная со смещением
MOV WORD PTR [DI+515], 4
MOV word ptr [DI+BP+515], 258 -базово индескная стека
MOV AX, [SI+BX+258]-базаво индексная памяти
INT 20h
X DB 1
Y DW 2
end OUTPROC

Оцени полезность:

11   голосов , оценка 3.545 из 5