鱼C论坛

 找回密码
 立即注册
查看: 2017|回复: 2

[已解决]关于在屏幕上显示的问题

[复制链接]
发表于 2019-6-19 02:39:53 | 显示全部楼层 |阅读模式

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

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

x

实验九

在屏幕上显示七彩的文字

  1. assume cs:code,ds:data

  2. data segment
  3.         db 'welcome to masm!'
  4. data ends

  5. code segment
  6. start:         mov ax,data
  7.                 mov ds,ax
  8.                 mov ax,0b86eh
  9.                 mov es,ax
  10.                
  11.                 mov bx,0
  12.                 mov si,0
  13.                 mov cx,16
  14.                
  15.           s:mov al,[bx]
  16.                 mov es:[60+si],al
  17.                 mov es:[220+si],al
  18.                 mov es:[380+si],al
  19.                 mov al,02h
  20.                 mov es:[61+si],al
  21.                 mov al,24h
  22.                 mov es:[221+si],al
  23.                 mov al,71h
  24.                 mov es:[381+si],al
  25.                
  26.                
  27.                 inc bx
  28.                 add si,2
  29.                 loop s
  30.                
  31.                 mov ax,4c00h
  32.                 int 21
  33. code ends
  34. end start
复制代码


我快被逼疯了,不知道为什么,只打两行字的话,显示很正常,加入第三行(带颜色)的话,就会显示乱码!

求助!到底是为什么会这样?!

1.PNG
最佳答案
2019-6-19 13:34:27
int 21h


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

使用道具 举报

发表于 2019-6-19 04:06:18 | 显示全部楼层
本帖最后由 jackz007 于 2019-6-19 04:13 编辑
  1. stack segment stack
  2.         dw 800h dup(00)
  3. stack ends
  4. data segment
  5.         db 'welcome to masm!' , 00h
  6. data ends
  7. code segment
  8.         assume cs:code,ds:data
  9. start proc far
  10.                 mov ax,data
  11.                 mov ds,ax
  12.                 mov ax,0b800h
  13.                 mov es,ax
  14.                 xor si,si
  15.                 mov di,6e0h
  16.                 cld
  17. start01:        lodsb
  18.                 or al,al
  19.                 jz start02
  20.                 mov es:[di+60],al
  21.                 mov es:[di+220],al
  22.                 mov es:[di+380],al
  23.                 mov byte ptr es:[di+61],02h
  24.                 mov byte ptr es:[di+221],24h
  25.                 mov byte ptr es:[di+381],71h
  26.                 add di,2
  27.                 jmp start01
  28. start02:        xor ah,ah
  29.                 int 16h
  30.                 mov ax,4c00h
  31.                 int 21h
  32. start endp
  33. code ends
  34. end start
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-19 13:34:27 | 显示全部楼层    本楼为最佳答案   
int 21h


1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 18:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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