|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- assume cs:codesg,ds:datasg,ss:stacksg
- stacksg 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 ;[0,24]行
- mov dl,79 ;[0,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:[si]
- jcxz ok
- mov es:[di],cl
- inc di
- mov byte ptr es:[di],bl
- inc di
- inc si
- jmp loop1
- ok:
- ret
- codesg ends
- end start
复制代码
用以上的代码在指定位置显示字符串
明明在debug时算出的偏移地址是正确的,但还是要加上A0h才能正常显示
并且最底端一行不管加不加0Ah都无法正常显示
请问如何解决
|
|