《汇编语言》实验十 即17课作业代码
本帖最后由 sosonemo 于 2010-12-28 20:42 编辑没看17课之前先写的代码,没有使用cmp和条件跳转指令,按书上的思想写出来的。assume cs:code
data segment
db 10 dup(0)
data ends
stack segment
db 30 dup(0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,30
mov ax,12666 ;(ax)=word型数据
mov bx,data
mov ds,bx
mov si,0 ;ds:si指向字符串
call dtoc
mov si,0
mov dh,12 ;行(0开始)
mov dl,12 ;列(0开始)
mov cl,00100100b ;属性
call show_str
mov ax,4c00h
int 21h
dtoc:
push cx
push dx
push di
mov di,0
s1: mov cx,10
mov dx,0
div cx ;ax=1266dx=6
add dx,30h
push dx
inc di
mov cx,ax
jcxz ok
jmp s1
ok:
mov cx,di
s2: pop word ptr
inc si
loop s2
pop di
pop dx
pop cx
ret
show_str:
push ax
push dx
push cx
push bx
push es
mov ax,0b800h
mov es,ax
mov al,160
mul dh
mov bx,ax ;计算行
mov al,2
mul dl
add bx,ax ;行+列,即首地址
mov dh,cl
mov ch,0
s: mov cl,
jcxz ok1
mov es:,cl
mov es:,dh
inc si
add bx,2
jmp s
ok1:
pop es
pop bx
pop cx
pop dx
pop ax
ret
code ends
end start
页:
[1]