关于显示字符串的问题
assume cs:codesg,ds:datasg,ss:stacksgstacksg segment
dw 10 dup(0)
stacksg ends
datasg segment
db 'Welcome to masm!',0
datasg ends
codesg segment
start:
mov ax,datasg
mov ds,ax
mov ax,stacksg
mov ss,ax
mov sp,10
mov si,0
mov dh,0 ;行
mov dl,79 ;列
mov cl,01001001b
call show_str
mov ax,4c00h
int 21h
show_str:
mov bl,cl
mov ax,0B800h
mov es,ax
mov al,160
mul dh
add dl,dl
mov dh,0
add ax,dx
add ax,160 ;这里要加上160
mov di,ax
mov ch,0
loop1:
mov cl,ds:
jcxz ok
mov es:,cl
inc di
mov byte ptr es:,bl
inc di
inc si
jmp loop1
ok:
ret
codesg ends
end start
用以上的代码在指定位置显示字符串
明明在debug时算出的偏移地址是正确的,但还是要加上A0h才能正常显示
并且最底端一行不管加不加0Ah都无法正常显示
请问如何解决 同样的代码,我这边效果是这样的
F:\tools\asmtools\1.png
在debug时,明明加0Ah之前的偏移地址就是正确的,但要加0Ah才能得到正确的结果,否则行数总是差1 F:\tools\asmtools\1.png Co27Ti22 发表于 2018-6-28 18:12
同样的代码,我这边效果是这样的
在debug时,明明加0Ah之前的偏移地址就是正确的,但要加0Ah才能得到正 ...
图片发不了,但总之结果就是在第一行行尾开始显示 效果就是这样 Co27Ti22 发表于 2018-6-28 18:42
效果就是这样
先执行一条命令
cls 感谢
正确了
那把行号设置成24时为什么无法显示呢 Co27Ti22 发表于 2018-6-28 19:42
那把行号设置成24时为什么无法显示呢
截图,还有代码
人造人 发表于 2018-6-28 19:56
截图,还有代码
抱歉,已经没有问题了 Co27Ti22 发表于 2018-6-29 11:54
抱歉,已经没有问题了
W都没显示出来{:5_94:}
页:
[1]