Читайте также:
|
|
Write MACRO mes;вывод сообщения на экран
LEA dx, mes
MOV ah, 09h
INT 21h
ENDM
;----------------------------------------------
WriteLine MACRO mes; вывод сообщения на экран
Write mes
ENDM
;---------------------------------------------
getch MACRO
MOV ah, 8h
int 21h
ENDM
;---------------------------------------------
Exit MACRO
MOV ah, 4ch
INT 21h
ENDM
;---------------------------------------------
ReadLine MACRO
LEA dx, Temp
MOV ah, 0ah
INT 21h
ENDM
;---------------------------------------------
newline macro; переход на новую строку
mov ah, 02h
mov dl,0ah
int 21h
mov ah,02h
mov dl,0dh
int 21h
endm
;----------------------------------------------
min macro f1,f2; минимальное число
local x,en
mov ax, f1
mov bx, f2
cmp ax,bx
ja x
mov dx, ax
jmp en
x: mov dx,bx
en:
endm
;----------------------------------------------
Convert MACRO num;перевод строки в число
LOCAL m1
XOR ax, ax
XOR cx, cx
MOV cl, real
MOV di, 10
LEA bx, Text
m1:
MUL di
MOV dl, [bx]
SUB dl, 48
ADD al, dl
INC bx
LOOP m1
MOV num, ax
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
;----------------------------------------------
codesg segment para 'code'
assume cs:codesg, ds:codesg, ss:codesg, es:codesg
org 100h
begin:
call start
amsg db 'Vvedite a:', '$'
ra dw?
bmsg db 'Vvedite b:', '$'
rb dw?
str1 db 'Rezultat = ', '$'
minn1 dw 0
Temp LABEL BYTE
len db 3
Real db?
Text db 4 DUP(0)
start proc near
;----------------------------------------------
WriteLine amsg
ReadLine
Convert ra
newline
WriteLine bmsg
ReadLine
Convert rb
newline
min ra,rb
mov minn1,dx
WriteLine str1
WriteInt minn1
getch
exit
;-----------------------------------------------
start endp
codesg ends
end begin
Дата добавления: 2015-08-17; просмотров: 65 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Напишите программу, которая получает строку и слово. С помощью макроса определить входит ли данное слово в строку. | | | Напишите программу, в которой вводятся целые числа c, d. Напишите макрокоманду определения max. |