帮忙改一下异常啊为什么运行结果总是不对呢
发布时间:2010-06-14 15:51:48 文章来源:www.iduyao.cn 采编人员:星星草
帮忙改一下错误啊,为什么运行结果总是不对呢?
6) 从键盘上接收一位十进制数X,计算Y值,并以十六进制形式显示出来,Y按下列公式计算。
X²+X(X=3)
Y = X²-2X(X=4)
X²(X=5)
X²/2(X=6)
DATA SEGMENT
X DB ?
TABLE DW L0, L1, L2, L3, L4,L5, L6, L7
DATA ENDS
STACK1 SEGMENT PARA STACK
DW 20H DUP(0)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV AH,01H
INT 21H
CMP AL,33H
JB L0
CMP AL,36H
JA L0
AND AL,0FH
MOV X,AL
SUB AL,3
SHL AL,1
XOR AH,AH
LEA BX,TABLE
ADD BX,AX
JMP [BX]
L1:MOV AL,X
MUL AL
ADD AL,X
JMP L5
L2:MOV AL,X
MUL AL
SUB AL,X
SUB AL,X
JMP L5
L3:MOV AL,X
MUL AL
JMP L5
L4:MOV AL,X
MUL AL
MOV CL,1
SHR AL,CL
JMP L5
L5:MOV BL,AL
MOV CL,4
SHR AL,CL
CMP AL,9
JBE L6
ADD AL,7
L6:ADD AL,30H
MOV AH,2
MOV DL,AL
INT 21H
AND BL,0FH
CMP BL, 9
JBE L7
ADD BL, 7
L7:ADD BL,36H
MOV DL,BL
INT 21H
L0: MOV AH,4CH
INT 21H
CODE ENDS
END START
------解决方案--------------------
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
MSN通讯协议逆向
MSN 进行数据通讯中,据说用了TWN认证,通过SSL/TLS连接到login.passport.com和 loginnet.passportr.com 等服务器。
...
-
win7+64位cpu的exe反汇编问题,多次问人,无果
vs20008写的一个很简单的c++控制台程序
平台是:win7 64位操作系统
用od进行反汇编,...
-
可能很白痴的问题:想给ax赋一个负数怎么做?
比如想要赋一个-5给ax,是不是只有求出这个-5的补码,然后mov进这个补码这一种方法?
------...
-
居然显示不出负数来,悲剧
Assembly code
.386
.model flat,stdcall
include kernel32.inc
includelib kernel32.lib
include ms...
-
call far ptr '标号'的问题[在线等答案]
为什么ax会是1010?不是1006??求详细解答
难道call far ptr不是执行了push cs,push ip,jm...
-
CPU的程序计数器PC和指令指针寄存器IP是一个东西吗?
看上去好像功能完全一样,又觉得不应该是一回事,求教
------解决方案----------...
-
菜鸟问题,高人来帮忙
编程,统计data段中数值为8的字节的个数,用ax保存结果
我的代码
Assembly code
assume cs:code,ds:data
data se...
-
一个死循环问题
什么原因造成内循环才刚循环一次还没完,到了loop s1的时候cx突然变成F?
Assembly code
assume cs:codesg,ds:datas...
-
初学MUL乘法指令,写法求解释下
MUL r8/m8 ;无符号字节乘:AX←AL×r8/m8
MUL r16/m16 ;无符号字乘:DX.AX←AX×r16/...
-
汇编如何 取到8051的P0口的内容呢?
Assembly code
ORG 0000H
AJMP START
ORG 0030H
START: MOV P0,#00H
LOOP: ...