. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->CALL和RET指令
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  show_str 那个程序我直接copy  dtoc 怎么感觉不对  [已解决] 回复[ 6次 ]   点击[ 549次 ]  
xwill
[帖 主]   [ 发表时间:2011-08-19 23:51 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:7
注册日期:2011-06-09 10:21
assume cs:code 

data segment 
db 10 dup(0)
data ends 

stack segment
db 16 dup(0)
stack 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
mov ax,4c00h
int 21h
dtoc:
push dx
push bx
push ax
push cx
push es
push si

mov dx,0
mov bx,10;32位的除法运算
div bx 
mov cx,ax
jcxz dtoc_ok
add dx,30h
mov es:[si],dx
inc si
jmp short dtoc

dtoc_ok:
pop si
pop es
pop cx
pop ax
pop bx
pop dx
ret 

show_str:
push ax
push es
push dx
push bx
push si
push cx

mov ax,0b800h
mov es,ax;显存的段地址

dec dh
mov al,160
mul dh
mov bx,ax
dec dl
mov al,2
mul dl 
add bx,ax
mov dl,cl

s_show_str:
mov ch,0
mov cl,ds:[si]
jcxz ok
mov es:[bx],cl
mov es:[bx+1],dl
inc si
add bx,2
jmp s_show_str

ok:  
pop cx
pop si
pop bx
pop dx
pop es
pop ax
ret

code ends
end start
chinatree
[第1楼]   [ 回复时间:2011-08-20 07:49 ]   [引用]   [回复]   [ top ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
没有发现有什么问题。
xwill
[第2楼]   [ 回复时间:2011-08-20 17:08 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:7
注册日期:2011-06-09 10:21
为嘛我在自己的机子上弄不出来嘞
chinatree
[第3楼]   [ 回复时间:2011-08-20 17:18 ]   [引用]   [回复]   [ top ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
是编译不通过吗?还是达不到你想要的效果?
xwill
[第4楼]   [ 回复时间:2011-08-20 21:28 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:7
注册日期:2011-06-09 10:21
你在你的机子上可以顺利的编译而且最后显示么?我的只能生成exe 之后就显示不了
xwill
[第5楼]   [ 回复时间:2011-08-20 23:27 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:7
注册日期:2011-06-09 10:21
http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1011&qkSg=2&qID=62187
我修改后的帖子,希望看一下。
xwill
[第6楼]   [ 回复时间:2011-08-20 23:27 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:7
注册日期:2011-06-09 10:21
此贴由 贴主 于 [ 2011-08-20 23:27 ] 结贴。 结贴原因:问题已解决
得分情况: 1楼(chinatree):3分  
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved