2017-03-06 3 views
0

私は2時間だけ頭を壁にぶら下げています。ちょうどgetdecを使ってintを取得する方法を考えようとしていて、Googleはまったく助けになりませんでした。私が使っている本はgetdecの定義だけでなく、その入力と出力も定義していますが、その使い方の例はありません。私の人生のためにGETDECを使用することはできません

私は、get decを使用してスタック上にプッシュすることによって、ユーザーからいくつかのintを取得する必要があります。私はgetdecがAXで入力とストアを取ることになっていることを知っています。また、ドット操作は使用できません。

私はML /Fl p3.asm /link io.lib pauseを使用してファイルを作成していますので、lib.ioは含まれています。スタックと喘息を使用して良い

`DOSSEG` 

    DATA SEGMENT 
    NAM  BYTE 'xxxxx xxxxxxxxxx' ;LEN 19-CHANGE NAME AND LEN 
    HEADER BYTE 'Enter a number' 
    ZEROS WORD 0000 
    DATA ENDS 
    CODE SEGMENT 'CODE' 
    ASSUME CS:CODE, SS:NOTHING, DS:DATA, ES:NOTHING 
    P3: MOV AX,SEG DATA 
    MOV DS,AX 
    call GETDEC 
    PUSH AX 
;rest of code goes here 


    CODE ENDS 
    END P3 

イムしかし、私は単純にgetdec使用して入力を取得カント:

は、これまでのところ、IVEはこれだけです。

+0

あなたは、「GETDEC」は普通ではないことを知っています。あなたが使っている本を特定しないと、あなたが何を話しているのか分かりません。これは "x86アセンブリ"の一部ではなく、本の作者が作成したコードです。リンクでは、コードに "io.lib"をリンクすることによってその外部コードを追加するので、アセンブラディレクティブを使用して異なるモジュール間で外部シンボルを相互接続する必要があります。また、これらの外部機能を覚えておくのにあまり時間を費やさないようにしてください。これらは本書にのみ関連しており、説明や原則に重点を置いています。 – Ped7g

答えて

0

見つけました。他の誰かが問題を抱えている場合は、プログラムの冒頭にEXTERN GETDEC:FARを含める必要があります。

関連する問題