. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->包含多个段的程序
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  检测点6.1(1)不是很明白题意。  [待解决] 回复[ 2次 ]   点击[ 615次 ]  
leeyeye
[帖 主]   [ 发表时间:2008-05-26 21:25 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2008-02-23 16:11
下面的程序实现依次用内存0:0—0:15单元中的内容改写程序中的数据,完成程序:
assume cs:codesg
code segment
      dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h

start:mov ax,0
      mov ds,ax
      mov bx,0

    s:mov ax,[bx]

    _____________
      add bx,2
      loop s

      mov ax,4c00h
      int 21h

codesg ends
end start
================================================================
题目的意思是究竟要改写程序中的哪些数据?是从dw开始的数据还是从start开始的数据??????
mouse
[第1楼]   [ 回复时间:2008-05-27 09:58 ]   [引用]   [回复]   [ top ] 
荣誉值:472
信誉值:12
注册日期:2007-10-16 15:34
是dw开始的数据。
lanji83
[第2楼]   [ 回复时间:2008-05-28 09:23 ]   [引用]   [回复]   [ top ] 
荣誉值:3
信誉值:4
注册日期:2008-05-23 05:44
DW是定义字型数据的,也就是说是向内存单元中写入字型数据(2B),其它都是指令,所以这题就很好理解了,既然修改程序中的数据,理所当然是修改DW后面的数据,到start处的已经是程序的指令了
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved