鱼C论坛

 找回密码
 立即注册
查看: 1639|回复: 1

[汇编作业] 高手请进 汇编语言二 王爽的

[复制链接]
发表于 2015-2-10 19:26:53 | 显示全部楼层 |阅读模式

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

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

x
;程序功能是将12666这个十进制数转化成前景色是绿色的字符串'12666'输出到dos窗口

assume cs:codesg
data segment
        db 16 dup (0)
data ends
codesg segment
        start:mov ax,12666
              mov bx,data
              mov ds,bx
              mov si,0
              call dtoc ;转到子程序,把原始数除10取余数,余数加30H就是所求字符串的其中一个字符,
                                            ;一直除到商为0,得到一个字符串,放到data段中

              mov dh,8
              mov dl,3
              mov cl,2
              call show_str ;转到子程序,将data段的字符串输出到屏幕

              mov ax,4c00h  ;退出程序
                          int 21h

                show_str:
                   mov ax,0B800h
                   mov es,ax
                   mov al,160
                   mul dh
                   mov di,0
                   add di,ax
                   add dl,dl
                   mov al,dl
                   mov ah,0
                   add di,ax
                   mov cx,10h
                   s:
                   mov al,[si]   
                   mov ah,00000010B
                   mov es:[di],ax
                   inc si
                   add di,2
                   loop s
                   ret

       dtoc:
           push bx  ;保存各寄存器的值
           push dx
           push ds
           push si

           s0:
              mov dx,0  ;这里不把dx清零会报错,为什么?  报这个错:Divide overflow??????-------------这是我的程序的问题:sad
              mov cx,10
              div cx      
              mov cx,ax

              add dx,30h
              mov ds:[si],dl
              inc si
              jcxz ok
              jmp s0

       ok:  pop si
            pop ds
            pop dx
            pop bx
            ret
codesg ends
end start


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-2-12 13:31:03 | 显示全部楼层
楼主你的问题是什么?我这边能显示,不过显示的数据是反的 QQ截图20150212133240.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-28 05:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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