首页
社区
课程
招聘
[旧帖] [求助] 请各位大侠.帮忙看看..如何解决. 0.00雪花
发表于: 2009-8-5 21:18 2447

[旧帖] [求助] 请各位大侠.帮忙看看..如何解决. 0.00雪花

2009-8-5 21:18
2447
;程序就是将一个数字输出在屏幕上的的小程序
;本人菜鸟,才学一个星期多一点,这是书上的一道小题目..将数字转换成字符串显示在屏幕上.但是我现在只能做到按照倒叙的方式显示..大哥们能不能帮我指点..怎么按照正序的方式输出.

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
mov dx,0
call dtoc       ;数字转换成字符串的子程序
mov dh,8  ;行
mov dl,3    ;列
mov ch,0
mov cl,2     ;颜色
call show_str   ;输出的子程序
mov ax,4c00h
int 21h

show_str:mov ax,0b800H
mov si,0
mov es,ax
mov di,0
mov ax,0
mov al,160
mul dh
push ax
mov ax,0
mov al,2
mul dl
push ax
pop di
pop ax
add di,ax
mov ah,cl
s:jcxz ok
mov cl,byte ptr ds:[si]
mov al,byte ptr ds:[si]
mov word ptr es:[di],ax
add si,1
add di,2
jmp short s
ok:ret

dtoc:jcxz ok1  ;判断商是否为0
mov bx,10      
div bx
add dl,30H     ;转换成字符串
mov byte ptr ds:[si],dl        
mov cx,ax            
add si,1
mov dx,0
jmp short dtoc
ok1: mov byte ptr ds:[si],0
ret

code ends
end start

各位大哥.我又遇到难题了.请各位大哥能否帮我改动一下我写的这个.让他能正序的输出12666

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 199
活跃值: (65)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
莫非没有人.帮助一下吗..我实在是想不出来啦.
2009-8-5 21:40
0
游客
登录 | 注册 方可回帖
返回
//