鱼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

修改完毕
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
               
        ;; 触发除法中断
            int 0h
               
    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+20*2
    ;; 要显示的字符只有12个,你自己数数
                mov cx,12
        s:
                mov al,[si]
                mov es:[di],al
    ;; 最关键的,你没有设置颜色
    ;; 好好复习写显存的知识吧
        mov ah,02h
                inc si
                add di,2
                loop s
               
                mov ax,4c00h
        int 21h
do0end: nop
                code ends
                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-11-19 18:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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