汇编语言(键盘接收十进制数X以十六进制显示Y按以下公式计算Y=X^2+X(X=3);X^2-2X(X=4);X^2(X=5);X^2/2(X=6)

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 01:11:42
汇编语言(键盘接收十进制数X以十六进制显示Y按以下公式计算Y=X^2+X(X=3);X^2-2X(X=4);X^2(X=5);X^2/2(X=6)

汇编语言(键盘接收十进制数X以十六进制显示Y按以下公式计算Y=X^2+X(X=3);X^2-2X(X=4);X^2(X=5);X^2/2(X=6)
汇编语言(键盘接收十进制数X以十六进制显示Y按以下公式计算Y=X^2+X(X=3);X^2-2X(X=4);X^2(X=5);X^2/2(X=6)

汇编语言(键盘接收十进制数X以十六进制显示Y按以下公式计算Y=X^2+X(X=3);X^2-2X(X=4);X^2(X=5);X^2/2(X=6)
;用汇编实现多位十六进制数相加
DATA SEGMENT ;高位在前,个位最后
x db 0,45h,21h,0ADh,0CBh,54h,59h,44h,55H ;4521ADCB54594455H
y db 0,45h,21h,0BAh,0DCh,78h,59h,44h,55H ;4521BADC78594455H
z db 9 dup (0);累加和存放区
DATA ENDS
;
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
mov ax,DATA
mov ds,ax
mov si,offset y
dec si ;SI 指向x的个位
mov di,offset z
add di,8 ;指向z的个位
clc
mov cx,9
next:
mov al,[si] ;逐位相加
adc al,[si+9]
mov [di],al ;保存一位和
dec si
dec di
loop next
mov ah,7 ;暂停
int 21h
mov ah,4ch ;返回DOS
int 21h
CODE ENDS
END START
;经与计算器验证,运行结果准确.
4521ADCB54594455H+4521BADC78594455H=8A4368A7CCB288AAh
>debug sadd.exe
-... ...
-d0
13DE:0000 00 45 21 AD CB 54 59 44-55 00 45 21 BA DC 78 59
13DE:0010 44 55 00 8A 43 68 A7-CC B2 88 AA 00 00 00 00 00