最近,我正在编写程序集,并且我编写的程序在DOSBox下运行没有任何问题。现在,我需要使用DOS将同一程序移植到实际计算机中,但是会出现一些问题。
首先,在DOSBox下,我正在使用ML进行编译,但是在真正的PC上,一旦输入ML,它就会说:
该程序不能在DOS模式下运行。
因此,我一直在寻找一种解决方案,并发现MASM可以毫无问题地编译asm程序。不幸的是,我需要移植的程序在编译时报告严重错误(仅1种类型)。
错误A2061:段寄存器使用不当
出现这些问题的路线如下
...
CARLOC EQU $-2
...
MOV [WORD PTR DS:CARLOC],DX
...
Run Code Online (Sandbox Code Playgroud)
以下代码也会出现相同的问题
...
MOV ES,CX
MOV AL, [BYTE PTR ES:0017H]
...
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经尝试将BYTE PTR [ES:0017H]
产生相同错误的BYTE PTR更改为
并BYTE PTR ES:0017H
成功地在
其中编译了代码,该程序运行了但无法正常运行
注意:我不知道当前在哪种架构下工作。可能无法物理访问该计算机,但是如果我可以键入一些代码来查看屏幕上的信息,我将很高兴这样做。
代码在这里,如果我需要在这里粘贴它就太长了,然后确定,但是直到那时https://pastecode.xyz/view/5f332efc
PC说它运行MSDOS 6
我有这个代码:
// code above
checkBox1.Checked = false;
checkBox2.Checked = false;
checkBox3.Checked = false;
checkBox4.Checked = false;
checkBox5.Checked = false;
checkBox6.Checked = false;
checkBox7.Checked = false;
checkBox8.Checked = false;
checkBox9.Checked = false;
//code below
Run Code Online (Sandbox Code Playgroud)
我有 320 个复选框来设置清除/错误。
如何控制复选框(变量)?
我想做以下事情:
for (int counter=1; counter<321; counter++)
{
checkBox***Put counter Variable Here***.Checked = false;
}
Run Code Online (Sandbox Code Playgroud)