アプリ版:「スタンプのみでお礼する」機能のリリースについて

アセンブリプログラムで特定の数に割ることができる数値を求めたいです。(x86 and ARM assemblyで)

例:  8を入力→1,2,4,8

A 回答 (3件)

割りきれる=余りが0

    • good
    • 0

意味の分からない日本語です。


まず日本語を学習してから質問ですね。
    • good
    • 1

単に「約数」を求めたい、って事ね。



いや、だったらまずは例えばCコードでも書いて。

#include <stdio.h>
#include <stdlib.h>
int main(void) {
 char s[10];

 scanf("%9s%*[^\n]%*c", s);
 long num = strtol(s, NULL, 10);

 for (int i = 1; i <= num; i++) {
  if (num % i == 0) {
   printf("%d ", i);
  }
 }
 printf("\n");
 return 0;
}

あとはgccでも使って-Sオプション付きでアセンブリファイル吐き出させれば良いでしょう。
なお、gccのクロスコンパイル環境の作り方は次のページに書かれています。

Linux上に各種クロスコンパイラ環境を構築する:
https://qiita.com/xecus/items/1660c826f0b8ec14a3a6

「Linux上に」って書いてるけど、多分CygwinとかminGWでも大丈夫なんじゃないかな。
あるいは、Windows Subsystem for Linux (WSL)とか。
その辺どうするかはお好みで。
    • good
    • 0
この回答へのお礼

初めて知りました!嬉しいです

お礼日時:2021/03/04 06:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!