鱼C论坛

 找回密码
 立即注册
查看: 2925|回复: 9

又是一个很有意思且比较坑爹的问题!

[复制链接]
发表于 2015-10-29 12:15:46 | 显示全部楼层 |阅读模式
15鱼币
这俩图是我在做实验九的时候偶然发现的
我把题改了,原题是在中间显示,我自己改成在第一行显示
然后再DATE段直接把要显示的子的ASCLL码和属性全写进去了,多了不说,上代码
花屏的代码:

                 
assume cs:codesg,ds:date

date segment
  db 'w',00000010B,'e',00000010B,'l',00000010B,'c',00000010B,'o',00000010B,'m',00000010B,'e',00000010B,'c',00000010B,'o',00000010B,'m',00000010B,'e',00000010B,'m',00000010B,'a',00000010B,'s',00000010B,'m',00000010B
date ends

codesg segment
start:  mov ax,date
         mov ds,ax
                 mov bx,0
                 mov ax,0B800h
                 mov es,ax
                 mov cx,15
        s:         mov ax,[bx]
                 mov es:[bx],ax
                 add bx,2
                jcxz ok
                jmp short s
                 
        ok:         mov ax,4c00h
                 mov ah,1
                 int 21h

codesg ends
end start

这段代码加不加mov ah,1都一样,全是花屏

不花屏代码:
assume cs:codesg,ds:date

date segment
  db 'w',00000010B,'e',00000010B,'l',00000010B,'c',00000010B,'o',00000010B,'m',00000010B,'e',00000010B,'c',00000010B,'o',00000010B,'m',00000010B,'e',00000010B,'m',00000010B,'a',00000010B,'s',00000010B,'m',00000010B
date ends

codesg segment
start:  mov ax,date
         mov ds,ax
                 mov bx,0
                 mov ax,0B800h
                 mov es,ax
                 mov cx,15
        s:         mov ax,[bx]
                 mov es:[bx],ax
                 add bx,2
                loop s
               
                 
         mov ax,4c00h
             mov ah,1
                 int 21h
                 
               
                 
                 
                 
  
codesg ends
end start

这段代码中必须要mov ah,1
不加不再屏幕上显示welcome to masm

1.exe

1.exe

2.exe

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

使用道具 举报

 楼主| 发表于 2015-10-29 12:16:49 | 显示全部楼层
@康小泡  泡姐来看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-10-29 12:18:53 | 显示全部楼层
我也debug 过,但是查显存的时候根本不行,,而且在debug过程中能正常返回
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-10-29 12:33:21 | 显示全部楼层
哈哈哈哈= =我的错我的错,看书不精细,我以为jxzc自带减1功能。。。@康小泡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-10-29 12:43:07 | 显示全部楼层
最后mov ah,1是干嘛的???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-10-29 13:53:31 | 显示全部楼层
表示看不懂
:sad   我该怎么学习,我想要學
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-10-29 14:21:54 | 显示全部楼层
木觞 发表于 2015-10-29 13:53
表示看不懂
   我该怎么学习,我想要學

请百度优酷     搜索  汇编语言小甲鱼    点专辑  第一个   轮着看把   看我就有基础了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-10-29 20:39:33 | 显示全部楼层
      mov ax,0B800h
   这条语句是什么意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-10-29 22:04:55 | 显示全部楼层
zlming 发表于 2015-10-29 20:39
mov ax,0B800h
   这条语句是什么意思

把显存地址给AX,目的是为了给ES寄存器
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-10-31 13:38:29 | 显示全部楼层
zlming 发表于 2015-10-29 20:39
mov ax,0B800h
   这条语句是什么意思

把这个值赋值到ax里,h代表16进制,,,,不知道对不对:big
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 10:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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