【菜鸟】想在第一行显示一个字符,哪里错了?在debug里-e b800:0 55 2又可以

时间:2023-01-04 14:23:26
assume cs:code
code segment
start:
    mov ax,0b800h
    mov es,ax
    mov al,55
    mov ah,2
    mov es:[0],al
    mov es:[1],ah

    mov ax,4c00h
    int 21h
code ends

end start

7 个解决方案

#1


debug 之后在运行它应该是可以的吧,只有不是在屏幕的最后一行了否则会因屏幕滚动而消失的;debug 之前不行的话,应该是 Windows 命令行下的显示兼容性问题吧,全屏或虚拟机里的纯 dos 应该就不会有问题的。

#2


代码看上去没有问题

#3


引用 1 楼  的回复:
debug 之后在运行它应该是可以的吧,只有不是在屏幕的最后一行了否则会因屏幕滚动而消失的;debug 之前不行的话,应该是 Windows 命令行下的显示兼容性问题吧,全屏或虚拟机里的纯 dos 应该就不会有问题的。


仔细看了发现debug的时候确实出现位置不对的现象。直接执行则无任何反应。
那怎么办?我的是32位win7系统

#4


引用 3 楼  的回复:
引用 1 楼 的回复:
debug 之后在运行它应该是可以的吧,只有不是在屏幕的最后一行了否则会因屏幕滚动而消失的;debug 之前不行的话,应该是 Windows 命令行下的显示兼容性问题吧,全屏或虚拟机里的纯 dos 应该就不会有问题的。


仔细看了发现debug的时候确实出现位置不对的现象。直接执行则无任何反应。
那怎么办?我的是32位win7系统


装个虚拟机吧

#5


在你的代码最开头加上
mov ax,7
int 10h

#6


不要在WIN7下面测试,在XP下面测试正常. 很多显示的测试在WIN7下面看不到结果.

#7


es的偏移地址加个160就出来了

#1


debug 之后在运行它应该是可以的吧,只有不是在屏幕的最后一行了否则会因屏幕滚动而消失的;debug 之前不行的话,应该是 Windows 命令行下的显示兼容性问题吧,全屏或虚拟机里的纯 dos 应该就不会有问题的。

#2


代码看上去没有问题

#3


引用 1 楼  的回复:
debug 之后在运行它应该是可以的吧,只有不是在屏幕的最后一行了否则会因屏幕滚动而消失的;debug 之前不行的话,应该是 Windows 命令行下的显示兼容性问题吧,全屏或虚拟机里的纯 dos 应该就不会有问题的。


仔细看了发现debug的时候确实出现位置不对的现象。直接执行则无任何反应。
那怎么办?我的是32位win7系统

#4


引用 3 楼  的回复:
引用 1 楼 的回复:
debug 之后在运行它应该是可以的吧,只有不是在屏幕的最后一行了否则会因屏幕滚动而消失的;debug 之前不行的话,应该是 Windows 命令行下的显示兼容性问题吧,全屏或虚拟机里的纯 dos 应该就不会有问题的。


仔细看了发现debug的时候确实出现位置不对的现象。直接执行则无任何反应。
那怎么办?我的是32位win7系统


装个虚拟机吧

#5


在你的代码最开头加上
mov ax,7
int 10h

#6


不要在WIN7下面测试,在XP下面测试正常. 很多显示的测试在WIN7下面看不到结果.

#7


es的偏移地址加个160就出来了