鱼C论坛

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

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

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

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

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

x
本帖最后由 liuhui88126 于 2011-7-1 16:49 编辑

  1. ;>>>>编程,将数据12666以十进制的形式在屏幕的8行3列,用绿色显示出>>>>>>>>>>>>>>>>>>>>>>>>
  2. assume cs:code
  3. data segment
  4.         db 10 dup (0)
  5. data ends
  6. code segment
  7.         start:mov ax,12666
  8.               mov bx,data
  9.               mov ds,bx
  10.               mov si,0
  11.               call dtoc
  12.               mov dh,8
  13.               mov dl,3
  14.               mov cl,2
  15.               call show_str
  16.          dtoc:mov si,1  ;第一个内存单元下面有用,所以设置从第二个开始存放数据
  17.      
  18.   ck:   mov bx,10  ;如果用8位除数的话,结果为1266,AL放不下,导致除法溢出,所以要用16位除数
  19.               mov dx,0   ;高16位被除数清空
  20.      div bx  ;除法
  21.               mov bl,dl  ;余数放入BL
  22.               mov cx,bx  ;判断余数是否为0
  23.               jcxz ok  ;跳转
  24.               mov byte ptr ds:[si],dl ;不为0的话就存
  25.               inc si
  26.               loop ck
  27.             ok:ret
  28.                
  29.      show_str:push cx  ;保护CL的值
  30.            mov ax,0b800h  
  31.               mov es,ax
  32.               mov di,0
  33.      mov al,160 ;数据显示区
  34.      mul dh  
  35.      mov bx,ax  ;数据显示
  36.            cd:mov cl,ds:[si] ;把当前数据段中的数据拿出比较,是否为0
  37.               mov ch,0
  38.               jcxz exit    ;为0跳
  39.      add cl,30h  ;数据+30,转换12666  ASCII码
  40.               mov al,cl   ;数据放入AL
  41.            pop cx   ;取出颜色值
  42.            mov ah,cl   ;放入颜色值
  43.      mov word ptr es:6[bx][di],ax ;显示
  44.      add di,2
  45.      dec si   ;逆序一个一个比较,到了第一个的时候,数据是为0的,就说明结束了,这就是为什么上面要mov si,1的原因了。
  46.      push cx
  47.      jmp short cd
  48.    exit:mov ax,4c00h
  49.      int 21h
  50. code ends
  51. end start
  52. ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>经测试,没问题>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  53.      
复制代码

评分

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

查看全部评分

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

本版积分规则

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

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

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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