鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: 左弦

为什么我的电脑显存那块,不能显示字符串呢?

[复制链接]
 楼主| 发表于 2012-4-12 13:28:33 | 显示全部楼层


assume cs:code
code segment
start:        mov ax,cs
                mov ds,ax
                mov si,offset do0
                mov ax,0
                mov es,ax
                mov di,200h
                mov cx,offset do0end-offset do0
                cld
                rep movsb
               
                mov ax,0
                mov es,ax
                mov word ptr es:[0],200h
                mov word ptr es:[2],0
               
                mov ax,4ch
                int 21h
               
        do0:jmp short do0start
                db 'hello,zhang.'
               
do0start:mov ax,cs
                mov ds,ax
                mov si,202h
               
                mov ax,0b800h
                mov es,ax
                mov di,12*160+36*2
                mov cx,16
        s:
                mov al,[si]
                mov es:[di],al
                inc si
                add di,2
                loop s
               
                mov ax,4ch
do0end: nop
                code ends
                end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-4-12 13:30:29 | 显示全部楼层
左弦 发表于 2012-4-9 18:51
额,我现在在实验室,那个代码是我在自己电脑上写的,应该没错,我调试成功了,貌是显示那一块是不能显示 ...

代码应该没错...
assume cs:code
code segment
start:        mov ax,cs
                mov ds,ax
                mov si,offset do0
                mov ax,0
                mov es,ax
                mov di,200h
                mov cx,offset do0end-offset do0
                cld
                rep movsb
               
                mov ax,0
                mov es,ax
                mov word ptr es:[0],200h
                mov word ptr es:[2],0
               
                mov ax,4ch
                int 21h
               
        do0:jmp short do0start
                db 'hello,zhang.'
               
do0start:mov ax,cs
                mov ds,ax
                mov si,202h
               
                mov ax,0b800h
                mov es,ax
                mov di,12*160+36*2
                mov cx,16
        s:
                mov al,[si]
                mov es:[di],al
                inc si
                add di,2
                loop s
               
                mov ax,4ch
do0end: nop
                code ends
                end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-4-12 13:31:19 | 显示全部楼层
wAterLoo 发表于 2012-4-9 16:42
万一你打错了几个单词 还能一样么

代码应该没错...
assume cs:code
code segment
start:        mov ax,cs
                mov ds,ax
                mov si,offset do0
                mov ax,0
                mov es,ax
                mov di,200h
                mov cx,offset do0end-offset do0
                cld
                rep movsb
               
                mov ax,0
                mov es,ax
                mov word ptr es:[0],200h
                mov word ptr es:[2],0
               
                mov ax,4ch
                int 21h
               
        do0:jmp short do0start
                db 'hello,zhang.'
               
do0start:mov ax,cs
                mov ds,ax
                mov si,202h
               
                mov ax,0b800h
                mov es,ax
                mov di,12*160+36*2
                mov cx,16
        s:
                mov al,[si]
                mov es:[di],al
                inc si
                add di,2
                loop s
               
                mov ax,4ch
do0end: nop
                code ends
                end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-4-12 14:51:07 | 显示全部楼层
左弦 发表于 2012-4-12 13:31
代码应该没错...
assume cs:code
code segment

修改完毕
  1. assume cs:code
  2. code segment
  3. start:            mov ax,cs
  4.                 mov ds,ax
  5.                 mov si,offset do0
  6.                 mov ax,0
  7.                 mov es,ax
  8.                 mov di,200h
  9.                 mov cx,offset do0end-offset do0
  10.                 cld
  11.                 rep movsb
  12.                
  13.                 mov ax,0
  14.                 mov es,ax
  15.                 mov word ptr es:[0],200h
  16.                 mov word ptr es:[2],0
  17.                
  18.         ;; 触发除法中断
  19.             int 0h
  20.                
  21.     do0:jmp short do0start
  22.                 db 'hello,zhang.'
  23.                
  24. do0start:mov ax,cs
  25.                 mov ds,ax
  26.                 mov si,202h
  27.                
  28.                 mov ax,0b800h
  29.                 mov es,ax
  30.                 mov di,12*160+20*2
  31.     ;; 要显示的字符只有12个,你自己数数
  32.                 mov cx,12
  33.         s:
  34.                 mov al,[si]
  35.                 mov es:[di],al
  36.     ;; 最关键的,你没有设置颜色
  37.     ;; 好好复习写显存的知识吧
  38.         mov ah,02h
  39.                 inc si
  40.                 add di,2
  41.                 loop s
  42.                
  43.                 mov ax,4c00h
  44.         int 21h
  45. do0end: nop
  46.                 code ends
  47.                 end start
复制代码



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-4-12 15:21:05 | 显示全部楼层
那你肯定程序有问题呗,你去网上找正确答案,编译运行看能不能正常显示,不过肯定是能正常显示的,所以你的程序肯定是有问题的:lol:lol:lol:lol:lol:lol:lol:lol
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-27 16:14:54 | 显示全部楼层
呵呵,新人求支持
呵呵,新人求支持
呵呵,新人求支持
呵呵,新人求支持
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-3 22:46:50 | 显示全部楼层
正在学这里呢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-4-29 11:50:31 | 显示全部楼层
"科比"最近在养伤,季后赛之前有空学习一下汇编,以后退役了,也好找个工作什么的!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-1-20 00:44:34 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 05:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表