鱼C论坛

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

[技术交流] 实验10的第一个实验

[复制链接]
发表于 2011-7-22 21:31:36 | 显示全部楼层 |阅读模式

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

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

x
自己敲出来的,中间遇到了一些问题,上来看了看其他同学的代码呵呵。不过我只是看了看思路。下面是我敲的代码

  1. assume cs:code
  2. data segment
  3. db 'Welcone to masm',0
  4. data ends
  5. stack segment
  6. db 16 dup (0)
  7. stack ends
  8. code segment
  9. start: mov ax,data
  10.        mov ds,ax
  11.     mov ax,0b800h
  12.     mov es,ax
  13.     mov ax,stack
  14.     mov ss,ax
  15.     mov sp,10h
  16.     mov dh,8    ;行数    0--24      
  17.     mov dl,30    ;列数    0---79   
  18.     mov cl,2       ;颜色     B8000H---Bffff
  19.     mov ch,0
  20.     mov si,0       ;数值的首地址
  21.   
  22.     mov al,dh         ;下面到CALL的代码都是行数和列数的运算
  23.     mov ah,0
  24.     mov dh,160
  25.     mul dh
  26.     mov bx,ax
  27.     mov al,dl
  28.     mov ah,0
  29.     mov dl,2
  30.     mul dl
  31.     mov di,ax
  32.     call show
  33.     mov ax,4c00h
  34.     int 21h
  35.    
  36. show: push cx
  37.     mov al,[si]   ; 把si内存的内容给AL
  38.     mov cl,al
  39.     jcxz ok     ;  循环到CX=0就跳转
  40.     mov es:[bx+di],al
  41.     pop cx
  42.     mov es:[bx+di+1],cl
  43.     inc si
  44.     add di,2
  45.     jmp short show
  46.    
  47.    ok: pop cx
  48.        ret
  49. code ends
  50. end start   
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-7-22 23:28:35 | 显示全部楼层
来看看,那个颜色的范围好像不是b8000-bffff吧,这应该是显存范围
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-7-22 23:39:01 | 显示全部楼层
没错额,b8000-bffff是显存的地址,但颜色也要在显存段中设置额,楼主是对的
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-7-2 11:13:03 | 显示全部楼层
看看老帖,支持下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-5 08:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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