. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验九有好多问题,显示不对。  [已解决] 回复[ 6次 ]   点击[ 203次 ]  
ldllihuanfa
[帖 主]   [ 发表时间:2010-01-12 21:59 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:1
注册日期:2009-12-24 11:13
我还没做完整的程序,只是初步测试一下,就发现好多地方不太对。
我就是想写一个在屏幕左上角显出绿色的字符串,运行debug的时候一步步左上角根本不显示,我发现就是把字符写入显存时,好象没写进,直接运行exe文件,有时候显示,有时候又不显示。而且显示都不是所想的颜色,

ssume 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 si,0
      mov bx,0
      mov al,02h



      mov cx,16
     s:mov al,[si]
     mov es:[si],al
      mov es:[bx+1],al
      inc bx
      inc si


     loop s
     mov ax,4c00h
     int 21h

code ends
end start
ldllihuanfa
[第1楼]   [ 回复时间:2010-01-12 22:02 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:1
注册日期:2009-12-24 11:13
好象是有问题,都变成al了
ldllihuanfa
[第2楼]   [ 回复时间:2010-01-12 22:24 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:1
注册日期:2009-12-24 11:13
而且到后面循环时候会字符盖掉前面的色彩值,昏极了,
ldllihuanfa
[第3楼]   [ 回复时间:2010-01-12 22:45 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:1
注册日期:2009-12-24 11:13
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 bx,0
      mov dl,02h



     mov al,[bx]
     mov es:[bx],al
      mov es:[bx+1],dl
     


     mov ax,4c00h
     int 21h

code ends
end start

重新写了个最简单来测试,还是不对, 就是只显现一个字符w,为什么还没有任何反应呢,都改得糊涂了,按理说应该没错了吧,用debug来测试应该到mov ax,4c00h这个指令的时候就该写进去了啊
ldllihuanfa
[第4楼]   [ 回复时间:2010-01-12 22:47 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:1
注册日期:2009-12-24 11:13
还说明一下,上面的复制的时候丢掉了mov es,ax.源文件中是有的
ldllihuanfa
[第5楼]   [ 回复时间:2010-01-12 22:58 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:1
注册日期:2009-12-24 11:13
再测一下,发现直接运行可以显现,在debug中一步步运行就没反应,昏,睡觉去了,搞晕了,呵呵
ldllihuanfa
[第6楼]   [ 回复时间:2010-01-16 19:14 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:1
注册日期:2009-12-24 11:13
此贴由 贴主 于 [ 2010-01-16 19:14 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved