問題タブ [hla]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
assembly - shl( 5, ax ) は何をしますか?
私は HLA を使用していますが、この指示を理解していません:
この命令が何をしているのかについて詳しく知りたいです。
hla - HLA (Higher Level Assembly) のインストールとリンカー
Mac OS 10.8 の HLA でプログラムをコンパイルするために実行可能ファイルをインストールしようとしています。ツールは適切な場所にあり、機能しているように見えますが、最初のプログラムをコンパイルしようとすると、次のエラーが発生します
hla executalbe はオブジェクト ファイルを出力しているようですが、リンカー内の何かが機能していないようです。以前は他のマシンにインストールできましたが、ほとんどの場合、このエラーが発生します。
何か案は?
assembly - HLAアセンブリで数値を適切に分割する方法
入りましInteger overflow
たHLA nasm
。与えられた変数を15000で割って評価を表示する簡単なプログラムを書きたいのですDistance
が、その問題に直面しました。の除算の考え方がわかりませんHLA
。よろしくお願いいたします。
assembly - HLA のレコードの配列、Art of Assembly ブックのエラー?
私は現在 HLA アセンブラーを学ぼうとしていて、Art of Assembly の本を読んでいます。私は次の例で立ち往生しています:
ということで、まずは。recType はレコードであり、arrayField: dword [4,5] とその他の未指定フィールドがあります。次に、静的セクションで宣言された recType の配列 [3,3] である aryOfRecs を取得します。それで大丈夫です。
現在、コードは ebx を @size( recType ) で乗算して、内部配列 (arrayField[4,5]) のアドレスを計算しますが、これは意味がありません。
したがって、アドレス計算の本にある式全体は次のように機能します。
ベースアドレス (aryOfRecs) + (k*3+l) *4 + ((i*5+j)* @size( recType )
私はそれがすべきだと思います:
BASE ADDRESS (aryOfRecs) + (k*3+l) *@size( recType ) + ((i*5+j) *4代わりに ?
つまり、Randall Hyde がこの例で間違いを犯したか (そうです、HLA ページの正誤表を確認しましたが、これについては何も書かれていません)、昨日から頭がおかしくなっているのです ;>
最後の行は次のとおりです。mov( aryOfRecs.arrayField[ ebx + eax*4 ], eax );
基本的に、OFFSET(aryOfRecs) + OFFSET(arrayField) + OFFSET(ebx) + OFFSET(eax*4) を合計します。
arrayField は recType レコードの最初のフィールドであるため、この特定のケースでは、(recType に対する) arrayField のオフセットの値は +0 になると想定しました。基本的に - recType の先頭にマップします。したがって、recType レコード内のフィールドの順序が異なる場合 (および arrayField が recType の最初のフィールドではない場合) をカバーするために、一般的な規則としてのみ含まれていると思います。そのため、上記の 2 つの数式で OFFSET(arrayField) の値をスキップしました。
繰り返しますが、OFFSET(eax*4) は「外側」の配列になります。eax に dword のサイズを掛けること (4) - 意味がありません..
したがって、コードは次のようになると思います。
私は間違っていて、何かが欠けていますか?
arrays - 動的配列の 6 番目の要素にアクセスするにはどうすればよいですか?
なぜこれが機能しないのかわかりません。hlaとアセンブリを使用しています。
c++ - RTI.hh でエラーが発生しました。'&' トークンの前にコンストラクタ、デストラクタ、または型変換が必要です
CERTI 高等言語アーキテクチャ ランタイム インフラストラクチャを使用してコンパイルしようとしているモデリング環境があります。[コンパイルのプロセスで、理解できないコード行に出くわしました。これは、コンパイラーがエラーをスローするのを混乱させます。
返されたエラーはタイトルの上にあります。どんな助けでも大歓迎です。
編集 1
詳しくは:
これは私が信じている関連コードです:
ファイル全体が必要な場合は、リンクを提供できます。
私の主な問題は、アンパサンドがここでどのように使用されているかわかりませんか? 任意のヒント?
bison - flex: 入力規則が複雑すぎる (>= 32000 NFA 状態) (62 ビットで HLA をコンパイルしている間)
62 ビット (fedora) で HLA をコンパイルしようとしましたが、次のエラーが発生しました。
flex: 入力規則が複雑すぎる (>= 32000 NFA ステート)
以下の URL で対処方法を見つけました。
http://westes.github.io/flex/manual/unnamed_002dfaq_002d88.html
以下の flexdef.h の定義を増やします。
#define JAMSTATE -32766 /* 常にジャムする状態への参照をマークします */
#define MAXIMUM_MNS 31999
#define BAD_SUBSCRIPT -32767すべてを再コンパイルすると、すべて動作するはずです。
flex SRPM をダウンロードし、上記の変更を行い、コンパイルしてインストールしましたが、動作しませんでした! :(