Консультация № 186347
11.06.2012, 12:37
88.90 руб.
0 1 1
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: Нужна помощь в решении задач по Операционным системам на ассемблере.
Windows, какую версию используют PC в университете не знаю. Всего 4 задания.

Задание 3. Написать директивы описания данных и команды пересылок согласно указанному варианту из табл. 4. Если в задании не указано, как инициализировать данные, то предполагается, что инициализировать не надо. Под большим числом понимается число, для представления которого одного слова недостаточно. Следует, что размер операндов в команде пересылки должен совпадать – при необходимости использовать оператором указания типа PTR. При написании программного кода можно воспользоваться файлом с примером программы data_mov.asm
Таблица 4:


Приложение:
data_mov.asm:
https://rfpro.ru/upload/8348

Обсуждение

давно
Посетитель
7438
7205
11.06.2012, 13:25
общий
это ответ
Здравствуйте, Flawless!
[code h=200]; Описание данных и пересылки
S SEGMENT STACK
DW 64 DUP(?)
S ENDS
D SEGMENT ; сегмент данных
; ДИРЕКТИВЫ ОПИСАНИЯ ДАННЫХ
F DW 3 dup (?) ; 3 слова неициированных данных
H DD 0FAFBFEFFh ; в памяти будет в обратном порядке: FF FE FB FA
K DB '12345' ; 4 инициализированных байт
L DW 8 DUP('55aah') ; 8 инициализированных слов
D ENDS
C SEGMENT
ASSUME SS:S,CS:C,DS:D
Start PROC FAR
; Выполнение соглашений DOS и настройка регистра DS
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,D ; D - непосредственный операнд, в сегментный регистр
MOV DS,AX ; напрямую не пересылается!!!
;a)
MOV CH, K+4
;б)
MOV AX, L
MOV DX, L+2 ; произвольные значения
;в)
MOV WORD PTR H+3, DX ;DL запишется в старший байт (последний) переменной H, а DH - в первый байт идущей следом K!
MOV WORD PTR K+3, DX ;пишем DL на место 3 байта, DH - 4 байта (счет с 0)
;г)
MOV WORD PTR H+2, DX ;в старшее слово, Н - двойное слово, идет вторым
MOV WORD PTR H, AX ;в младшее
; Возврат в DOS
RET

Start ENDP
C ENDS
END Start[/code]
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Форма ответа