assembly - 偏移量的汇编语言无效操作数
问题描述
嗨,我是一名计算机科学专业的学生,正在编写一个代码来输入 20 个姓名和等级,并用与字母等级相关的颜色显示它们。我遇到了两个类似的错误,想知道是否有人可以向我解释这个问题以及如何解决它。
这是代码:
INCLUDE Irvine32.inc
Student STRUCT
myName BYTE 26 DUP(00h)
myGrade BYTE 26 DUP(00h)
Student ENDS
.data
myClass Student 20 DUP(<>)
myNumber BYTE 3 DUP(00h)
nameQuestion BYTE "What is your name?",0dh,0ah,0
gradeQuestion BYTE "Please enter ",0
grade2Question BYTE "'s grade.",0dh,0ah,0
myName BYTE 26 DUP(00h)
myGrade BYTE 26 DUP(00h)
linebreak BYTE 0dh,0ah,0
comma BYTE ","
space BYTE " "
counter BYTE 0
.code
main PROC
R1: call Clrscr
mov edx,OFFSET nameQuestion
call WriteString
mov edx,OFFSET myName
mov ECX,26
mov eax, SIZEOF Student
mul myNumber
mov esi,eax
lea edx, (Student PTR myClass[esi]).myName
call ReadString
cmp eax, 00h
JE R2
call Clrscr
R3: mov edx,OFFSET gradeQuestion
call WriteString
mov edx,OFFSET myName
call WriteString
mov edx,OFFSET grade2Question
call WriteString
mov edx,OFFSET myGrade
mov ECX,26
mov eax, SIZEOF Student
mul myNumber
mov esi,eax
lea edx, (Student PTR myClass[esi]).myGrade
call ReadString
inc myNumber
L1: CMP myGrade, "A"
JE R5
CMP myGrade, "B"
JE R5
CMP myGrade, "C"
JE R5
CMP myGrade, "D"
JE R5
CMP myGrade, "F"
JE R5
R5: inc counter
CMP counter,20
JNE R1
R4: call Clrscr
mov dh,3
mov dl,5
call Gotoxy
mov eax, SIZEOF myClass
mul counter
mov esi, eax
91 lea edx, OFFSET (Student PTR myClass[esi]). myName
call WriteString
J1: mov eax, 07h
CMP myGrade, "D"
JNE J2
mov eax, 0Eh
J2: CMP myGrade, "F"
JNE J3
mov eax, 04h
J3: Call SetTextColor
mov dh,3
mov dl,32
call Gotoxy
mov eax, SIZEOF myClass
mul counter
mov esi, eax
112 lea edx, OFFSET (Student PTR myClass[esi]). myGrade
call WriteString
mov edx, OFFSET linebreak
call WriteString
mov eax, 07h
Call SetTextColor
call WaitMsg
jmp R1
R2: exit
main ENDP
END main
这是我收到的错误消息:
1>..\Code.asm(91): error A2071: initializer magnitude too large for specified size
1>..\Code.asm(91): error A2098: invalid operand for OFFSET
1>..\Code.asm(112): error A2098: invalid operand for OFFSET
解决方案
推荐阅读
- postgresql - Postgres pg_catalog 常量查找的策略
- javascript - 身体背景模糊功能无法普遍运作
- .net - 将 AllowAnonymousAttribute 与 Swashbuckle 一起使用
- html - 使用 rvest 抓取 - 无法识别 html 节点
- python - 对遗留的 Python 应用程序进行 docker 化
- regex - 正则表达式,路径的特定单词除外
- android - 如何超时 requestLocationUpdates?
- node.js - Docker 容器中的 Nodemon
- dart - 子类应该继承 Dart 中的私有 mixin 变量吗?
- php - 我可以将 XAMPP 服务器链接到 Github 吗?