Вариант 1. Написать автономную программу на Ассемблере, выполняющую арифметические и логические операции над словами и байтами по вариантам

  • ID: 03417 
  • 9 страниц
200 рубСкачать

гарантия низкой цены

laba1.asm

laba1.cpp

laba1 for C.asm

Отчет.docx

Фрагмент работы:

Порядок выполнения работы

Исходные данные:

A = 2438H

B = 1329H

C = -157

D = 100

Вариант 1.

Переставить 1-ю и 3-ю тетрады в слове А

Сложить А и В в двоично-десятичном виде

Выделить 2-ю и 4-ю тетрады в слове В и сложить их, как 2 двоичных числа

Умножить А на D, в старшем слове выделить два младших разряда и объединить по «ИЛИ» с результатом п.2

Написать автономную программу на Ассемблере, выполняющую арифметические и логические операции над словами и байтами по вариантам согласно заданиям. Исходные данные задать с помощью директивы EQU. Результаты работы поместить в ячейки памяти. Проконтролировать правильность работы программы в пошаговом режиме.

Задание 1

TITLE Laba1

A EQU 2438h

B EQU 1329h

C EQU -157

D EQU 100

.MODEL TINY

.STACK 100h

.DATA

aa DW 0

bb DW 0

cc DW 0

.CODE

main PROC

mov AX, @data

mov DS, AX

;-------Task №1-------

mov ax, A

and ax, 000Fh

shl ax, 8

mov bx, A

and bx, 0F00h

shr bx, 8

mov cx, A

and cx, 0F0F0h

or cx, ax

or cx, bx

mov aa, cx

;-------Task №2-------

xor ax, ax

add ax, A

add ax, B

daa

mov bb, ax

;-------Task №3-------

mov ax, B

and ax, 00F0h

shr ax, 4

mov bx, B

and bx, 0F000h

shr bx, 12

add ax, bx

mov cc,ax

;-------Task №4-------

mov ax, A

mov bx, D

mul bx

and ah, 00000011b

or ax, bb

mov AX,4C00h

int 21h

main ENDP

END main

Задание 2

Оформить эту же программу в виде Си-функции.