. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->CALL和RET指令
主题 : :  show_str 那个程序我直接copy  dtoc 怎么感觉不对  [已解决] 回复[ 6次 ]   点击[ 550次 ]  
xwill
[帖 主] [ 发表时间:2011-08-19 23:51 ] 
荣誉值: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
xwill
[第4楼] [ 回复时间:2011-08-20 21:28 ] 
荣誉值:0
信誉值:7
注册日期:2011-06-09 10:21
你在你的机子上可以顺利的编译而且最后显示么?我的只能生成exe 之后就显示不了
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved