一位BCD码的运算 把输入的ASCII码转换成相对应的十进制数把输入的ASCII码转换成相对应的十进制数后 进行算术运算.即:Z=(X+Y)+(X-1)*Y其中,X和Y市输入的一位数,最后显示Z的值我们的课后题 可是

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 17:58:24
一位BCD码的运算 把输入的ASCII码转换成相对应的十进制数把输入的ASCII码转换成相对应的十进制数后 进行算术运算.即:Z=(X+Y)+(X-1)*Y其中,X和Y市输入的一位数,最后显示Z的值我们的课后题 可是
xU[OA+cBRQ՘X 6 qm%Y̶t<iz!@>K4b_pvvJMLs3ePoTڝh6\6N͝'G\4 Vx 6p\i m!FT2NWPu/^*_r1I^YڗGn7_cz̞؆W fC?rĪ-?"`nI!x3:I$ g9 4 *ҧ*B~ƲT

一位BCD码的运算 把输入的ASCII码转换成相对应的十进制数把输入的ASCII码转换成相对应的十进制数后 进行算术运算.即:Z=(X+Y)+(X-1)*Y其中,X和Y市输入的一位数,最后显示Z的值我们的课后题 可是
一位BCD码的运算 把输入的ASCII码转换成相对应的十进制数
把输入的ASCII码转换成相对应的十进制数后 进行算术运算.即:Z=(X+Y)+(X-1)*Y
其中,X和Y市输入的一位数,最后显示Z的值
我们的课后题 可是没什么思路

一位BCD码的运算 把输入的ASCII码转换成相对应的十进制数把输入的ASCII码转换成相对应的十进制数后 进行算术运算.即:Z=(X+Y)+(X-1)*Y其中,X和Y市输入的一位数,最后显示Z的值我们的课后题 可是
调试通过!
DATAS SEGMENT
str1 db 'Input number:$'
str2 db 0dh,0ah,'$'
X db 0
Y db 0
Z db 0
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX

lea dx,str1 ;显示提示
mov ah,9
int 21h

mov ah,1
int 21h

sub al,30h
mov X,al

lea dx,str2 ;回车换行
mov ah,9
int 21h

lea dx,str1 ;显示提示
mov ah,9
int 21h

mov ah,1
int 21h

sub al,30h
mov Y,al

lea dx,str2 ;回车换行
mov ah,9
int 21h

mov dl,X
add dl,Y ;X+Y

mov al,X
dec al

mul Y

add al,dl
mov Z,al ;z=(x-1)*y

mov al,Z
mov ah,0
xor dx,dx
xor cx,cx
s1: ;转换为10进制并输出
mov bl,10
div bl
mov dl,ah
mov ah,0
push dx
inc cx
cmp al,0
jnz s1

s2:
pop dx
add dl,30h
mov ah,2
int 21h
loop s2

mov ah,0
int 16h
MOV AH,4CH
INT 21H
CODES ENDS
END START