Умножение чисел ассемблер (TASM) .MODEL small .STACK 256 .code start: MOV BL,3 MOV...

0 голосов
140 просмотров

Умножение чисел ассемблер (TASM)
.MODEL small
.STACK 256
.code
start:
MOV BL,3
MOV AL,2
MUL BL
mov ax,4C00h
int 21h
END start

Не работает, компилит но нету вывода


Информатика (118 баллов) | 140 просмотров
0

Было бы странно, если бы что -то выводилось. mov ax,4C00hint 21h - это завершение программы, а где вывод на экран?

0

Как вывести???

0

Допеши пожалуйста

0

Вывод на экран будет в пять раз больше, чем Ваша программа.

0

Не могли бы вы мне помочь с решение данной проблемы ?

0

А Вы сможете преподавателю объяснить, что там написано?

0

Да

0

tasm 1.4

0

Договорились.

0

model smallstack 512datasega db 6b db 5res db 0codesegstart:mov ax, @datamov ds, axmov al, a mov bl, bmul blmov res, blmov ah, 4chint 21hend start

Дан 1 ответ
0 голосов
Правильный ответ

.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

(9.7k баллов)
0

Друг просит сделать вычитание, если вам не сложно

0

А что там писать, то? Меняете первые три строчки MOV BL,3
MOV AL,2
MUL BL на следующие: mov ax,354
mov bx,150
sub ax,bx
остальное оставляете как есть.

0

Большое вас спасибо

0

Пожалуйста.

0

Сделали альтернативу

0

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