鱼C论坛

 找回密码
 立即注册
查看: 2741|回复: 3

实验10.3,不能正常显示。

[复制链接]
发表于 2012-2-10 14:08:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 cenjie88 于 2012-2-10 14:09 编辑

assume cs:code
data segment
db 10 dup (0)
data ends
code segment
start:
    mov ax,12666
        mov bx,data
        mov ds,bx
        mov si,0
        call dtoc
        
        mov dh,8
        mov dl,3
        mov cl,2
        call show_str
        
dtoc:
    push dx
        push cx
        push bx
        push si
        push ax
        
        mov bx,0
s1:mov dx,0
        mov cx,10
        div cx
        mov cx,ax
        jcxz s2
        push dx
        inc bx
        jmp s1
        
s2:push dx
    inc bx
    mov cx,bx
  s:pop ax
    add ax,30h
    mov ds:[si],ax
        add si,2
        loop s
        
        pop ax
        pop si
        pop bx
        pop cx
        pop dx
        
        ret
show_str:
    push dx
        push cx
        push bx
        push si
        push ax
        
        mov ax,0b800h
    mov es,ax                ;显存段地址
         
    mov al,0a0h
    sub dh,1
    mul dh
    mov dh,0
    add ax,dx
    mov bx,ax                ;得出显存8行3列偏移地址
        
    mov ah,cl                ; 字符颜色属性给到ah
    mov cx,5                 ;已知要循环5次。
s11:
    mov al,ds:[si]            ;事先改好的准备传输到显存
    mov es:[bx+si],al
    mov es:1h[bx+si],ah
    inc si
        inc si
    loop s11
        
    pop ax
    pop si
    pop bx
    pop cx
    pop dx        
        ret
        
        mov ax,4c00h
        int 21h
        
code ends
end start

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-2-10 17:23:56 | 显示全部楼层

s2:push dx
    inc bx
    mov cx,bx
  s:pop ax
    add ax,30h
    mov ds:[si],ax 这里你先存的是字型数据
        add si,2
        loop s

s11:
    mov al,ds:[si]            ;事先改好的准备传输到显存      这里你出的是字节数据
    mov es:[bx+si],al
    mov es:1h[bx+si],ah
    inc si
        inc si
    loop s11




  mov al,0a0h
    sub dh,1
    mul dh
    mov dh,0
    add ax,dx    这里是神魔意思,dl列号 要乘2 (一个字符占两个字节 字符和属性)
    mov bx,ax


就发现了这几处
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-2-10 22:13:47 | 显示全部楼层
我用debug试了好多次,就是不能成功存入显存。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-2-11 16:12:30 | 显示全部楼层
哦,原来是0B59:FFF0处不能作栈用。多加个栈段就OK了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-10-8 12:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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