assume cs:code
data segment
db 16 dup (0)
db 16 dup (0)
data ends
stack segment
db 16 dup (0)
stack ends
code segment
start: mov ax,15923
mov bx,data
mov ds,bx
mov si,0
mov bp,0
mov di,0
call dtoc
mov cx,bp
s1: mov al,[si]
mov 10h.[di],al
inc di
add si,0ffffh
loop s1
mov si,0
mov bp,cx
s2: mov al,10h.[si]
mov [si],al
inc si
loop s2
mov dh,8
mov dl,3
mov cx,2
mov ax,data
mov ds,ax
mov si,0
mov di,0
mov ax,stack
mov ss,ax
mov sp,16
mov ss:[0],cl
call show_str
mov ax,4c00h
int 21h
dtoc: mov dx,0
mov cx,0ah
div cx
mov cx,dx
jcxz ko
inc bp
add dx,30h
mov [si],dl
inc si
jmp short dtoc
ko: add si,0ffffh
ret
show_str:
push dx
mov ax,0b800h
mov es,ax
mov al,0a0h
sub dh,1
mul dh
mov bx,ax
mov ax,0
sub dl,1
mov al,dl
mov dl,2
mul dl
mov dh,0
add bx,ax
mov cl,[si]
mov ch,0
jcxz ok
mov cl,ss:[0]
mov al,[si]
mov es:[bx+di],al
mov al,cl
mov es:[bx+di].1,al
add di,2
inc si
pop dx
jmp short show_str
ok:pop dx
ret
code ends
end start
- [fpamc] 嗯哼~做出来了就不错! 08/14 07:04
- [fpamc] 整数倍的是:(n/16)*16 最终合成为。[(n+15)/16]*16 具体怎么算的我不知 08/02 08:31
- [zhangbo0805] name segment .... name ends 在这段中存入N字节数据,最终得到的 08/01 19:46
- [zhangbo0805] 噢 原来是这样,真好! 08/01 10:44
- [fpamc] 对的, 08/01 09:29
- [fpamc] 恩,这个要弄清楚的。 08/01 09:21
- [fpamc] 这个论坛没有版主。也可以说人人都是版主,管理自己。互相帮助同学。这样,论坛才能持久下去。 08/01 09:20
- [zhangbo0805] 嗯 这个思路就比较清晰了。fpamc 您好!你是版主吗?我发现到处都有你的身影!! 07/31 23:29
- [fpamc] 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为(00010H)到(1000FH) 07/31 09:42
- [fpamc] 不错不错。 07/31 09:36