汇编网首页登录博客注册
911911的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
文章收藏
友情链接

[2009-09-04 15:02] 检测点3.2

图片载入中
(1)补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序复制到20000H~2000FH中.逆序复制的含义如图3.17所示(图中内存里的数据均为假设).
  MOV AX,1000H
  MOV DS,AX

 (MOV AX,2000H)
 (MOV SS,AX)
 (MOV SP,0010H)

  PUSH [0]
  PUSH [2]
  PUSH [4]
  PUSH [6]
  PUSH [8]
  PUSH [A]
  PUSH [C]
  PUSH [E]

(2)补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序复制到20000H~2000FH中.

 MOV AX,2000H
 MOV DS,AX

(MOV AX,1000H)
(MOV SS,AX)
(MOV SP,0H)

 POP [E]
 POP [C]
 POP [A]
 POP [8]
 POP [6]
 POP [4]
 POP [2]
 POP [0]
评论次数(4)  |  浏览次数(430)  |  类型(汇编作业) |  收藏此文  | 

[  tinyparticle   发表于  2009-09-06 14:22  ]

(1)
(MOV AX,2000)
(MOV SP,0010)
(MOV AX,1000) 
 应在数据后+H,mov ax,2000h,mov sp,10h,mov ax,1000h
未加H,在编译时会将此数据默认为十进制
书在17页有讲到的,这个问题应该会在四章后更明显,最好是养成好习惯:)

[  911911   发表于  2009-09-07 09:02  ]

谢谢 看题目中是加H的本也想加的  但在DEBUG程序中使用时 发现加H出错不用加H一样是十六进制 以为默认就是这样呢 以后注意

[  mywiil   发表于  2009-09-07 09:12  ]

debug下默认的就是16进制,所以不用加H,但是源代码中是需要加H的,因为源程序在编译的时候,数据是默认的10进制。

[  911911   发表于  2009-09-07 11:26  ]

改正了, 特意看了看前面章节的举例 才发现举的DEBUG操作时 数据是不加H的 写段程序指令时数据都是加H的, 如果象我哪样写程序不加H,运行出来结果就全错了 小过筑大错

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码