умножение чисел ассемблер (TASM) .MODEL small .STACK 256 .code start: MOV BL,3 MOV AL,2 MUL BL mov ax,4C00h int 21h END start
Не работает, компилит но нету вывода
Answers & Comments
srzontmp
.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
2 votes Thanks 1
Стас1232
Друг просит сделать вычитание, если вам не сложно
srzontmp
А что там писать, то? Меняете первые три строчки MOV BL,3 MOV AL,2 MUL BL на следующие: mov ax,354 mov bx,150 sub ax,bx остальное оставляете как есть.
Стас1232
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
Answers & Comments
.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 AL,2
MUL BL на следующие: mov ax,354
mov bx,150
sub ax,bx
остальное оставляете как есть.
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