ГТ
Георгий Тараканов

Пожалуйста решите задачу на Ассемблере

Положить в стек 7 целых чисел размером в слово. Используя, хотя бы 2 режима адресации
выполните следующие действия:
a) К 2-ому элементу прибавить 10
b) Из 5-ого элемента вычесть -5
c) 4-ый элемент умножить на 3
d) 1-ый и 6-ой элемент приравнять к нулю.
Вывести на экран элементы до и после преобразования.

ТБ
Татьяна Бульская

Вычесть -5, значит прибавить 5 или это опечатка?
Не понятно, как должны класться числа в стек.
Размещение чисел в стеке и операции над ними с использованием различных адресаций:

.model small
.stack 100h

.data
a dw -1
b dw 2
c dw -3
d dw -4
e dw 5
f dw -6
g dw 7
Txt1 db 'Элементы до преобразования: ',13,10,36
Txt2 db 10,10,'Элементы после преобразования: ',13,10,36

.code
.386
N84899773:
push @data
pop ds
mov ah,9
lea dx,Txt1
int 21h
sub sp,12
mov si,sp; регистровая адресация
mov bp,sp
mov di,sp
mov ax,a; прямая адресация
push ax; стековая адресация
call Print
mov bx,sp
mov ax,b
mov ss:[si],ax; индексная адресация
call Print
mov ax,c
add bp,2
mov [bp],ax; базовая адресация
call Print
mov ax,d
mov ss:[di+4],ax; индексная адресация со смещением
call Print
mov ax,e
mov ss:[bx+8],ax; базовая адресация со смещением
call Print
mov ax,f
mov di,10; непосредственная адресация
mov ss:[bx+di],ax; базово-индексная адресация
call Print
mov ax,g
mov [bp+di-2],ax; базово-индексная адресация со смещением
call Print

;Заданные действия с помощью различных адресаций прямо в стеке
add ss:[si],di
sub word ptr ss:[bx+di-2],-5
mov ax,ss:[si+4]
shl word ptr ss:[si+4],1
add [bp+2],ax
xor ax,ax
mov ss:[bx],ax
mov di,sp
mov ss:[di+10],ax

mov ah,9
lea dx,Txt2
int 21h
mov cx,7
Repeat:
pop ax
call Print
loop Repeat

mov ah,8
int 21h
mov ah,4Ch
int 21h

PrintInt proc
xor dx,dx
mov bx,10
div bx
push dx
test ax,ax
jz PrintRet
call PrintInt
PrintRet:
pop ax
or al,30h
int 29h
ret
PrintInt endp

Print proc
push ax
push dx
push bx
cwd
xor ax,dx
sub ax,dx
xchg ax,dx
and al,0Dh
or al,20h
int 29h
mov ax,dx
call PrintInt
mov al,13
int 29h
mov al,10
int 29h
pop bx
pop dx
pop ax
ret
Print endp

end N84899773

Похожие вопросы
Ассемблер. помогите решить!!!
avsim51 задача ассемблер
Помогите решить задачу по ассемблеру
Задача на ассемблере
Помогите на ассемблера надо сделать задачу.
Помогите решить задачу на ассемблере
Помогите пожалуйста решить задачу на ассемблере в паскале
Помогите пожалуйста решить задачу в паскале на языке ассемблер
Помогите пожалуйста написать задачу в ассемблере на паскале
Задача ассемблер