|
主题 : : 实验10 第3题 程序运行正常 有没有优化的地方! 大家怎么作的发出来看一下 [待解决] |
回复[ 1次 ]
点击[ 381次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2010-11-23 22:53 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-04-08 17:43 |
assume cs:code,ds:data
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
mov ax,4c00H
int 21H
show_str:
push dx
push cx
push ax
push si
push es
push bx
mov ax,0b800H
mov es,ax
mov al,160
dec dh
mul dh
sub dh,dh
dec dl
add dl,dl
add ax,dx
mov bx,ax
mov dl,cl
s: mov ch,0
mov cl,[si]
jcxz s1
mov ch,dl
mov es:[bx],cx
inc si
add bx,2
jmp short s
s1: pop bx
pop es
pop si
pop ax
pop cx
pop dx
ret
dtoc: push cx
push ax
push bx
push dx
push si
push di
sub si,si
sub di,di
mov bx,0Ah
d: sub dx,dx
div bx
add dl,30H
push dx
inc di
mov cx,ax
jcxz d1
jmp short d
d1: mov cx,di
d2: pop dx
mov [si],dl
inc si
loop d2
mov byte ptr [si],0
pop si
pop di
pop dx
pop bx
pop ax
pop cx
ret
code ends
end start | | |
|
|
|
|
[第1楼]
[ 回复时间:2010-12-23 15:25 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-11-28 15:59 |
assume cs:code
data segment
db 'Welcome to masm!',0
data ends
code segment
start:
mov ax,data
mov ds,ax
mov si,0
mov dh,2
mov dl,3
mov cl,2
call show_str
mov ax,4c00h
int 21h
show_str:
push dx
push cx
push ax
push es
push di
push si
mov ax,0b800h
mov es,ax
mov al,160
mul dh
sub ax,160
mov di,ax
mov dh,0
mov al,2
mul dl
sub ax,2
add di,ax
mov ax,cx
mov cx,0
s:
mov cl,ds:[si]
jcxz goBack
mov es:[di],cl
mov es:[di+1],al
inc si
add di,2
inc cx
loop s
goBack:
pop si
pop di
pop es
pop ax
pop cx
pop dx
ret
code ends
end start
刚弄出来,头痛欲裂。 | | |
|