Напечатать те числа из заданных, которые делятся на 3, но не делятся на 5 - Assembler

Узнай цену своей работы

Формулировка задачи:

Даны натуральные знаковые числа от 20 до 50. Напечатать те из них, которые делятся на 3, но не делятся на 5. Нужна помощь с решением.
.386
.model flat, stdcall
option casemap :none
include \masm32\include\windows.inc
include \masm32\include\masm32.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\include\debug.inc
includelib \masm32\lib\masm32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\debug.lib
.code

Решение задачи: «Напечатать те числа из заданных, которые делятся на 3, но не делятся на 5»

textual
Листинг программы
    .586
    .model flat, stdcall    
    option casemap :none
    include \masm32\include\msvcrt.inc
    includelib \masm32\lib\msvcrt.lib
 
_aam    macro   arg
    db 0D4h, arg
endm
 
.data
fmt db  ' %d',0
 
.code
_main:  mov ebx, 20
    mov ecx, 30
@l: mov al, bl
    _aam    3
    or  al, al
    jnz @f
    mov al, bl
    _aam    5
    or  al, al
    jz  @f
    mov eax, ebx
    push    ebx
    push    ecx
    invoke  crt_printf, ADDR fmt, eax
    pop ecx
    pop ebx
@@: inc ebx
    loop    @l
    invoke  crt_exit, 0
    end _main

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.8 из 5
Похожие ответы