⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_52794.htm

📁 vc
💻 HTM
字号:
<p>
序号:52794 发表者:Cuiyi 发表日期:2003-09-14 18:59:56
<br>主题:关于汇编代码的疑问!急!!!!!!
<br>内容:我在一本介绍汇编的书上看到了在CODE段里有以下的一小段代码:<BR>MOV EAX, 00000001H<BR>MOV CR0, EAX<BR>JMP EDS_FLUSH<BR>.<BR>.<BR>.<BR>EDS_FLUSH:<BR> DB 0EAH<BR> DW OFFSET MOVE_BUF(这是一个已定义的变量)<BR><BR>请问在EDS_FLUSH下面的这两条指令是什么意思啊!!多谢!!!<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:老桐树 回复日期:2003-09-17 09:00:03
<br>内容:DB 0EAH&nbsp;&nbsp;一字节为单位定义变量!<BR>DW OFFSET MOVE_BUF&nbsp;&nbsp;定义OFFSET 变量并把MOVE_BUF的内容 以字为单位付给他!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:Konca 回复日期:2003-09-19 15:35:40
<br>内容:DB 定义一个字节,因为此处是代码段,所以这个&#34;EA&#34;变成汇编指令&#34;JMP&#34;<BR>DW 定义一个字(不知道在VC里到底是多少,估计是32位的),这里代码一个地址。<BR><BR>所以两者合起来解释为:JMP MOVE_BUF<BR>是一条跳转指令
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Cuiyi 回复日期:2003-09-20 17:48:11
<br>内容:请问konca,那里可以找到机器指令的编码啊,谢!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Konca 回复日期:2003-09-22 09:07:43
<br>内容:&lt;BLOCKQUOTE&gt;引用“第3楼”所言<BR>&lt;Q&gt;请问konca,那里可以找到机器指令的编码啊,谢!&lt;/Q&gt;&lt;/BLOCKQUOTE&gt;<BR>我见过有本汇编的教材里介绍指令时会有说明的,例如<BR>&nbsp;&nbsp;CD就是INT,<BR>&nbsp;&nbsp;B8就是MOV AX<BR><BR>你可以用DEBUG来查看一下.<BR>例如:<BR>c:&gt;debug<BR>-a<BR>mov ax,201<BR>mov bx,200<BR>mov cx,1<BR>mov dx,80<BR>int 13<BR>int 20<BR><BR>u100<BR>然后你可以看到:<BR>-u100<BR>0B35:0100 B80102&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp; AX,0201<BR>0B35:0103 BB0002&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp; BX,0200<BR>0B35:0106 B90100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp; CX,0001<BR>0B35:0109 BA8000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp; DX,0080<BR>0B35:010C CD13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INT&nbsp;&nbsp;&nbsp;&nbsp; 13<BR>0B35:010E CD20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INT&nbsp;&nbsp;&nbsp;&nbsp; 20<BR>其中<BR>CD13就是INT 13的机械码了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Cuiyi 回复日期:2003-09-24 06:27:34
<br>内容:真是帮了大忙了,再次表示感谢!!!<BR>我还想问一下konca,为什么<BR>JMP EDS_FLUSH<BR>.<BR>.<BR>.<BR>EDS_FLUSH:<BR>DB 0EAH<BR>DW OFFSET MOVE_BUF<BR>这样的指令有清除cpu指令队列的功能啊?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Konca 回复日期:2003-09-25 15:46:57
<br>内容:不明白你说的“CPU指令队列”是什么意思哦。<BR> <BR>我想说明两点:<BR>第一:在代码区,用DB的形式填入汇代码中的,被编译后亦可能为执行代码。<BR>第二:CPU将要执行的指令的地址是由CS:IP来指定的,<BR>  其中,CS能用PUSH/POP或间接MOV来改变,而JMP等指令均能改变IP值。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Cuiyi 回复日期:2003-09-25 16:39:13
<br>内容:我的意思是说当我进入386保护模式下编程时,由实模式转到保护模式要清cpu的欲取出指令队列,方法就是上面的代码,可我不明白为什么?在此我先到谢了!!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -