liuming1978 发表于 2024-1-5 20:51:45

实验9的问题

为什么我写的一闪而过,什么也不显示呢,就是抄的别人的代码,也是一闪而过,什么也没有,,为啥呀

FishC 发表于 2024-1-5 20:51:55

这个问题可能是由于程序执行速度过快导致的。以下是一种可能的解决方案:

在你的代码的最后加上一个`input()`语句,这样程序会在运行结束后等待用户输入才会退出。

# 你的代码
...

# 添加 input() 语句
input("按任意键继续...")

这样做的话,程序就会等待用户输入后才会退出,这样你就能够看到你的程序的输出结果了。

如果你对程序的运行速度不满意,也可以尝试在合适的地方添加`time.sleep()`函数,使程序执行过程中暂停一段时间。例如:

import time

# 你的代码
...

# 在合适的地方添加暂停时间
time.sleep(1)

# 添加 input() 语句
input("按任意键继续...")

这样,程序会在执行到`time.sleep(1)`处暂停1秒钟,然后再继续执行后续的代码。这样你就能够看到程序的输出结果了。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

liyifeng295641 发表于 2024-1-5 21:59:00

你可以把代码贴出来。

liuming1978 发表于 2024-1-5 22:06:31

liyifeng295641 发表于 2024-1-5 21:59
你可以把代码贴出来。

assume cs:code,ds:data,ss:stack
data segment
                        ;0123456789ABCDEF
                db        'welcome to masm!'        ;定义字符
                db        42h                                        ;定义色彩
data ends

stack segment
                dw        8 dup(0)
stack ends
               
code segment
start:        mov ax,data                ;数据从哪里来
                mov ds,ax
               
                mov sp,30h
                mov ax,0b800h        ;数据到哪里去
                mov es,ax
               
                mov bx,0                ;偏移量
                mov si,0
                mov di,0
               
                mov cx,16                ;循环次数
               
s:                mov dl,ds:
                mov es:,dl
                inc si
                inc di
                loop s

                mov ax,4c00h
                int 21h
code ends
end start               
               

liuming1978 发表于 2024-1-5 22:07:56

liuming1978 发表于 2024-1-5 22:06
assume cs:code,ds:data,ss:stack
data segment
                        ;0123456789ABCDEF


这个是我写的想简单测试一下,向显存内写入数据,成功的话,屏上应该显示出welcome to masm!
这串字符,

jackz007 发表于 2024-1-5 22:19:50

         你是在资源管理器里用鼠标双击程序文件执行的?这样操作是错误的。
         在 Windows 环境下,尤其是 Windows x64 的操作系统,你必须安装 DOSBox,必须在 CMD 的窗口内编译、连接、debug 或者运行程序,只有这样操作,你才能看到操作系统或者编译程序给你的错误信息提示,你才能知道你的代码在什么地方出问题了,应该怎么修改。
         

liuming1978 发表于 2024-1-5 22:23:17

jackz007 发表于 2024-1-5 22:19
你是在资源管理器里用鼠标双击程序文件执行的?这样操作是错误的。
         在 Windows 环境下 ...

我是win7 32位下运行的

liuming1978 发表于 2024-1-5 22:24:02

jackz007 发表于 2024-1-5 22:19
你是在资源管理器里用鼠标双击程序文件执行的?这样操作是错误的。
         在 Windows 环境下 ...

我也是在CMD下运行的,不行

jackz007 发表于 2024-1-5 22:39:32

本帖最后由 jackz007 于 2024-1-5 22:41 编辑

         你说 "不行" 的依据是什么?或者说,你究竟看到了什么?

liuming1978 发表于 2024-1-5 23:13:23

jackz007 发表于 2024-1-5 22:39
你说 "不行" 的依据是什么?或者说,你究竟看到了什么?

不行,就是在WIN7 32位下运行的CMD,也看不见,不过,这个问题我解决了,我在虚拟机里安装了一个XP,在XP里运行,就可以了
页: [1]
查看完整版本: 实验9的问题