Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
задачи(решённые)2.3.4 лабы.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
103.22 Кб
Скачать
  1. Дана длина ребра куба. Найти площадь полной поверхности этого куба.

vvod macro s, fun ;ввод и вывод символов

mov ah, fun

lea dx, s

int 21h

endm

Convert MACRO Text, num

LOCAL m1

XOR ax, ax

XOR cx, cx

xor dh,dh

MOV cl, real

MOV di, 10

LEA bx, Text

m1:

MUL di

MOV dl, [bx]

SUB dl, 48

ADD ax, dx

INC bx

LOOP m1

MOV num, ax

ENDM

NewLine MACRO ;??????? ?? ????? ??????

MOV ah, 02h

MOV dl, 0ah

INT 21h

MOV ah, 02h

MOV dl, 0dh

INT 21h

ENDM

WriteInt MACRO num

LOCAL m1

LOCAL m2

XOR cx, cx

MOV di, 10

MOV ax, num

m1:

MOV dx, 0

DIV di

INC cx

PUSH dx

CMP ax, 0

JG m1

MOV ah, 2h

m2:

POP dx

ADD dl, 48

INT 21h

LOOP m2

ENDM

sgrani macro reb

mov al, byte ptr reb

mul byte ptr reb

mov sgr, ax

NewLine

vvod str1, 09h

WriteInt sgr

endm

spover macro sgr

mov bl, 6

mov ax, sgr

mul bl

mov spov, ax

NewLine

vvod str2, 09h

WriteInt spov

endm

getch macro

mov ah, 1h

int 21h

endm

codes segment para 'code'

assume cs:codes, ds:codes, ss:codes, es:codes

org 100h

beg: call main

string db 'Vvedite znachenie rebra: $'

str1 db 'Ploshad grani: $'

str2 db 'ploshad polnoi poverhnosti: $'

r label byte

max db 10

real db ?

text db 10 DUP('$'),'$'

reb dw ? ;число

sgr dw ?

spov dw ?

main proc near

vvod string, 09h

vvod r, 0ah

convert text, reb

sgrani reb

spover sgr

getch

mov ah, 4ch

int 21h

main endp

codes ends

end beg

  1. Дана длина ребра куба. Найти объем этого куба.

vvod macro s, fun ;ввод и вывод символов

mov ah, fun

lea dx, s

int 21h

endm

Convert MACRO Text, num

LOCAL m1

XOR ax, ax

XOR cx, cx

xor dh,dh

MOV cl, real

MOV di, 10

LEA bx, Text

m1:

MUL di

MOV dl, [bx]

SUB dl, 48

ADD ax, dx

INC bx

LOOP m1

MOV num, ax

ENDM

NewLine MACRO ;??????? ?? ????? ??????

MOV ah, 02h

MOV dl, 0ah

INT 21h

MOV ah, 02h

MOV dl, 0dh

INT 21h

ENDM

WriteInt MACRO num

LOCAL m1

LOCAL m2

XOR cx, cx

MOV di, 10

MOV ax, num

m1:

MOV dx, 0

DIV di

INC cx

PUSH dx

CMP ax, 0

JG m1

MOV ah, 2h

m2:

POP dx

ADD dl, 48

INT 21h

LOOP m2

ENDM

sgrani macro reb

mov al, byte ptr reb

mul byte ptr reb

mov sgr, ax

NewLine

vvod str1, 09h

WriteInt sgr

endm

vcuba macro sgr

mov ax, sgr

mul reb

mov v, ax

NewLine

vvod str3, 09h

WriteInt v

endm

getch macro

mov ah, 1h

int 21h

endm

codes segment para 'code'

assume cs:codes, ds:codes, ss:codes, es:codes

org 100h

beg: call main

string db 'Vvedite znachenie rebra: $'

str1 db 'Ploshad grani: $'

str3 db 'obiom: $'

r label byte

max db 10

real db ?

text db 10 DUP('$'),'$'

reb dw ? ;число

sgr dw ?

v dw ?

main proc near

vvod string, 09h

vvod r, 0ah

convert text, reb

sgrani reb

vcuba sgr

getch

mov ah, 4ch

int 21h

main endp

codes ends

end beg

55