. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  书上331,第一行不明  [已解决] 回复[ 3次 ]   点击[ 276次 ]  
skyku
[帖 主]   [ 发表时间:2009-04-27 20:13 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2009-02-27 19:42
不是应该是AJ-AS吗?怎么反过来了?AJ比AS大呀!
mess
[第1楼]   [ 回复时间:2009-04-29 10:15 ]   [引用]   [回复]   [ top ] 
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48
最好的办法就是自己写个程序研究一下,计算机就告诉你正确的答案了~(学完汇编这个方法应该很熟练了^_^)


C:\masm>type c.asm
assume cs:code
code segment
  s: mov ax,0
     mov bx,9
     jmp s

     jmp s1
     mov ax,9

  s1:
     mov ax,4c00h
     int 21h

code ends
end

C:\masm>debug c.exe
-u
0B68:0000 B80000        MOV     AX,0000
0B68:0003 BB0900        MOV     BX,0009
0B68:0006 EBF8          JMP     0000     --注意f8
0B68:0008 EB04          JMP     000E     --注意04,分析比较
0B68:000A 90            NOP
0B68:000B B80900        MOV     AX,0009
0B68:000E B8004C        MOV     AX,4C00
0B68:0011 CD21          INT     21
0B68:0013 5E            POP     SI
0B68:0014 06            PUSH    ES
0B68:0015 26            ES:
0B68:0016 8B4708        MOV     AX,[BX+08]
0B68:0019 8946F8        MOV     [BP-08],AX
0B68:001C 26            ES:
0B68:001D 837F0600      CMP     WORD PTR [BX+06],+00
-
skyku
[第2楼]   [ 回复时间:2009-05-02 11:02 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2009-02-27 19:42
恩DISP为负的时候是向前移动,为正则后移,谢谢您的指点!
skyku
[第3楼]   [ 回复时间:2009-05-02 11:02 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2009-02-27 19:42
此贴由 贴主 于 [ 2009-05-02 11:02 ] 结贴。 结贴原因:问题已解决
得分情况: 1楼(mess):4分  
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved