注册 登录
编程论坛 汇编论坛

怎么想也不知道为什么?那位大神解决下??????

bzy601638015 发布于 2012-01-01 17:54, 573 次点击
程序代码:
assume cs:code,ds:data,ss:stack
       data segment
       db'ibm             '
       db'dec             '
       db'dos             '
       db'vax             '
       data ends
      
       stack segment
       dw 0,0,0,0,0,0,0,0
       stack ends
      
       code segment
       start: mov ax,stack
              mov ss,ax
              mov sp,16
              mov ax,data
              mov ds,ax
            
              mov bx,0
            
              mov cx,4
        s0:   push cx
              mov si,0
              mov cx,3
        s:    mov al,[bx+si]
              and al,11011111b
              mov [bx+si],al
              inc si
              loop s
            
              add bx,16
              pop cx
              loop s0
            
              mov ax,4c00h
              int 21h
        code ends
        end start
        
我开始执行r,mov ax,1419 得到了stack的地址,
d查看了里面-d 1419:0 f 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
我执行了-t 2
d查看了里面-d 1419:0 f 00 00 00 00 00 00 19 14-00 00 08 00 1A 14 0A 0E
为什么里面的值会发生了变化,那位给我指导指导???????????????
3 回复
#2
zaixuexi2012-01-01 18:00
单步中断int 1吧好象,你学到中断就知道了,intel手册里是不是叫exception或者systrap?
#3
bzy6016380152012-01-01 18:03
听不懂呢,那个是怎么变化的??
#4
betloo2012-01-02 22:33
搞不明白啥子意思
1