Предмет: Информатика,
автор: Стас1232
умножение чисел ассемблер (TASM)
.MODEL small
.STACK 256
.code
start:
MOV BL,3
MOV AL,2
MUL BL
mov ax,4C00h
int 21h
END start
Не работает, компилит но нету вывода
Как вывести???
Допеши пожалуйста
Вывод на экран будет в пять раз больше, чем Ваша программа.
Не могли бы вы мне помочь с решение данной проблемы ?
А Вы сможете преподавателю объяснить, что там написано?
Да
tasm 1.4
Договорились.
model small
stack 512
dataseg
a db 6
b db 5
res db 0
codeseg
start:
mov ax, @data
mov ds, ax
mov al, a
mov bl, b
mul bl
mov res, bl
mov ah, 4ch
int 21h
end start
stack 512
dataseg
a db 6
b db 5
res db 0
codeseg
start:
mov ax, @data
mov ds, ax
mov al, a
mov bl, b
mul bl
mov res, bl
mov ah, 4ch
int 21h
end start
Ответы
Автор ответа:
1
.MODEL small
.STACK 256
.code
start:
MOV BL,3
MOV AL,2
MUL BL
; вывод содержимого регистра ax на экран
mov bl,10
mov cx,0
b: div bl ; в al - частное, ah - остаток
add ah,48 ; в ah - код младшей цифры
push ax
mov ah,0
inc cx
cmp al,0
jne b
; вывод на экран через BIOS
c: pop ax
mov al,ah
mov ah, 0eh
int 10h ; вывод символа
dec cx
jnz c
; ожидание ввода с клавиатуры
mov ah,01h
int 21h
; завершение программы
mov ax,4C00h
int 21h
END start
.STACK 256
.code
start:
MOV BL,3
MOV AL,2
MUL BL
; вывод содержимого регистра ax на экран
mov bl,10
mov cx,0
b: div bl ; в al - частное, ah - остаток
add ah,48 ; в ah - код младшей цифры
push ax
mov ah,0
inc cx
cmp al,0
jne b
; вывод на экран через BIOS
c: pop ax
mov al,ah
mov ah, 0eh
int 10h ; вывод символа
dec cx
jnz c
; ожидание ввода с клавиатуры
mov ah,01h
int 21h
; завершение программы
mov ax,4C00h
int 21h
END start
Друг просит сделать вычитание, если вам не сложно
А что там писать, то? Меняете первые три строчки MOV BL,3
MOV AL,2
MUL BL на следующие: mov ax,354
mov bx,150
sub ax,bx
остальное оставляете как есть.
MOV AL,2
MUL BL на следующие: mov ax,354
mov bx,150
sub ax,bx
остальное оставляете как есть.
Большое вас спасибо
Пожалуйста.
Сделали альтернативу
model small
stack 512
dataseg
a db 6
b db 5
res db 0
codeseg
start:
mov ax, @data
mov ds, ax
mov al, a
mov bl, b
mul bl
mov res, bl
mov ah, 4ch
int 21h
end start
stack 512
dataseg
a db 6
b db 5
res db 0
codeseg
start:
mov ax, @data
mov ds, ax
mov al, a
mov bl, b
mul bl
mov res, bl
mov ah, 4ch
int 21h
end start
Похожие вопросы
Предмет: Математика,
автор: slimebyilya
Предмет: Геометрия,
автор: akberen1801
Предмет: Алгебра,
автор: kgusarova
Предмет: Математика,
автор: таньчик1
int 21h - это завершение программы, а где вывод на экран?