5.5
程序是:
assume cs:code
code segment
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
c segment
db 0,0,0,0,0,0,0,0
c ends
start:
mov ax,a
mov ds,ax
mov ax,b
mov es,ax
mov ax,c
mov ss,ax
mov bx,0
mov cx,8
s:
mov al...


- [sysnap] +8? 按照第二题第4小题我们自己总结的结论,应该是+16吧 04/19 11:26
- [startasm] 第五题的程序,ss不是不能作附加段使用,但是还是少用为好,ss/sp实现了栈,中断等有都用到了栈,所 04/19 11:08
- [游客] “int 表示取整数 ” ~呵呵 我觉得对了! 04/18 21:15
- [shuicg] 我晕倒!看了好长时间这个问题。 答案:如果N是16B的倍数,则占用空间为N 否则是1 04/18 20:43
- [wdm] T单步中断例程的问题。中断会使用但前栈空间存放cpu现场数据。 这个好像在以前的题目中就应该发现过 04/15 21:42
- [wdm] 对于 Name Segment 。。。 name ends 定义的段,如果段中数据占有N个字 04/15 21:40
- [wdm] 这个程序运行后必然能清空所操作的内存空间。 我试了试,没问题啊。 不过有一点要注意啊,由于cmd 04/11 13:22
- [shuicg] 好的,谢谢!我继续学习! 04/11 12:08
- [mouselove] debug命令--调用了中断--中断的保护现场--栈---系统保护模式。 04/11 09:44
- [mouselove] 如果学到了使用多个段,并且使用了数据标号,是必须在assume将使用的寄存器和段关联的。 比如 04/11 09:38
[2008-04-18 20:59] 实验五(二)
阅读全文 |
评论次数(2) |
浏览次数(739) |
所属类型(汇编作业)
[2008-04-15 19:52] 实验五(一)
实验5.1
-r
AX=0000 BX=0000 CX=0042 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=247D ES=247D SS=248D CS=248F IP=0000 NV UP EI PL NZ NA PO NC
248F:0000 B88E24 MOV AX,248E
-d 248d:0 1f
248D:0000 23 01 56 04 89 07 BC 0A-EF 0D ED 0F BA 0C 87 09 #.V.............
248D:0010 0...
-r
AX=0000 BX=0000 CX=0042 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=247D ES=247D SS=248D CS=248F IP=0000 NV UP EI PL NZ NA PO NC
248F:0000 B88E24 MOV AX,248E
-d 248d:0 1f
248D:0000 23 01 56 04 89 07 BC 0A-EF 0D ED 0F BA 0C 87 09 #.V.............
248D:0010 0...
阅读全文 |
评论次数(3) |
浏览次数(805) |
所属类型(汇编作业)
[2008-04-15 19:32] 纪录一下实验五的疑惑
程序是:
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h
data ends
stack segment
dw 0,0
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2]
pop ds:[2]
pop ds:[0]
...
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h
data ends
stack segment
dw 0,0
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2]
pop ds:[2]
pop ds:[0]
...
阅读全文 |
评论次数(1) |
浏览次数(732) |
所属类型(默认类型)
[2008-04-10 19:46] 可执行代码执行后的问题。。。功能是清除段0020-0030内容
代码是这样的:
assume cs:code
code segment
mov ax,0020h
mov ds,ax
mov cx,256
mov bx,0
s:
mov [bx],ah
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
编译能够通过
用debug调试运行的话0020-0030的内容可以被清空,但是当我直接在cmd命令下面输入的时候,内存并没有被清空,这个是为什么啊?(我是想在调试程序的时候有些程序会改变这部分内...
assume cs:code
code segment
mov ax,0020h
mov ds,ax
mov cx,256
mov bx,0
s:
mov [bx],ah
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
编译能够通过
用debug调试运行的话0020-0030的内容可以被清空,但是当我直接在cmd命令下面输入的时候,内存并没有被清空,这个是为什么啊?(我是想在调试程序的时候有些程序会改变这部分内...
阅读全文 |
评论次数(1) |
浏览次数(821) |
所属类型(默认类型)
[2008-04-10 18:16] 关于代码前面的assume cs:code,ds:data,ss:stack,不太明白。。。
我一直搞不明白
assume cs:code,ds:data,ss:stack
和
assume cs:code
有什么区别。。。谁能告诉我?
我定义了data和stack段,从debug里面看到上面两种写法编译后寄存器的值是相同的,那么第一种写法是不是画蛇添足了?
这是两种情况的数据:
-r //assume cs:code,ds:data,ss:stack
AX=0000 BX=0000 CX=0042 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=247D ES=247D SS=248D CS=248F ...
assume cs:code,ds:data,ss:stack
和
assume cs:code
有什么区别。。。谁能告诉我?
我定义了data和stack段,从debug里面看到上面两种写法编译后寄存器的值是相同的,那么第一种写法是不是画蛇添足了?
这是两种情况的数据:
-r //assume cs:code,ds:data,ss:stack
AX=0000 BX=0000 CX=0042 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=247D ES=247D SS=248D CS=248F ...
阅读全文 |
评论次数(3) |
浏览次数(946) |
所属类型(默认类型)
[2007-10-16 09:38] 这个问题我一直没有解决。放在这里大家帮忙再研究一下把!
8086汇编 栈出错问题 错误: NTVDM cpu 遇到无效指令 cs:0000 ip:0077 op:f0 37 05 10 02 [已结贴]
* shuicg
*
* 等 级:
发表于:2007-02-04 15:31:55 楼主
我看的是王爽老师的 < <汇编语言 > >
其中有段栈程序:
assume cs:codesg
codesg segment
mov ax,2000h
mov ss,ax
...
* shuicg
*
* 等 级:
发表于:2007-02-04 15:31:55 楼主
我看的是王爽老师的 < <汇编语言 > >
其中有段栈程序:
assume cs:codesg
codesg segment
mov ax,2000h
mov ss,ax
...
阅读全文 |
评论次数(4) |
浏览次数(906) |
所属类型(默认类型)
页码数(1):
1