小编Tri*_*iak的帖子

汇编器使用段寄存器

最近,我正在编写程序集,并且我编写的程序在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

x86 assembly masm

2
推荐指数
2
解决办法
74
查看次数

使用变量控制 C# 复选框

我有这个代码:

// 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)

c# checkbox

1
推荐指数
1
解决办法
2666
查看次数

标签 统计

assembly ×1

c# ×1

checkbox ×1

masm ×1

x86 ×1