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

我的博客

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

[2009-03-17 18:39] 检测点6.1

(1)下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序;
  assume cs:codesg
codesg segment
     dw 1234h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
start:mov ax,0
      mov ds,ax
      mov bx,0

      mov cx,8
    s:mov ax,[bx]
      mov cs:[bx]  ;这为要填
      add bx,2
      loop s

      mov ax,4c00h
      int 21h
codesg ends
end start

(2)下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,数据的传送用栈来进行。栈空间设置在程序内,完成程序:
   ssume cs:code
code segment
 dw 1234h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
 dw 0,0,0,0,0,0,0,0 
start:mov ax,cs   ;填cs
      mov ss,ax
      mov sp,20h  ;填20H

      mov ax,0
      mov ds,ax
      mov bx,0
      mov cx,8
    s:push [bx]
      pop cs:[bx]   ;这为要填
      add bx,2
      loop s
      mov ax,4c00h
      int 21h

code ends
end start
评论次数(3)  |  浏览次数(1079)  |  类型(汇编作业) |  收藏此文  | 

[  wsrf   发表于  2009-03-18 09:20  ]

mov cs:[bx]  ;这为要填 
怎么没添上呢?

[  aten   发表于  2009-03-18 15:20  ]

填ax,原来填了的,交作业时没认真检查

[  aten   发表于  2009-04-26 22:01  ]

dw 定义的应该是10个字单元,我写成了8个了!所以答案就成了20H

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