liuhui88126 发表于 2011-7-1 16:48:41

实验10,第三题,独立完成,显摆下

本帖最后由 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:,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: ;把当前数据段中的数据拿出比较,是否为0
            mov ch,0
            jcxz exit    ;为0跳
   add cl,30h;数据+30,转换12666ASCII码
            mov al,cl   ;数据放入AL
         pop cx   ;取出颜色值
         mov ah,cl   ;放入颜色值
   mov word ptr es:6,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
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>经测试,没问题>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
   

夜读金瓶梅 发表于 2011-7-1 20:19:10

我要晕了 你竟然用后面学的命令用在了实验10 为什么要设计这么复杂的代码 完全可以简化的啊:funk:

liuhui88126 发表于 2011-7-1 21:54:25

不是吧,我后面的还没学啊,我用到的都是之前的知识啊。你没弄错吧

libocdf 发表于 2011-7-2 06:57:26

我正好学到这里呢

lcj19890112 发表于 2011-7-2 08:35:30

我再咬牙坚持一下。。也会到第十章,也会编出漂亮的代码!!!

Y.H 发表于 2011-7-2 14:55:02

我证明的确没有用到不该用的只是(嘿嘿……) 全都是在那个实验之前的知识哦!

夜读金瓶梅 发表于 2011-7-2 20:10:00

牛比 转移指令理解的真透彻 是我看错了 楼主小弟深表歉意 内心惶恐不安 敬请谅解 :L

liuhui88126 发表于 2011-7-3 07:25:57

兄弟言重了,互相学习{:5_108:}

liuhui88126 发表于 2011-7-3 07:28:30

论坛数据是不是出问题了,我们的头像呢?

king嗜血法师 发表于 2011-7-4 03:14:59

我学破解,我只希望自己能读懂,暂时还不需要会写。:dizzy:

s0512 发表于 2012-11-6 11:08:49

不容易啊~~~呵呵

寒塘渡鹤影 发表于 2013-3-25 18:04:32

呵呵,,,,,,,,

寒塘渡鹤影 发表于 2013-3-25 18:05:08

楼主的帖子呵呵呵好怎么样?赶紧试试这里的快速回复给楼主点评论吧呵呵好

qq295143770 发表于 2013-4-30 17:13:26

真是难得给力的帖子啊。
页: [1]
查看完整版本: 实验10,第三题,独立完成,显摆下