一起创业网-为互联网创业者服务

宏程序乘法怎么输入

宏程序乘法可以通过以下步骤输入:

定义宏

完成两个操作数相乘,乘积在第3个操作数中。

编写一个简单的程序调用这个宏,完成从键盘输入数据的相乘及结果输出。

输入宏

使用 `input1` 宏输入第一个操作数 `x`。

使用 `input2` 宏输入第二个操作数 `y`。

执行宏

调用宏程序,计算 `x` 和 `y` 的乘积,并将结果存储在变量 `z` 中。

输出结果。

```assembly

DATAS SEGMENT

x db 2 dup(?)

y db 2 dup(?)

z dw ?

mess1 db 'Please enter two double digits, each ending with enter:',0ah,0dh,'$'

mess2 db 0ah,0dh,'result=$'

DATAS ENDS

STACKS SEGMENT

STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

MOV AX,DATAS

MOV DS,AX

; 输入第一个操作数 x

call input1

; 输入第二个操作数 y

call input2

; 计算乘积并存储在 z 中

MOV AX, [x]

MOV BX, [y]

MUL BX

MOV [z], AX

; 输出结果

lea dx, mess2

mov ah, 09h

int 21h

MOV AH, 4Ch

INT 21h

input1 macro opr1

mov cx, 1h

mov si, 0h

let1:

mov ah, 1h

int 21h

cmp al, 0dh

je let2

sub al, 30h

mov [opr1+si], al

inc si

jmp let1

let2:

loop let1

endm

input2 macro opr2

mov cx, 1h

mov si, 0h

let3:

mov ah, 1h

int 21h

cmp al, 0dh

je let4

sub al, 30h

mov [opr2+si], al

inc si

jmp let3

let4:

loop let3

endm

CODES ENDS

END START

```

在这个示例中,`input1` 和 `input2` 宏分别用于从键盘输入两个操作数,并将它们存储在 `x` 和 `y` 中。然后,程序计算 `x` 和 `y` 的乘积,并将结果存储在 `z` 中。最后,程序输出结果。

建议

确保在输入宏程序时,操作数 `x` 和 `y` 的类型和范围与预期一致。

在实际应用中,可以根据需要调整宏程序以适应不同的输入和输出需求。