分析下面程序完成的计算??

[复制链接]
查看11 | 回复1 | 2010-5-16 17:34:11 | 显示全部楼层 |阅读模式
DATA SEGMENT
A DB 11
B DB 22
C DB 33
D DW 2DUP(0)
DATA ENDS
STACK SEGMENT
DB 200 DUP(0)
CODE SEGMENT
ASSUME DS:DATA,SS:STACK,CS:CODE
START:MOV AX,DATA

MOV DS,AX

MOV AX,A

IMUL,B

MOV CX,AX

MOV BX,DX

MOV AX,C CWD

ADD AX,CX

ADC,DX,BX

SUB AX,60

SBB DX,0

IDIV A

MOV D,AX

MOV D+2,DX

MOV AH,4CH

INT 21H

CODE ENDS

END START

回复

使用道具 举报

千问 | 2010-5-16 17:34:11 | 显示全部楼层
这程序有错误吧,1、A是字节型的,MOV AX,A类型不匹配2、IMUL,B这句多了个“,”3、MOV AX,C CWD这句中的CWD是什么?应该去掉吧。去掉的话,MOV AX,C ;类型不匹配4、ADC,DX,BX;多了逗号,adc后面的逗号去掉应该是完成(A*B+C-60)/A。不过程序应该改成这样,小写的部分是改过的。DATA SEGMENTA Dw 11B Dw 22C Dw 33D DW 2 DUP(0)DATA ENDSSTACK SEGMENTDB 200 DUP(0)CODE SEGMENTASSUME DS:DATA,SS:STACK,CS:COD
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行