Assembly 组装错误A2071:初始值设定项大小对于特定大小太大
因此,我对组装非常、非常陌生,我们学校有一项任务,要用计算机完成这项功能: z=x^2*y-16 4-y 我曾使用MASM尝试并编译它,以确定它是否有效,但我一直收到一个错误,错误2071:初始值设定值大小对于指定的大小太大 我的代码是:Assembly 组装错误A2071:初始值设定项大小对于特定大小太大,assembly,compiler-errors,masm,Assembly,Compiler Errors,Masm,因此,我对组装非常、非常陌生,我们学校有一项任务,要用计算机完成这项功能: z=x^2*y-16 4-y 我曾使用MASM尝试并编译它,以确定它是否有效,但我一直收到一个错误,错误2071:初始值设定值大小对于指定的大小太大 我的代码是: title Assignment3_JoelCatterall.asm .model small .stack 100h .data include const.inc x dw ? y dw ? z dw ? ntrfir db
title Assignment3_JoelCatterall.asm
.model small
.stack 100h
.data
include const.inc
x dw ?
y dw ?
z dw ?
ntrfir db 'Enter first number $'
ntrsec db cr, lf, 'Enter second number $'
pntequ db cr, lf, 'The point (', x, ', ', y, ') is $'
.code
extrn getint: proc, putint: proc
main proc
; -- initalize DS
mov ax, @data
mov ds, ax
;write "Enter first number"
mov ah, dispstr
mov dx, offset ntrfir
int dosfunc
; read x
call getint
mov x, ax
;write cr, lf, 'Enter second number'
mov ah, dispstr
mov dx, offset ntrfir
int dosfunc
; read y
call getint
mov y, ax;
; z (x,y) = x^2 * y - 16 * (4 - y)
mov ax, x
imul x
imul y
mov cx, ax
mov ax, 16
mov bx, 4
sub bx, y
imul ax
sub cx, bx
mov z, cx
; write cr, lf, 'The point(x, y) is :'
mov ah, dispstr
mov dx, offset pntequ
int dosfunc
mov ax, z
call putint
; return -- to DOS
mov ah, ret2dos
int dosfunc
main endp
end main
将在以下位置提示错误:
pntequ db cr, lf, 'The point (', x, ', ', y, ') is $'
我试图将db更改为dw或dd,但随后收到错误:
错误A2084:常量值太大
就像我说的,我对这个很陌生,所以你提供的任何帮助或信息都会有很大的帮助!
谢谢 对于db。。。使用而不是“…”