. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验九,请教我调试出错,我看不出来  [待解决] 回复[ 3次 ]   点击[ 359次 ]  
query123456
[帖 主]   [ 发表时间:2008-09-15 16:18 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-09-02 09:38
assume    cs:code,ds:data

data segment

    db 'welcome to masm!'
    
    
data ends

code segment

start:     mov ax,data
           mov ds,ax

           mov ax,0b800h
            mov es,ax
   
     mov bx,0
     
     mov cx,16
    s:mov ah,02h
      mov al,[bx]
      mov es:[bx],ax
      mov ah,24h
      mov al,[bx]
      mov es:[bx+0A0H],ax
      MOV ah,71h
      mov al,[bx]
      mov es:[bx+140h],ax
     INC BX
      loop s
      
     mov ax,4c00h
     int 21
code ends

end start
musicvs
[第1楼]   [ 回复时间:2008-09-17 20:06 ]   [引用]   [回复]   [ top ] 
荣誉值:56
信誉值:14
注册日期:2008-08-20 11:21
有2个错误:
1.int 21 ,改为int 21H ,这个是粗心吧,呵呵o(∩_∩)o

2.要显示一个字符,是占2个字节的,地位存放ascii码.高位存放字符属性(看得出这个你早就知道了...),而你用的
es:[bx],es:[bx+0A0H],es:[bx+140h],bx每次只加1,是不是出问题了?必须加2才行(2个字节嘛,+1的话很多东西就重叠了),所以呢,修改之后如下:

assume    cs:code,ds:data 

data segment 

    db 'welcome to masm!' 
     
     
data ends 

code segment 

start:        mov ax,data 
        mov ds,ax 

        mov ax,0b800h 
        mov es,ax 
    
     mov bx,0 
      
     mov cx,16 
    s:mov ah,02h 
      mov al,[bx] 
      mov word ptr es:[si],ax ;;;;;;;;;;;;这里用si来指向,至于word ptr 可以不加;;;;;;;;;
      mov ah,24h 
      mov al,[bx] 
      mov word ptr es:[si+0A0H],ax 
      MOV ah,71h 
      mov al,[bx] 
      mov word ptr es:[si+140h],ax 
      INC BX 
      add si,2      ;;;;;;;;;;;;;;;;;;;呵呵~这里+2;;;;;;;;;;;;;;;;;;;;;;;
      loop s 
       
     mov ax,4c00h 
     int 21h         ;;;;;;;;;;;;;;;;;;这个...你已经知道了...;;;;;;;;;;;;;;;;;;
code ends 

end start
query123456
[第2楼]   [ 回复时间:2008-09-22 10:57 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-09-02 09:38
恩,谢谢,后来我想通了
query123456
[第3楼]   [ 回复时间:2008-09-22 10:58 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-09-02 09:38
新手学习有人指导就是好,呵呵
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved