Вычисление функции, разветвление - Assembler
Решение задачи: «Вычисление функции, разветвление»
textual
Листинг программы
- LOCALS
- .model small
- .stack 100h
- .data
- A dw 157
- B dw 100
- R dw ?
- .code
- main proc
- mov ax, @data
- mov ds, ax
- mov ax, A
- cmp ax, B
- je @@Equal
- jg @@Greater
- @@Lower:
- add ax, A ;ax:=3*A
- add ax, A
- sub ax, 5 ;ax:=3*A-5
- cwd ;(dx:ax):=3*A-5
- idiv B ;ax:=(3*A-5)/B
- @@Greater:
- imul ax ;(dx:ax):=A*A*A
- imul A
- add ax, B ;(dx:ax):=A*A*A+B
- adc dx, 0
- idiv A ;ax:=(dx:ax)/A
- jmp @@Finish
- @@Equal:
- mov ax, 4 ;ax:=4
- @@Finish:
- mov ax, R
- mov ax, 4C00h
- int 21h
- main endp
- end main
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д