nasm

    0

    1答えて

    DX:AXの単語の符号付き除算をしようとしていますが、単語[b] = 10で1234567としましょう。 a dd 1234567 b dw 10 mov ax,[a] mov dx,[a+2] idiv word [b] 商は123456である必要がありますが、大きすぎるためaxに収まりません。この問題を解決するにはどうすればよいですか?

    0

    1答えて

    私はこの test db "Test", 0 のような文字列がどのように私は、x86アセンブリにDSレジスタにこれを移動することができている場合(例えば、文字を印刷しますか)? は、これは間違っているだろう: mov ax, test mov ds, ax

    2

    1答えて

    にアクセスすると、コマンドを使用して、私のMacコンピュータをオフこのコードを実行: nasm -f macho64 -o max.a maximum.asm これは私が配列内の最大数を見つけた私のコンピュータ上で実行しようとしていたコードです。 section .data data_items: dd 3,67,34,222,45,75,54,34,44,33,22,11,66

    1

    1答えて

    私は、文字列の最初の文字を印刷することになっています。このコードを持っている: mov bx, message ; Move the address of the message to bx add bx, 0x7c00 ; Adding the padding of bootsector to bx mov al, [bx] ; Move the value at the addres

    1

    1答えて

    配列の中で最大値を検出するアセンブリプログラムを作成しましたが、今度は配列の中で2番目に大きい番号を探したいと思います。これを行うために自分のプログラムを変更するにはどうすればよいですか? これは私が書いたプログラムであり、動作します。プログラムは配列のすべての値を出力し、配列の最大値を見つけます。今私はそれが2番目に大きい値を見つけることを望みます。 %include "io.mac" .ST

    0

    1答えて

    2つの3X6行列を取り、それらを加算して結果を新しい行列に格納するアセンブリプログラムを作成しています。私はいくつかの問題にぶつかっています。 問題は、行列1の場合は2-16、行列2の場合は20-34しか出力されません。完全な範囲を使用する方法を見つけることはできません。 %include "io.mac" .STACK 100H .DATA NO_ROWS EQU 3 NO_COLUMN

    0

    1答えて

    kの値が正しいかどうかをテストするにはどうすればよいですか? section .data k dw 5 m dw 110 rez dw 0 section .bss tabela resq 3 section .text global _start extern uslov _start: mov qword [tabela], k

    0

    2答えて

    nasm x86アセンブラで[]を使用してアドレスを操作する方法を理解したいと思います。 MY_TABLE TIMES 10 DW 0 ; Allocates 10 words (2 bytes) each initialized to 0 MOV EBX, [MY_TABLE] ; Effective Address of MY_TABLE in EBX MOV [EBX], 110

    2

    1答えて

    私は本書からこのアセンブリプログラムを勉強していましたが、私はそれについて質問します。このプログラムの目的は、単にstring1をstring2にコピーすることです。私の質問は、次の2つの命令に関する: mov AX,DS mov ES,AX 私はそれらなしで参照、プログラムが正しく動作しませんが、私はそれはあなたが必要なすべてのだろう、string2のにESI string1とするとE

    0

    1答えて

    誰かがこのコードの内容を説明できますか?私はこれを理解したと思ったが、明らかに私はそうではなかった。 global main extern printf extern scanf section .data numberFormat: db '%d', 10, 0 section .text main: push rbp mov