小编Ank*_*kur的帖子

MASM:如何解决 8086 编程中的立即模式非法?

我正在解决汇编语言编程的一个基本问题,以添加 BCD 数字和两个 ASCII 数字, 为此我必须分别使用DAA 和 AAA指令,现在我正在尝试将存储在 AX 寄存器中的结果存储到我想要的内存中位置,但不明白为什么下面的代码给我错误立即模式非法 下面是我到目前为止编码的代码,请帮助我如何消除这个错误 PS:我想将我的结果移动到我需要的内存位置只是没有任何特殊用途的寄存器

ASSUME CS:CODE,DS:DATA
DATA SEGMENT
DATA ENDS
CODE SEGMENT
START:
 MOV AX,0000H
 MOV DS,AX
 MOV AL,59
 MOV BL,35
 ADD AL,BL
 DAA
 MOV CX,0000
 MOV ES,CX
 MOV [0000],AX
 MOV AL,04
 MOV BL,05
 ADD AL,BL
 AAA
 MOV CX,0000
 MOV ES,CX
 MOV [0010],AX
 MOV AH,04CH
 INT 21H
CODE ENDS
END START
Run Code Online (Sandbox Code Playgroud)

assembly dos masm addressing-mode x86-16

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

三种类型的数组列表声明之间有什么区别,为什么我们先编写接口然后在另一端实现类?

我是 Java 的初学者。我有两个基本问题。

  1. 当我们将数组列表的声明写为

    1. List l=new ArrayList<String>();
    2. List<String> l=new ArrayList<String>();
    3. List<String> l=new ArrayList<>();

    我看到以上所有陈述都没有给出任何错误。当我们选择其中一种方法来声明任何集合时,它会产生什么不同?

  2. 当我们将集合初始化为

    1. List<String>l = new ArrayList<String>();

    所以如果我们像下面这样声明

    1. ArrayList<String> l= new ArrayList<String>();

    1 和 2 有什么区别,为什么我们在使用集合时主要选择 2?

java

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

标签 统计

addressing-mode ×1

assembly ×1

dos ×1

java ×1

masm ×1

x86-16 ×1