Процессор i8086 или старше.
Операционная система MS DOS.
16-разрядное приложение.
Реальный режим работы.
Компилятор TASM/MASM.
.model small
.stack 100h
.data
Prompt db 'Введите три восьмеричных числа: '
crlf db 13,10,36
ResTxt db 'Минимальное из введенных чисел: $'
.code
InputOct proc
push cx
push bx
xor bx,bx
mov cx,3
InpOct1:
mov ah,8
int 21h
or al,al
jnz NotExtend
int 21h
jmp InpOct1
NotExtend:
cmp al,0Dh
je keyEnter
or cx,cx
jz InpOct1
mov dl,al
sub al,30h
jb InpOct1
cmp al,7
ja InpOct1
shl bx,3
or bl,al
dec cx
mov ah,2
int 21h
jmp InpOct1
keyEnter:
cmp cx,3
je InpOct1
lea dx,crlf
mov ah,9
int 21h
mov ax,bx
pop bx
pop cx
ret
InputOct endp
PrintOct proc
xor cx,cx
PrPrepare:
mov dl,al
and dl,7
or dl,30h
push dx
inc cx
shr ax,3
test ax,ax
jnz PrPrepare
mov ah,2
PrOut:
pop dx
int 21h
loop PrOut
ret
PrintOct endp
N68159605:
mov ax,@data
mov ds,ax
lea dx,Prompt
mov ah,9
int 21h
mov cx,3
xor bx,bx
not bx
DoLoop:
call InputOct
cmp ax,bx
jnb NotLess
xchg ax,bx
NotLess:
loop DoLoop
lea dx,ResTxt
mov ah,9
int 21h
mov ax,bx
call PrintOct
xor ah,ah
int 16h
mov ah,4Ch
int 21h
end N68159605
P.S. Программа игнорирует нажатие всех клавиш, кроме цифровых от 0 до 7 и Enter.
Другие языки программирования и технологии
Помогите, нужен код на ассемблере. Вывод меньшего из введенных чисел
Похожие вопросы
- Помогите с кодом, нужно понять являются ли 3 введенных числа Арифметической прогрессией, мой код выдает ошибку
- Можете помочь дополнить код в ассемблере. Что-то не получается до конца сделать.
- Нужен срочно код на ассемблере FASM для рисования красного креста на белом фоне!
- Язык С. Как стереть определенную область или как спомощью getchar() ввести число?
- Ассемблер сдвиги. Как умножить любое число на 13 с помощью сдвигов в ассемблере
- помогите построить алгоритм и программный код в ассемблере
- 1. Найти все совершенные числа2. Определить во введенном числе кол-во нечетных чисел и среднее арифметическое четных.
- Почему скомпилированный код на Ассемблер занимает меньше места чем на C, а на C меньше чем на C++?
- Помогите написать программу на ассемблере, завтра экзамен а я в нём совсем не шарю.
- помогите написать программы в ассемблере