. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  这段代码有两个编译错误,帮忙看下,谢谢  [待解决] 回复[ 2次 ]   点击[ 156次 ]  
kudou
[帖 主]   [ 发表时间:2011-02-02 15:48 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-02-01 22:18
assume cs:code 
data segment
  db 'welcome to masm!'
data ends

code segment
start: mov cx,16
   mov bx,0
   mov ax,b86eh
   mov es,ax
   mov ax,data
   mov ds,ax
   mov si,40h
   mov di,41h

 s:  mov al,[bx]
     mov es:[si],al
     inc bx
     add si,2
     mov es:[di],2
     add di,2

     loop s

     mov ax,4c00h
     int 21h

code ends
end start
masmaster
[第1楼]   [ 回复时间:2011-02-02 23:44 ]   [引用]   [回复]   [ top ] 
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
仅从代码上来讲, 错误有二

一:  mov ax,b86eh ;正确的应该是mov ax,0b86eh

二:  mov es:[di],2 ;须指明目的内存宽度,也即:mov byte ptr es:[di],2
kudou
[第2楼]   [ 回复时间:2011-02-03 00:40 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-02-01 22:18
谢谢, 按照您说的我完全解答了。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved