汇编语言求解

qq_45822778 2019-11-07 02:17:44
data segment
num db 59,58,63,69,71,72,83,88,94,99
scoreE db ?
scoreD db ?
scoreC db ?
scoreB db ?
scoreA db ?
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov cx,10
mov si,0 again: mov sbyte ptr al,num[si]
.if al<60
jmp one

.elseif al>=60&&al<70
jmp two

.elseif al>=70&&al<80
jmp three

.elseif al>=80&&al<90
jmp four

.else
jmp five
.endif

one: add bl,al
inc si
loop again
jmp next two: add bh,al
inc si
loop again
jmp next
three: add ah,al
inc si
loop again
jmp next
four: add dl,al
inc si
loop again
jmp next
five: add dh,al
inc si
loop again
jmp nextnext: mov scoreE,bl
mov scoreD,bh
mov scoreC,ah
mov scoreB,dl
mov scoreA,dh
mov ah,4ch
int 21h
code ends
end start 软件提示说al符号没有定义,想问al符号要怎么定义?
...全文
140 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_45822778 2019-11-08
  • 打赏
  • 举报
回复
引用 7 楼 zara的回复:
后面的那些 add 改成 inc 了吗?
好了,谢谢大佬,非常感谢
zara 2019-11-07
  • 打赏
  • 举报
回复
后面的那些 add 改成 inc 了吗?
qq_45822778 2019-11-07
  • 打赏
  • 举报
回复
引用 5 楼 zara的回复:
可以吧,在循环圈前没有再使用过相关寄存器就可以。
加了还是没出正确结果
zara 2019-11-07
  • 打赏
  • 举报
回复
可以吧,在循环圈前没有再使用过相关寄存器就可以。
qq_45822778 2019-11-07
  • 打赏
  • 举报
回复
引用 3 楼 zara的回复:
判断后 add .., al 不对吧,看你的意思是统计个数,应该循环前将那些寄存器置 0,满足条件时 inc之。
在mov ds,ax后加上 mov ax,0 mov dx,0 mov bx,0行吗
zara 2019-11-07
  • 打赏
  • 举报
回复
判断后 add .., al 不对吧,看你的意思是统计个数,应该循环前将那些寄存器置 0,满足条件时 inc之。
qq_45822778 2019-11-07
  • 打赏
  • 举报
回复
引用 1 楼 早打大打打核战争的回复:
&&两侧加上空格
我五个变量里面存的东西好像有误,本应该存的都是2,然后我在分别赋给dl,dl再加30h,再显示出来
  • 打赏
  • 举报
回复
&&两侧加上空格

21,449

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧