アセンブラを勉強しよ ..
753:デフォルトの名無しさん
09/03/23 16:40:16
AT&T形式のアセンブラだとニーモニックの後ろにオペランドサイズがつくって話か?
754:デフォルトの名無しさん
09/03/23 16:57:38
long NOPの一種だと思うが該当部分のオペコードが無いと判断できない
755:デフォルトの名無しさん
09/03/23 19:50:07
名前からして
nopw:nopのWORD
retq:retのQ?
だな。qってなんだろ?
756:デフォルトの名無しさん
09/03/23 19:52:56
quad じゃね?
757:デフォルトの名無しさん
09/03/27 18:41:15
qwordだろ
758:デフォルトの名無しさん
09/03/29 02:30:32
環境:MASM 9.0
以下のコメントアウトされたプロトタイプで
最初の2つはOKだが3つめは何故エラーになるのでしょうか
error A2008: syntax error : title
;func proto STDCALL , :dword , :dword
;func proto STDCALL , message:dword , :dword
;func proto STDCALL , message:dword , title:dword
.code
func proc mes : dword , tit : dword
invoke MessageBoxA , NULL , mes , tit , MB_OK
ret
func endp
他2つではちゃんと実行出来ます
リファレンスには
label PROTO [[distance]] [[langtype]] [[, [[parameter]]:tag]]...
とあるのでどれでも動きそうに思うのですが
759:デフォルトの名無しさん
09/03/29 03:34:44
予約語
760:デフォルトの名無しさん
09/03/29 09:05:44
>>759
解決しました。ありがとうございます!
761:デフォルトの名無しさん
09/04/02 13:46:59
>>725 なんの機種かわからんが古いのならROM BASICだったような。
762:デフォルトの名無しさん
09/04/03 05:16:27
質問させてください
以下参考にHelloWorldが動くところまで出来ました
URLリンク(www.masm32.com)
しかし、printfのために色々インクルードされてて自作感があまりないです
print関数をもっとシンプルにCPUの機能(dosのint 21hみたいな感じ)で
実現することって出来るんでしょうか?
(それともint 21h自体も何かの機能で実現されている?)
まずは1文字だけでもいいので表示したいのですが
例えばこんな感じのことは出来ますか?
.386
.model flat,stdcall
.data
msg db "hello world",13,10,"$"
.code
start:
mov dx,offset msg
mov ah,9
int 21h
end start
(書き込み規制中で代行お願いしてます)
763:デフォルトの名無しさん
09/04/03 09:51:19
>>762
WindowsのDOS互換機能で実行してるなら、DOSのファンクションが実行できる
はずだからやってみたら?
INT 21hがなんなのか知りたければ、CPUとOSの勉強をしてください。
いずれにしても、そういう低水準のことを希望するなら使ってるプラットフォームに
ついて調査することは基本。どういうシステムの上での話か説明できていない点で、
その質問のしかたからしてダメダメです。
764:デフォルトの名無しさん
09/04/03 10:06:05
インクルードファイルを辿って行けば?
765:デフォルトの名無しさん
09/04/03 14:46:42
878 :Classical名無しさん :09/04/02 23:54 ID:31nUMIMQ
お願いします。
【URL】スレリンク(tech板)
【名前欄】
【メール欄】sage
【本文】↓
質問させてください
以下参考にHelloWorldが動くところまで出来ました
しかし、printfのために色々インクルードされてて自作感があまりないです
print関数をもっとシンプルにCPUの機能(dosのint 21hみたいな感じ)で
実現することって出来るんでしょうか?
(それともint 21h自体も何かの機能で実現されている?)
まずは1文字だけでもいいので表示したいのですが
例えばこんな感じのことは出来ますか?
.386
.model flat,stdcall
.data
msg db "hello world",13,10,"$"
.code
start:
mov dx,offset msg
mov ah,9
int 21h
end start
766:デフォルトの名無しさん
09/04/03 14:51:57
暇人乙
767:デフォルトの名無しさん
09/04/03 15:09:08
マジキチ
768: ◆0uxK91AxII
09/04/03 16:38:37
下手の考え休むに似たり。
769:デフォルトの名無しさん
09/04/03 17:46:17
それはつまるところテキストVRAMに書くんだよというような話を聞きたい人なのかな。
770:デフォルトの名無しさん
09/04/03 19:37:00
>>762
dumpコマンドで文字列表示
URLリンク(wisdom.sakura.ne.jp)
本でオススメは
アセンブリ言語の教科書
771:762
09/04/04 10:47:59
色々ありがとうございます。すみません、環境も書きます
WinXP/Pentium Dual-Core E2180/AMIBIOS(2006)
まず、最終目標はOS作成(動作原理が知りたい)です
(なので、DOSにも頼らない方向にしたい)
あれから、int 21HもCPUの機能ではなくて
OS側の機能ということがわかりました。
URLリンク(7ujm.net)
そこで、BIOSを使えば文字が表示出来ると思いましたが
以下コード、Win環境では実行すると例外が出ます
〜略
mov ah,0eh
mov al,61h
mov bh,0
mov bl,1
int 10h
このコード、ブート直後ならいざ知らず、
Win起動後はOSの保護で例外がでると
推測したのですがあってますでしょうか?
Winのcmd.exeで試行錯誤しながらOS作って、
それでいつかブートするのが理想なんですが
BIOSが直接たたけないとなると次はエミュですかね・・
772:デフォルトの名無しさん
09/04/04 10:55:32
>>771
フリーのdos使えば?
773:代理
09/04/04 11:10:26
>>771 70 :Classical名無しさん :09/04/03 22:55 ID:M4Y7rn8Y
荒らし対策になるか、ちょっとテストもかねて
これでお願いできますでしょうか。
ゆあるえる スレリンク(tech板)
なまえ 762
めーる sage
ほんぶん
色々ありがとうございます。すみません、環境も書きます
まず、最終目標はOS作成(動作原理が知りたい)です
(なので、DOSにも頼らない方向にしたい)
あれから、int 21HもCPUの機能ではなくて
OS側の機能ということがわかりました。
そこで、BIOSを使えば文字が表示出来ると思いましたが
以下コード、Win環境では実行すると例外が出ます
〜略
mov ah,0eh
mov al,61h
mov bh,0
mov bl,1
int 10h
このコード、ブート直後ならいざ知らず、
Win起動後はOSの保護で例外がでると
推測したのですがあってますでしょうか?
Winのcmd.exeで試行錯誤しながらOS作って、
それでいつかブートするのが理想なんですが
BIOSが直接たたけないとなると次はエミュですかね・・
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5401日前に更新/195 KB
担当:undef