Skip to main content

[assembly] タグが付いた質問

アセンブリ(アセンブラ)言語の質問に使用します。質問には使用しているプロセッサや命令セット、およびアセンブラの種類などを含めて下さい。

2
0 回答
139 閲覧数

Windows x64にて後述のコードをアセンブリにコンパイルすると、SEH(構造化例外処理)に対応したアセンブリが出力されるのですが、 .seh_ 関連のデ���レクティブ(特に .seh_handlerdata )についての説明が見つかりません。 以下のページで凡そのseh関連のディレクティブはある程度理解しましたが、 .seh_handlerdata ...
HAL Morita's user avatar
2
4 回答
935 閲覧数

nasmとgccを用いてアセンブラを勉強中です 動作環境はWindows11です Cとアセンブラを連携するため、以下のコードを書きました ;Asm.asm bits 64 extern print section .data message: db "Success", 10 section .text global Test Test: mov rcx,...
Turtle Came's user avatar
0
2 回答
496 閲覧数

ラズベリーパイでアセンブリをアセンブルしようとすると色々エラーが出てしまうのですが、なぜでしょうか。 ラズパイの環境 モデル:Raspberry Pi Model B Plus Rev 1.2 OS: Linux test.s .intel_syntax noprefix .globl main main: mov rax, 42 ret コマンド ras@raspberrypi:~/...
square's user avatar
  • 109
1
1 回答
301 閲覧数

x86 の intel syntax にて、グローバル変数の値には [rip+a] でアクセスできるのですが、mov [rip+a], 4 のように、グローバル変数のアドレスへ新しい値を代入しようとすると、Segmentation Fault が発生します。他のレジスタの操作と同様にできると思い上記のように書こうとしていたのですが、それではダメなようで。 Segmentation Fault ...
go horikoshi's user avatar
-5
2 回答
332 閲覧数

以下のコードを参考にして、7個の数字を A:1, B:2, C:10, D:8, E:10, F:5, G:6 として、A × B × C × D + E × F × G を計算するプログラムを教えてください。 結果は、460になります。 AxB+CxDを計算するプログラム SAMPLE START LD GR0,A LD GR1,B CALL MUL ...
user53618's user avatar
1
2 回答
401 閲覧数

実行環境 CPU ryzen 5 3600 OS windows10 64bit上のvirtual boxでUbuntu 18.04.5 LTSを起動 アセンブラ nasm オプション -f elf64 コンパイラ clang オプション -O0 8バイトにアライメントされていないchar *型を整数型にキャストした時エラーが起きないのはなぜですか? 過去の質問↑...
nora's user avatar
  • 405
0
1 回答
319 閲覧数

BIOSのプログラムでINT 0x13などでフロッピーディスクなどを操作できますが、USBのデータを読み書きするものは無いのですか?
チャンユー's user avatar
0
1 回答
184 閲覧数

以下は,文字列中のあるパターンの出現を調べるプログラムである.18 行目の End はプログラムの終了を表すものとする. • 入力は,それぞれ char 型の配列 Pat(ベースアドレス$s0) と,Str(ベースアドレス$s1) に与えられる.両方の文字列の終端には NULL 文字 (\0,ASCII コード 0) が置かれている. • 文字列 Str にパターン Pat が出現する都度,...
devss's user avatar
  • 101
0
0 回答
288 閲覧数

MIPS プログラムを用いて,試験の成績データを解析することを考える.受験者数を X とし,配列 A[0] からA[X-1] に各受験者の点数が整数値(0~ 100)で格納されているとする.このとき,Hist[0] から Hist[9] に,それぞれ,0 ∼ 10 点,11 ∼ 20 点,21 ∼ 30 点, . . . , 91 ∼ 100 点 をとった学生の人数が格納されるようにしたい.配列 ...
devss's user avatar
  • 101
0
1 回答
581 閲覧数

前提と質問内容 (前提)3x3の正方行列の掛け算を行うプログラムをC言語で書き、 compiler explorerというC言語のアセンブラ出力を確認できるページで x86-64 icc 19.0.1とMIPS gcc 5.4のアセンブリ言語に出力しました。 (質問)内側のループにおける代入文とフロー制御の命令回数と、...
user avatar
0
0 回答
209 閲覧数

MIPSアセンブラを使用して書かれた整数の加算/減算を計算することができる計算機プログラムについてのmipsプログラムコードを完成しようとしている これをデバッグするのに苦労している、結果が正しくない 入力は式の形で式char(ベースアドレス$ s0)の配列に与えられます。 ヌル文字(¥0、ASCIIコード0)が末尾に配置されます。計算結果はレジスタ$ s1に保存され、...
devss's user avatar
  • 101
0
1 回答
3,147 閲覧数

アセンブラについて学習しているのですが下記のような命令が出てきます。 これはどういう処理なのでしょうか? leaがアドレスの値(内容ではない)をレジスタに書き込む命令であることはわかります。 最初の(%rdi,%rcx,1)の部分でなぜこれでレジスタを指定できるのかがわかりません。 OS: Linux Arch: x64(amd64) lea (%rdi,%rcx,1),%eax
KiYugadgeter's user avatar
  • 4,370
0
1 回答
215 閲覧数

現在、OS自作入門をベースにOSの開発、学習をしています。 マルチタスクを実装しようと試みているのですがうまくいきません。 OS自作本とは少し設計が違うせいか同じ実装では出来ませんでした。 Web上にあるOS開発のチュートリアルなども参考にしてますがチュートリアルごとに実装が異なるため余計に混乱しています。 ページング機能が有効な場合とそうでない場合、...
Azu's user avatar
  • 49
0
1 回答
244 閲覧数

現在、オペレーティングシステムの開発をしています。 これまでこの質問に対する回答で記述されているブートローダーを使用して開発を進めてきました。 しかし、このブートローダーはメモリマップの0x9000にカーネルをロードしています。 これだと0x9000~0xA0000までしかメモリを使用することができません。 開発中のカーネルはこのメモリサイズを超えてしまったため、起動できなくなってしまいました。 ...
Azu's user avatar
  • 49
1
2 回答
477 閲覧数

現在、Linux上でOS開発をしようと考えています。 http://www.brokenthorn.com/Resources/OSDev11.html 上記のサイトの下にあるDOWNLOAD DEMO HEREでソースコードをダウンロードし、コンパイルすることはできますがバイナリファイルを連結してQEMUで起動することができません。 ...
Azu's user avatar
  • 49

15 30 50 件 / ページ