鱼C论坛

 找回密码
 立即注册
查看: 2701|回复: 0

[技术交流] 试验10-1 抛砖引玉

[复制链接]
发表于 2012-7-15 12:40:33 | 显示全部楼层 |阅读模式

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

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

x
以此贴为记录.
这里的位置排列还是有问题.但是主要功能是实现了的.希望大家指点一下;
  1. assume cs:code

  2. data segment
  3. ; add your data here!
  4. db 'welcome to masm!',0
  5. data ends



  6. code segment
  7. start:

  8. mov dh,8h
  9. mov dl,3h
  10. mov cl,2h
  11. mov ax,data
  12. mov ds,ax
  13. mov si,0h
  14. call show_str

  15. mov ax,4c00h
  16. int 21h



  17. show_str:


  18. mov bx,ss        ;将栈中的段地址暂时存放在BX中

  19. mov al,dl
  20. mov ah,0h
  21. add ax,0B800H



  22. mov ss,ax         ;设置栈断地址为显存地址
  23. mov ch,cl
  24. mov di,0H


  25. s: mov cl,[si]    ;获取字节数据放入CH
  26. mov al,ch      ;将颜色暂存在BL中
  27. mov ch,0H      ;让CL为零
  28. jcxz over      ;判断是否为O,为零即跳到结束位置
  29. mov ch,al      ;不为零,将颜色恢复到CL中



  30. mov ah,0H
  31. mov al,dh
  32. mov bp,ax
  33. mov [bp+di], cx  ;将数据(数据,颜色)按条件(行号DH,列号DL)存入显存区
  34. inc si
  35. inc di
  36. inc di



  37. loop s

  38. over:
  39. mov ss,bx        ;将bx存放的原来的栈地址放回
  40. ret
  41. code ends

  42. end start

复制代码



小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-6 11:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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