Подредактировать готовый код - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д