鱼C论坛

 找回密码
 立即注册
查看: 3771|回复: 13

[技术交流] 实验10,第三题,独立完成,显摆下

[复制链接]
发表于 2011-7-1 16:48:41 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 liuhui88126 于 2011-7-1 16:49 编辑
 ;>>>>编程,将数据12666以十进制的形式在屏幕的8行3列,用绿色显示出>>>>>>>>>>>>>>>>>>>>>>>>
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:mov si,1  ;第一个内存单元下面有用,所以设置从第二个开始存放数据
     
  ck:   mov bx,10  ;如果用8位除数的话,结果为1266,AL放不下,导致除法溢出,所以要用16位除数
              mov dx,0   ;高16位被除数清空
     div bx  ;除法
              mov bl,dl  ;余数放入BL
              mov cx,bx  ;判断余数是否为0
              jcxz ok  ;跳转
              mov byte ptr ds:[si],dl ;不为0的话就存
              inc si
              loop ck
            ok:ret
               
     show_str:push cx  ;保护CL的值
           mov ax,0b800h  
              mov es,ax
              mov di,0
     mov al,160 ;数据显示区
     mul dh  
     mov bx,ax  ;数据显示
           cd:mov cl,ds:[si] ;把当前数据段中的数据拿出比较,是否为0
              mov ch,0
              jcxz exit    ;为0跳
     add cl,30h  ;数据+30,转换12666  ASCII码
              mov al,cl   ;数据放入AL
           pop cx   ;取出颜色值
           mov ah,cl   ;放入颜色值
     mov word ptr es:6[bx][di],ax ;显示
     add di,2
     dec si   ;逆序一个一个比较,到了第一个的时候,数据是为0的,就说明结束了,这就是为什么上面要mov si,1的原因了。
     push cx 
     jmp short cd
   exit:mov ax,4c00h
     int 21h
code ends
end start
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>经测试,没问题>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
china0008 + 1 + 1 赞一个!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-1 20:19:10 | 显示全部楼层
我要晕了 你竟然用后面学的命令用在了实验10 为什么要设计这么复杂的代码 完全可以简化的啊:funk:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-1 21:54:25 | 显示全部楼层
不是吧,我后面的还没学啊,我用到的都是之前的知识啊。你没弄错吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-2 06:57:26 | 显示全部楼层
我正好学到这里呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-2 08:35:30 | 显示全部楼层
我再咬牙坚持一下。。也会到第十章,也会编出漂亮的代码!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-2 14:55:02 | 显示全部楼层
我证明的确没有用到不该用的只是(嘿嘿……) 全都是在那个实验之前的知识哦!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-2 20:10:00 | 显示全部楼层
牛比 转移指令理解的真透彻 是我看错了 楼主小弟深表歉意 内心惶恐不安 敬请谅解 :L
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-3 07:25:57 | 显示全部楼层
兄弟言重了,互相学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-3 07:28:30 | 显示全部楼层
论坛数据是不是出问题了,我们的头像呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-4 03:14:59 | 显示全部楼层
我学破解,我只希望自己能读懂,暂时还不需要会写。:dizzy:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-11-6 11:08:49 | 显示全部楼层
不容易啊~~~呵呵
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-25 18:04:32 | 显示全部楼层
呵呵,,,,,,,,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-25 18:05:08 | 显示全部楼层
楼主的帖子呵呵呵好怎么样?赶紧试试这里的快速回复给楼主点评论吧呵呵好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-4-30 17:13:26 | 显示全部楼层
真是难得给力的帖子啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-10-7 20:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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