汇编语言 求两个十六进制数的乘积,并以十六进制数显示DSEG \x05SEGMENT\x05TAB DB 0,1,2,3,4,5,6,7,8,9\x05RESULT DW 0DSEG \x05ENDSSSEG SEGMENT STACKSSEG ENDSCSEG \x05SEGMENT\x05ASSUME CS:CSEG,DS:DSEG,SS:SSEG\x05START:\x05MOV AX,DSEG

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/16 09:07:50
汇编语言 求两个十六进制数的乘积,并以十六进制数显示DSEG \x05SEGMENT\x05TAB DB 0,1,2,3,4,5,6,7,8,9\x05RESULT DW 0DSEG \x05ENDSSSEG SEGMENT STACKSSEG ENDSCSEG \x05SEGMENT\x05ASSUME CS:CSEG,DS:DSEG,SS:SSEG\x05START:\x05MOV AX,DSEG

汇编语言 求两个十六进制数的乘积,并以十六进制数显示DSEG \x05SEGMENT\x05TAB DB 0,1,2,3,4,5,6,7,8,9\x05RESULT DW 0DSEG \x05ENDSSSEG SEGMENT STACKSSEG ENDSCSEG \x05SEGMENT\x05ASSUME CS:CSEG,DS:DSEG,SS:SSEG\x05START:\x05MOV AX,DSEG
汇编语言 求两个十六进制数的乘积,并以十六进制数显示
DSEG \x05SEGMENT
\x05TAB DB 0,1,2,3,4,5,6,7,8,9
\x05RESULT DW 0
DSEG \x05ENDS
SSEG SEGMENT STACK
SSEG ENDS
CSEG \x05SEGMENT
\x05ASSUME CS:CSEG,DS:DSEG,SS:SSEG
\x05START:\x05MOV AX,DSEG
\x05\x05MOV DS,AX
\x05\x05LEA BX,TAB
\x05\x05MOV AH,01H ;输入第一个数
\x05\x05INT 21H
\x05\x05SUB AL,30H
\x05\x05XLAT
\x05\x05MOV DL,AL ;把第一个数保存到DL中
\x05\x05MOV AH,01H ;输入第二个数
\x05\x05INT 21H
\x05\x05SUB AL,30H
\x05\x05XLAT
\x05\x05MUL DL ;将两个数相乘,结果保存在AX中
\x05\x05MOV RESULT,AX ;把结果存到RESULT中
MOV CH,10
\x05\x05DIV CH
\x05\x05ADD AL,30H
\x05\x05CMP AL,9
\x05\x05JG NEXT1
\x05\x05MOV DL,AL
\x05\x05MOV CH,AH
\x05\x05MOV AH,02H
\x05\x05INT 21H
\x05\x05MOV DL,CH
\x05\x05ADD DL,30H
\x05\x05CMP DL,9
\x05\x05JG NEXT2
\x05\x05MOV AH,02H
\x05\x05INT 21H
\x05NEXT1 ADD AL,07H
NEXT2 ADD DL,07H
\x05\x05MOV AH,4CH
\x05\x05INT 21H
CSEG \x05ENDS
\x05END \x05START
这是我的代码,不过有错,该怎么改呢?

汇编语言 求两个十六进制数的乘积,并以十六进制数显示DSEG \x05SEGMENT\x05TAB DB 0,1,2,3,4,5,6,7,8,9\x05RESULT DW 0DSEG \x05ENDSSSEG SEGMENT STACKSSEG ENDSCSEG \x05SEGMENT\x05ASSUME CS:CSEG,DS:DSEG,SS:SSEG\x05START:\x05MOV AX,DSEG
有点麻烦,你要是输入十六进制的字符怎么处理,没考虑到吧 .