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

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


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

Обсуждение

давно
Посетитель
7438
7205
30.05.2012, 13:46
общий
это ответ
Здравствуйте, Flawless!
Смотрите, если непонятно, спрашивайте.
[code h=200]; Описание данных и пересылки

S SEGMENT STACK
DW 64 DUP(?)
S ENDS

D SEGMENT ; сегмент данных
; ДИРЕКТИВЫ ОПИСАНИЯ ДАННЫХ
F DB 5 dup (?) ; 3 байта неициированных данных
H DD 0FAFBFEFFh ; в памяти будет в обратном порядке: FF FE FB FA
K DW 4 dup (55cch) ; 4 инициализированных слов
L DB 'KLMNO' ; 5 инициализированных байт

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 DI, WORD PTR H+2
MOV SI, WORD PTR H

;б)
MOV AX, K+2 ;первый элемент по смещению 0 от начала K,
;второй элемент по смещению 2 от начала K
;в)
MOV AX, 234

;г)
MOV BYTE PTR H, CH ;пишем CH в конец переменной H, т.е. на место самого младшего байта
;двойного слова H, а он хранится первым!
MOV BYTE PTR K+6,CH ;пишем CH в конец переменной K, т.е. на место самого младшего байта
;последнего байта, он хранится по адресу K+6

; Возврат в DOS
RET

Start ENDP
C ENDS
END Start[/code]
5
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
7438
7205
30.05.2012, 17:07
общий
Перепишите, пожалуйста программу.
В строке MOV BYTE PTR K+6,CH было пропущено CH
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Форма ответа