. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验9,根据材料编程的问题  [已解决] 回复[ 5次 ]   点击[ 286次 ]  
liangfei
[帖 主]   [ 发表时间:2007-09-18 16:33 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2007-09-11 19:18
assume cs:code,ds:data
data segment
    db 'welcome'
    data ends
code segment
    start:
     mov ax,data
     mov ds,ax
     mov cx,14
     mov ax,0b800h
     mov es,ax
     mov bx,0
     s:
     mov al,ds:[bx]
    mov ah,02
     mov es:[bx],al
     inc bx
     
     loop s
     


                mov ax,4c00h

                int 21h

code ends

end start

我的屏幕上,只能显示wlo,就是"welcome"每隔一个,请问,这是什么原因,谁能帮我把这个程序补全,谢谢!!!!
liangfei
[第1楼]   [ 回复时间:2007-09-18 17:00 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2007-09-11 19:18
有人回答没?
playboy
[第2楼]   [ 回复时间:2007-09-18 20:29 ]   [引用]   [回复]   [ top ] 
荣誉值:31
信誉值:1
注册日期:2007-06-26 11:44
程序循环的逻辑有问题,还有你对显存的结构没有完全了解,建议你在把p175关于显存结构的知识巩固一下,然后在从新考虑一下循环的逻辑部分。
fishboy
[第3楼]   [ 回复时间:2007-09-18 20:33 ]   [引用]   [回复]   [ top ] 
荣誉值:283
信誉值:0
注册日期:2007-06-26 11:42
mov al,ds:[bx] 
mov ah,02 
mov es:[bx],al 
inc bx
问题主要在这段代码上,当然,你之前的代码中也有不妥之处。你犯了两个错误:
1.你没搞清楚显存的结构,显存低位是字符,高位是颜色
2.你的寻址定位有问题。
总结一个结论:你好像没有完成前面的检测或任务吧?不然你第二个错误应该很容易就避免了。从思想上就有问题。希望你能一步一步完成你的学习过程。
liangfei
[第4楼]   [ 回复时间:2007-09-19 11:32 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2007-09-11 19:18
OK,我用错误的办法照样搞定!!!不要死读书,读死书!
assume cs:code,ds:data
data segment
    db 'welcome'
    data ends
code segment
    start:
     mov ax,data
     mov ds,ax
     mov cx,7
     mov ax,0b800h
     mov es,ax
     mov bx,0
     mov si,0
     s:
     
     mov al,ds:[si]
     mov ah,02
     mov es:[bx],ax
     inc si
     add bx,2
     
     
     
     
     loop s
     


                mov ax,4c00h

                int 21h

code ends

end start

我这是用绿色字显示在屏幕上,我这只是个意思就行!!!理解我自己的过程,比理解书的答案过程来得深刻!
liangfei
[第5楼]   [ 回复时间:2007-09-19 14:36 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2007-09-11 19:18
此贴由 贴主 于 [ 2007-09-19 14:36 ] 结贴。 结贴原因:问题已解决
得分情况: 2楼(playboy):4分   3楼(fishboy):4分  
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved