- [tinyparticle] 不错,思路清晰 09/29 21:22
- [wsrf] 正确。 09/16 09:22
- [wsrf] 这个用DEBUG查看一下程序所占字节数就可以了,没有必要把每条指令所占字节数都记住,博主的做法是正确 09/16 08:22
- [tinyparticle] 取cx=0(cx取0-ffffh所占字节数是一样的),进debug查看程序总长度。提示:查看书P91 09/11 20:07
- [huibian2009] 呵呵,逻辑错误就是在编译的时候可以通过,但在执行的过程中会发生错误。 09/10 11:39
- [huibian2009] 呵呵,这道题考查的是对栈空时栈顶的设置,可以参考教程上关于栈的相关章节。这道题应该是选第1个。 09/09 08:37
- [911911] 谢谢已改正 09/08 15:51
- [wsrf] (1)说修改的内容的时候应该是从高字节到低字节写起。如内存单元220FE存储的字为5CCA,而不应该 09/08 08:53
- [911911] 改正了, 特意看了看前面章节的举例 才发现举的DEBUG操作时 数据是不加H的 写段程序指令时数据都 09/07 11:26
- [mywiil] debug下默认的就是16进制,所以不用加H,但是源代码中是需要加H的,因为源程序在编译的时候,数据 09/07 09:12
[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]
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,运行出来结果就全错了 小过筑大错